diff mbox

[4/5] ASoC: wm8804: Remove unnecessary suspend/resume bias level changes

Message ID 1409689234-14774-5-git-send-email-lars@metafoo.de (mailing list archive)
State Accepted
Commit a7edeba4cbbd0f3d22d6d54da7c507bda29b2658
Headers show

Commit Message

Lars-Peter Clausen Sept. 2, 2014, 8:20 p.m. UTC
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.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
 sound/soc/codecs/wm8804.c | 19 -------------------
 1 file changed, 19 deletions(-)

Comments

Charles Keepax Sept. 3, 2014, 8:21 a.m. UTC | #1
On Tue, Sep 02, 2014 at 10:20:33PM +0200, Lars-Peter Clausen wrote:
> 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.
> 
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
> ---

Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>

Thanks,
Charles
diff mbox

Patch

diff --git a/sound/soc/codecs/wm8804.c b/sound/soc/codecs/wm8804.c
index 0ea01df..3addc5f 100644
--- a/sound/soc/codecs/wm8804.c
+++ b/sound/soc/codecs/wm8804.c
@@ -518,23 +518,6 @@  static int wm8804_set_bias_level(struct snd_soc_codec *codec,
 	return 0;
 }
 
-#ifdef CONFIG_PM
-static int wm8804_suspend(struct snd_soc_codec *codec)
-{
-	wm8804_set_bias_level(codec, SND_SOC_BIAS_OFF);
-	return 0;
-}
-
-static int wm8804_resume(struct snd_soc_codec *codec)
-{
-	wm8804_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
-	return 0;
-}
-#else
-#define wm8804_suspend NULL
-#define wm8804_resume NULL
-#endif
-
 static int wm8804_remove(struct snd_soc_codec *codec)
 {
 	struct wm8804_priv *wm8804;
@@ -671,8 +654,6 @@  static struct snd_soc_dai_driver wm8804_dai = {
 static struct snd_soc_codec_driver soc_codec_dev_wm8804 = {
 	.probe = wm8804_probe,
 	.remove = wm8804_remove,
-	.suspend = wm8804_suspend,
-	.resume = wm8804_resume,
 	.set_bias_level = wm8804_set_bias_level,
 	.idle_bias_off = true,