aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2014-09-02 16:20:30 -0400
committerMark Brown <broonie@kernel.org>2014-09-03 14:26:25 -0400
commitb43cfb245f7346cbb25c1919577d9607d2adb974 (patch)
tree141ed9181294b64c82770ad68df3c3f3bf2dfe39
parent7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9 (diff)
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>
-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)
1454 return 0; 1454 return 0;
1455} 1455}
1456 1456
1457static int adau1373_suspend(struct snd_soc_codec *codec)
1458{
1459 struct adau1373 *adau1373 = snd_soc_codec_get_drvdata(codec);
1460 int ret;
1461
1462 ret = adau1373_set_bias_level(codec, SND_SOC_BIAS_OFF);
1463 regcache_cache_only(adau1373->regmap, true);
1464
1465 return ret;
1466}
1467
1468static int adau1373_resume(struct snd_soc_codec *codec) 1457static int adau1373_resume(struct snd_soc_codec *codec)
1469{ 1458{
1470 struct adau1373 *adau1373 = snd_soc_codec_get_drvdata(codec); 1459 struct adau1373 *adau1373 = snd_soc_codec_get_drvdata(codec);
1471 1460
1472 regcache_cache_only(adau1373->regmap, false);
1473 adau1373_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
1474 regcache_sync(adau1373->regmap); 1461 regcache_sync(adau1373->regmap);
1475 1462
1476 return 0; 1463 return 0;
@@ -1502,7 +1489,6 @@ static const struct regmap_config adau1373_regmap_config = {
1502static struct snd_soc_codec_driver adau1373_codec_driver = { 1489static struct snd_soc_codec_driver adau1373_codec_driver = {
1503 .probe = adau1373_probe, 1490 .probe = adau1373_probe,
1504 .remove = adau1373_remove, 1491 .remove = adau1373_remove,
1505 .suspend = adau1373_suspend,
1506 .resume = adau1373_resume, 1492 .resume = adau1373_resume,
1507 .set_bias_level = adau1373_set_bias_level, 1493 .set_bias_level = adau1373_set_bias_level,
1508 .idle_bias_off = true, 1494 .idle_bias_off = true,