diff options
Diffstat (limited to 'sound/soc')
-rw-r--r-- | sound/soc/codecs/wm9713.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/sound/soc/codecs/wm9713.c b/sound/soc/codecs/wm9713.c index e3174c4d980d..1f241161445c 100644 --- a/sound/soc/codecs/wm9713.c +++ b/sound/soc/codecs/wm9713.c | |||
@@ -1132,8 +1132,17 @@ static int wm9713_soc_suspend(struct platform_device *pdev, | |||
1132 | { | 1132 | { |
1133 | struct snd_soc_device *socdev = platform_get_drvdata(pdev); | 1133 | struct snd_soc_device *socdev = platform_get_drvdata(pdev); |
1134 | struct snd_soc_codec *codec = socdev->codec; | 1134 | struct snd_soc_codec *codec = socdev->codec; |
1135 | u16 reg; | ||
1136 | |||
1137 | /* Disable everything except touchpanel - that will be handled | ||
1138 | * by the touch driver and left disabled if touch is not in | ||
1139 | * use. */ | ||
1140 | reg = ac97_read(codec, AC97_EXTENDED_MID); | ||
1141 | ac97_write(codec, AC97_EXTENDED_MID, reg | 0x7fff); | ||
1142 | ac97_write(codec, AC97_EXTENDED_MSTATUS, 0xffff); | ||
1143 | ac97_write(codec, AC97_POWERDOWN, 0x6f00); | ||
1144 | ac97_write(codec, AC97_POWERDOWN, 0xffff); | ||
1135 | 1145 | ||
1136 | wm9713_dapm_event(codec, SNDRV_CTL_POWER_D3cold); | ||
1137 | return 0; | 1146 | return 0; |
1138 | } | 1147 | } |
1139 | 1148 | ||