]> git.karo-electronics.de Git - linux-beck.git/commitdiff
ASoC: adau1373: Remove unnecessary suspend/resume bias level changes
authorLars-Peter Clausen <lars@metafoo.de>
Tue, 2 Sep 2014 20:20:30 +0000 (22:20 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 3 Sep 2014 18:26:25 +0000 (19:26 +0100)
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: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/adau1373.c

index 1ff7d4d027e932e9c20f8841bf09b89f210e6635..194756549ef482097af451c9c6bcf3e6faf3e882 100644 (file)
@@ -1454,23 +1454,10 @@ static int adau1373_remove(struct snd_soc_codec *codec)
        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)
 {
        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);
 
        return 0;
@@ -1502,7 +1489,6 @@ static const struct regmap_config adau1373_regmap_config = {
 static struct snd_soc_codec_driver adau1373_codec_driver = {
        .probe =        adau1373_probe,
        .remove =       adau1373_remove,
-       .suspend =      adau1373_suspend,
        .resume =       adau1373_resume,
        .set_bias_level = adau1373_set_bias_level,
        .idle_bias_off = true,