Commit b43cfb24 authored by Lars-Peter Clausen's avatar Lars-Peter Clausen Committed by Mark Brown

ASoC: adau1373: Remove unnecessary suspend/resume bias level changes

The ASoC core will only call the suspend/resume callbacks when the device's
DAPM context is idle. Since this driver sets idle_bias_off to true this
means that the device is already in SND_SOC_BIAS_OFF when the suspend
callback is called, so there is no need to manually set this state again.
There is also no need to go to SND_SOC_BIAS_STANDBY in the resume callback
since the core will go right back to SND_SOC_BIAS_OFF.

Also drop the regcache_cache_only() calls from the suspend and resume
handlers. There shouldn't be any IO happening after suspend and before
resume.
Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 7d1311b9
...@@ -1454,23 +1454,10 @@ static int adau1373_remove(struct snd_soc_codec *codec) ...@@ -1454,23 +1454,10 @@ static int adau1373_remove(struct snd_soc_codec *codec)
return 0; return 0;
} }
static int adau1373_suspend(struct snd_soc_codec *codec)
{
struct adau1373 *adau1373 = snd_soc_codec_get_drvdata(codec);
int ret;
ret = adau1373_set_bias_level(codec, SND_SOC_BIAS_OFF);
regcache_cache_only(adau1373->regmap, true);
return ret;
}
static int adau1373_resume(struct snd_soc_codec *codec) static int adau1373_resume(struct snd_soc_codec *codec)
{ {
struct adau1373 *adau1373 = snd_soc_codec_get_drvdata(codec); struct adau1373 *adau1373 = snd_soc_codec_get_drvdata(codec);
regcache_cache_only(adau1373->regmap, false);
adau1373_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
regcache_sync(adau1373->regmap); regcache_sync(adau1373->regmap);
return 0; return 0;
...@@ -1502,7 +1489,6 @@ static const struct regmap_config adau1373_regmap_config = { ...@@ -1502,7 +1489,6 @@ static const struct regmap_config adau1373_regmap_config = {
static struct snd_soc_codec_driver adau1373_codec_driver = { static struct snd_soc_codec_driver adau1373_codec_driver = {
.probe = adau1373_probe, .probe = adau1373_probe,
.remove = adau1373_remove, .remove = adau1373_remove,
.suspend = adau1373_suspend,
.resume = adau1373_resume, .resume = adau1373_resume,
.set_bias_level = adau1373_set_bias_level, .set_bias_level = adau1373_set_bias_level,
.idle_bias_off = true, .idle_bias_off = true,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment