summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/adau1373.c
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2014-09-02 22:20:30 +0200
committerMark Brown <broonie@kernel.org>2014-09-03 20:26:25 +0200
commitb43cfb245f7346cbb25c1919577d9607d2adb974 (patch)
tree141ed9181294b64c82770ad68df3c3f3bf2dfe39 /sound/soc/codecs/adau1373.c
parentLinux 3.17-rc1 (diff)
downloadlinux-b43cfb245f7346cbb25c1919577d9607d2adb974.tar.xz
linux-b43cfb245f7346cbb25c1919577d9607d2adb974.zip
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: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/codecs/adau1373.c')
-rw-r--r--sound/soc/codecs/adau1373.c14
1 files changed, 0 insertions, 14 deletions
diff --git a/sound/soc/codecs/adau1373.c b/sound/soc/codecs/adau1373.c
index 1ff7d4d027e9..194756549ef4 100644
--- a/sound/soc/codecs/adau1373.c
+++ b/sound/soc/codecs/adau1373.c
@@ -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,