Commit 640b796f authored by Guennadi Liakhovetski's avatar Guennadi Liakhovetski Committed by Mark Brown

ASoC: remove bogus SLEEP mode from wm8978 driver

Tests showed, that bit 6 of the WM8978_POWER_MANAGEMENT_2 register of wm8978
affects codec clocks. Being useless for suspend / resume, it cannot be used in
bias-level control either. Remove this bit handling.
Signed-off-by: default avatarGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 9f5b64b7
...@@ -873,8 +873,6 @@ static int wm8978_suspend(struct platform_device *pdev, pm_message_t state) ...@@ -873,8 +873,6 @@ static int wm8978_suspend(struct platform_device *pdev, pm_message_t state)
wm8978_set_bias_level(codec, SND_SOC_BIAS_OFF); wm8978_set_bias_level(codec, SND_SOC_BIAS_OFF);
/* Also switch PLL off */ /* Also switch PLL off */
snd_soc_write(codec, WM8978_POWER_MANAGEMENT_1, 0); snd_soc_write(codec, WM8978_POWER_MANAGEMENT_1, 0);
/* Put to sleep */
snd_soc_write(codec, WM8978_POWER_MANAGEMENT_2, 0x40);
return 0; return 0;
} }
...@@ -887,9 +885,6 @@ static int wm8978_resume(struct platform_device *pdev) ...@@ -887,9 +885,6 @@ static int wm8978_resume(struct platform_device *pdev)
int i; int i;
u16 *cache = codec->reg_cache; u16 *cache = codec->reg_cache;
/* Wake up the codec */
snd_soc_write(codec, WM8978_POWER_MANAGEMENT_2, 0);
/* Sync reg_cache with the hardware */ /* Sync reg_cache with the hardware */
for (i = 0; i < ARRAY_SIZE(wm8978_reg); i++) { for (i = 0; i < ARRAY_SIZE(wm8978_reg); i++) {
if (i == WM8978_RESET) if (i == WM8978_RESET)
......
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