From 8b3295e881b16f1061658fbc998ab91b83b6fdde Mon Sep 17 00:00:00 2001 From: Mark Brown Date: Mon, 14 Apr 2008 15:27:30 +0200 Subject: [PATCH] --- yaml --- r: 92205 b: refs/heads/master c: 87b57fe2d3fb1ce33671b944db9a4cbe0cd065ea h: refs/heads/master i: 92203: 1bb6db0a26db0f1ea1f797e77753c2babcf810d7 v: v3 --- [refs] | 2 +- trunk/sound/soc/codecs/wm9713.c | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 7342d57e7ec7..0988d9234979 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a295e09e89d227506ae6c0a58e1cb6359c0cda1c +refs/heads/master: 87b57fe2d3fb1ce33671b944db9a4cbe0cd065ea diff --git a/trunk/sound/soc/codecs/wm9713.c b/trunk/sound/soc/codecs/wm9713.c index e3174c4d980d..1f241161445c 100644 --- a/trunk/sound/soc/codecs/wm9713.c +++ b/trunk/sound/soc/codecs/wm9713.c @@ -1132,8 +1132,17 @@ static int wm9713_soc_suspend(struct platform_device *pdev, { struct snd_soc_device *socdev = platform_get_drvdata(pdev); struct snd_soc_codec *codec = socdev->codec; + u16 reg; + + /* Disable everything except touchpanel - that will be handled + * by the touch driver and left disabled if touch is not in + * use. */ + reg = ac97_read(codec, AC97_EXTENDED_MID); + ac97_write(codec, AC97_EXTENDED_MID, reg | 0x7fff); + ac97_write(codec, AC97_EXTENDED_MSTATUS, 0xffff); + ac97_write(codec, AC97_POWERDOWN, 0x6f00); + ac97_write(codec, AC97_POWERDOWN, 0xffff); - wm9713_dapm_event(codec, SNDRV_CTL_POWER_D3cold); return 0; }