From fc54b9bf158eea9cae647ce2c58f7d9989af173a Mon Sep 17 00:00:00 2001 From: mirko Date: Fri, 12 Dec 2008 11:58:53 +0000 Subject: changed Makefile and profiles, added patches for kernel 2.6.24 (stable-branch of Openmoko) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13613 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../1005-asoc-core-suspend_resume.patch.patch | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 target/linux/s3c24xx/patches-2.6.24/1005-asoc-core-suspend_resume.patch.patch (limited to 'target/linux/s3c24xx/patches-2.6.24/1005-asoc-core-suspend_resume.patch.patch') diff --git a/target/linux/s3c24xx/patches-2.6.24/1005-asoc-core-suspend_resume.patch.patch b/target/linux/s3c24xx/patches-2.6.24/1005-asoc-core-suspend_resume.patch.patch new file mode 100644 index 000000000..6f0f08616 --- /dev/null +++ b/target/linux/s3c24xx/patches-2.6.24/1005-asoc-core-suspend_resume.patch.patch @@ -0,0 +1,52 @@ +From 3ebb4e58d6f7a9f2710a4e174a3c8b59f9fa9bd5 Mon Sep 17 00:00:00 2001 +From: mokopatches +Date: Fri, 1 Jun 2007 12:56:55 +0100 +Subject: [PATCH] asoc-core-suspend_resume.patch + From 6c868238a5e083dca4d74439a7fd467b5c7726b0 Mon Sep 17 00:00:00 2001 + Subject: [PATCH] This fixes a bug whereby PCM's were not being suspended when the rest of the audio subsystem was suspended. + +--- + include/sound/soc.h | 3 +++ + sound/soc/soc-core.c | 5 +++++ + 2 files changed, 8 insertions(+), 0 deletions(-) + +diff --git a/include/sound/soc.h b/include/sound/soc.h +index f47ef1f..aedb348 100644 +--- a/include/sound/soc.h ++++ b/include/sound/soc.h +@@ -410,6 +410,9 @@ struct snd_soc_dai_link { + + /* codec/machine specific init - e.g. add machine controls */ + int (*init)(struct snd_soc_codec *codec); ++ ++ /* DAI pcm */ ++ struct snd_pcm *pcm; + }; + + /* SoC machine */ +diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c +index e6a67b5..25f7818 100644 +--- a/sound/soc/soc-core.c ++++ b/sound/soc/soc-core.c +@@ -639,6 +639,10 @@ static int soc_suspend(struct platform_device *pdev, pm_message_t state) + dai->dai_ops.digital_mute(dai, 1); + } + ++ /* suspend all pcm's */ ++ for(i = 0; i < machine->num_links; i++) ++ snd_pcm_suspend_all(machine->dai_link[i].pcm); ++ + if (machine->suspend_pre) + machine->suspend_pre(pdev, state); + +@@ -873,6 +877,7 @@ static int soc_new_pcm(struct snd_soc_device *socdev, + return ret; + } + ++ dai_link->pcm = pcm; + pcm->private_data = rtd; + soc_pcm_ops.mmap = socdev->platform->pcm_ops->mmap; + soc_pcm_ops.pointer = socdev->platform->pcm_ops->pointer; +-- +1.5.6.5 + -- cgit v1.2.3