ASoC: ak4458: Disable regulator when error happens
Disable regulator in runtime resume when error happens to balance
the reference count of regulator.
Fixes: 7e3096e8f8 ("ASoC: ak4458: Add regulator support")
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Link: https://patch.msgid.link/20251203100529.3841203-2-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
pull/1354/merge
parent
2b69bee5a2
commit
ae585fabb9
|
|
@ -671,7 +671,15 @@ static int ak4458_runtime_resume(struct device *dev)
|
||||||
regcache_cache_only(ak4458->regmap, false);
|
regcache_cache_only(ak4458->regmap, false);
|
||||||
regcache_mark_dirty(ak4458->regmap);
|
regcache_mark_dirty(ak4458->regmap);
|
||||||
|
|
||||||
return regcache_sync(ak4458->regmap);
|
ret = regcache_sync(ak4458->regmap);
|
||||||
|
if (ret)
|
||||||
|
goto err;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
err:
|
||||||
|
regcache_cache_only(ak4458->regmap, true);
|
||||||
|
regulator_bulk_disable(ARRAY_SIZE(ak4458->supplies), ak4458->supplies);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct snd_soc_component_driver soc_codec_dev_ak4458 = {
|
static const struct snd_soc_component_driver soc_codec_dev_ak4458 = {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue