diff options
author | Richard Purdie <richard@openedhand.com> | 2008-02-20 12:23:38 +0000 |
---|---|---|
committer | Richard Purdie <richard@openedhand.com> | 2008-02-20 12:23:38 +0000 |
commit | 210c9450c17721fea5855aad45be875cbf18e8fa (patch) | |
tree | 9b41abc6bc624be901b4408f22488e3c5c9ddfca /meta/packages/linux/linux-openmoko/soc-core-suspend.patch | |
parent | 7fdad729b213c2da4299aa2c03d4b677bf244a9b (diff) | |
download | poky-210c9450c17721fea5855aad45be875cbf18e8fa.tar.gz |
linux-openmoko: Add input subsys -> APM bridge and tweak power driver key events
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3831 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/linux/linux-openmoko/soc-core-suspend.patch')
-rw-r--r-- | meta/packages/linux/linux-openmoko/soc-core-suspend.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/meta/packages/linux/linux-openmoko/soc-core-suspend.patch b/meta/packages/linux/linux-openmoko/soc-core-suspend.patch new file mode 100644 index 0000000000..7fb6cc7f7a --- /dev/null +++ b/meta/packages/linux/linux-openmoko/soc-core-suspend.patch | |||
@@ -0,0 +1,47 @@ | |||
1 | From 6c868238a5e083dca4d74439a7fd467b5c7726b0 Mon Sep 17 00:00:00 2001 | ||
2 | From: Liam Girdwood <liam@localhost.localdomain> | ||
3 | Date: Fri, 1 Jun 2007 12:56:55 +0100 | ||
4 | Subject: [PATCH] This fixes a bug whereby PCM's were not being suspended when the rest of the audio subsystem was suspended. | ||
5 | |||
6 | --- | ||
7 | include/sound/soc.h | 3 +++ | ||
8 | sound/soc/soc-core.c | 8 ++++++++ | ||
9 | 2 files changed, 11 insertions(+), 0 deletions(-) | ||
10 | |||
11 | Index: linux-2.6.22/include/sound/soc.h | ||
12 | =================================================================== | ||
13 | --- linux-2.6.22.orig/include/sound/soc.h 2007-07-09 00:32:17.000000000 +0100 | ||
14 | +++ linux-2.6.22/include/sound/soc.h 2007-11-09 16:13:08.000000000 +0000 | ||
15 | @@ -411,6 +411,9 @@ | ||
16 | |||
17 | /* codec/machine specific init - e.g. add machine controls */ | ||
18 | int (*init)(struct snd_soc_codec *codec); | ||
19 | + | ||
20 | + /* DAI pcm */ | ||
21 | + struct snd_pcm *pcm; | ||
22 | }; | ||
23 | |||
24 | /* SoC machine */ | ||
25 | Index: linux-2.6.22/sound/soc/soc-core.c | ||
26 | =================================================================== | ||
27 | --- linux-2.6.22.orig/sound/soc/soc-core.c 2007-07-09 00:32:17.000000000 +0100 | ||
28 | +++ linux-2.6.22/sound/soc/soc-core.c 2007-11-09 16:18:45.000000000 +0000 | ||
29 | @@ -639,6 +639,10 @@ | ||
30 | dai->dai_ops.digital_mute(dai, 1); | ||
31 | } | ||
32 | |||
33 | + /* suspend all pcm's */ | ||
34 | + for(i = 0; i < machine->num_links; i++) | ||
35 | + snd_pcm_suspend_all(machine->dai_link[i].pcm); | ||
36 | + | ||
37 | if (machine->suspend_pre) | ||
38 | machine->suspend_pre(pdev, state); | ||
39 | |||
40 | @@ -873,6 +877,7 @@ | ||
41 | return ret; | ||
42 | } | ||
43 | |||
44 | + dai_link->pcm = pcm; | ||
45 | pcm->private_data = rtd; | ||
46 | soc_pcm_ops.mmap = socdev->platform->pcm_ops->mmap; | ||
47 | soc_pcm_ops.pointer = socdev->platform->pcm_ops->pointer; | ||