summaryrefslogtreecommitdiffstats
path: root/sound/soc/soc-core.c
diff options
context:
space:
mode:
authorLiam Girdwood <lg@opensource.wolfsonmicro.com>2008-01-10 14:38:24 +0100
committerJaroslav Kysela <perex@perex.cz>2008-01-31 17:29:50 +0100
commit3c1c47e0eb92264d555003ee2003f836e432615b (patch)
treee8db15488a910779ca6c1d131f19af9b8985f0b8 /sound/soc/soc-core.c
parenta7a4ac86b4754f44eb06221f3087debb4775d588 (diff)
downloadlinux-stable-3c1c47e0eb92264d555003ee2003f836e432615b.tar.gz
linux-stable-3c1c47e0eb92264d555003ee2003f836e432615b.tar.bz2
linux-stable-3c1c47e0eb92264d555003ee2003f836e432615b.zip
[ALSA] soc - Add D1 power event to power down event sequence
Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Diffstat (limited to 'sound/soc/soc-core.c')
-rw-r--r--sound/soc/soc-core.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index e748b00466b7..7d51be8ee069 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -287,6 +287,14 @@ static void close_delayed_work(struct work_struct *work)
/* are we waiting on this codec DAI stream */
if (codec_dai->pop_wait == 1) {
+ /* power down the codec to D1 if no longer active */
+ if (codec->active == 0) {
+ dbg("pop wq D1 %s %s\n", codec->name,
+ codec_dai->playback.stream_name);
+ snd_soc_dapm_device_event(socdev,
+ SNDRV_CTL_POWER_D1);
+ }
+
codec_dai->pop_wait = 0;
snd_soc_dapm_stream_event(codec,
codec_dai->playback.stream_name,