]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.8-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 5 Apr 2013 18:07:16 +0000 (11:07 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 5 Apr 2013 18:07:16 +0000 (11:07 -0700)
added patches:
asoc-dma-sh7760-fix-compile-error.patch
asoc-imx-ssi-fix-occasional-ac97-reset-failure.patch
asoc-spear_pcm-update-to-new-pcm_new-api.patch

queue-3.8/asoc-dma-sh7760-fix-compile-error.patch [new file with mode: 0644]
queue-3.8/asoc-imx-ssi-fix-occasional-ac97-reset-failure.patch [new file with mode: 0644]
queue-3.8/asoc-spear_pcm-update-to-new-pcm_new-api.patch [new file with mode: 0644]
queue-3.8/series [new file with mode: 0644]

diff --git a/queue-3.8/asoc-dma-sh7760-fix-compile-error.patch b/queue-3.8/asoc-dma-sh7760-fix-compile-error.patch
new file mode 100644 (file)
index 0000000..83a7202
--- /dev/null
@@ -0,0 +1,45 @@
+From 417a1178f1bf3cdc606376b3ded3a22489fbb3eb Mon Sep 17 00:00:00 2001
+From: Lars-Peter Clausen <lars@metafoo.de>
+Date: Fri, 15 Mar 2013 11:26:15 +0100
+Subject: ASoC: dma-sh7760: Fix compile error
+
+From: Lars-Peter Clausen <lars@metafoo.de>
+
+commit 417a1178f1bf3cdc606376b3ded3a22489fbb3eb upstream.
+
+The dma-sh7760 currently fails with the following compile error:
+       sound/soc/sh/dma-sh7760.c:346:2: error: unknown field 'pcm_ops' specified in initializer
+       sound/soc/sh/dma-sh7760.c:346:2: warning: initialization from incompatible pointer type
+       sound/soc/sh/dma-sh7760.c:347:2: error: unknown field 'pcm_new' specified in initializer
+       sound/soc/sh/dma-sh7760.c:347:2: warning: initialization makes integer from pointer without a cast
+       sound/soc/sh/dma-sh7760.c:348:2: error: unknown field 'pcm_free' specified in initializer
+       sound/soc/sh/dma-sh7760.c:348:2: warning: initialization from incompatible pointer type
+       sound/soc/sh/dma-sh7760.c: In function 'sh7760_soc_platform_probe':
+       sound/soc/sh/dma-sh7760.c:353:2: warning: passing argument 2 of 'snd_soc_register_platform' from incompatible pointer type
+       include/sound/soc.h:368:5: note: expected 'struct snd_soc_platform_driver *' but argument is of type 'struct snd_soc_platform *'
+
+This is due the misnaming of the snd_soc_platform_driver type name and 'ops'
+field. The issue was introduced in commit f0fba2a("ASoC: multi-component - ASoC
+Multi-Component Support").
+
+Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
+Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/soc/sh/dma-sh7760.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/sound/soc/sh/dma-sh7760.c
++++ b/sound/soc/sh/dma-sh7760.c
+@@ -342,8 +342,8 @@ static int camelot_pcm_new(struct snd_so
+       return 0;
+ }
+-static struct snd_soc_platform sh7760_soc_platform = {
+-      .pcm_ops        = &camelot_pcm_ops,
++static struct snd_soc_platform_driver sh7760_soc_platform = {
++      .ops            = &camelot_pcm_ops,
+       .pcm_new        = camelot_pcm_new,
+       .pcm_free       = camelot_pcm_free,
+ };
diff --git a/queue-3.8/asoc-imx-ssi-fix-occasional-ac97-reset-failure.patch b/queue-3.8/asoc-imx-ssi-fix-occasional-ac97-reset-failure.patch
new file mode 100644 (file)
index 0000000..e8295d4
--- /dev/null
@@ -0,0 +1,39 @@
+From b6e51600f4e983e757b1b6942becaa1ae7d82e67 Mon Sep 17 00:00:00 2001
+From: Sascha Hauer <s.hauer@pengutronix.de>
+Date: Sun, 10 Mar 2013 19:33:03 +0100
+Subject: ASoC: imx-ssi: Fix occasional AC97 reset failure
+
+From: Sascha Hauer <s.hauer@pengutronix.de>
+
+commit b6e51600f4e983e757b1b6942becaa1ae7d82e67 upstream.
+
+Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
+Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
+Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/soc/fsl/imx-ssi.c |    5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/sound/soc/fsl/imx-ssi.c
++++ b/sound/soc/fsl/imx-ssi.c
+@@ -496,6 +496,8 @@ static void imx_ssi_ac97_reset(struct sn
+       if (imx_ssi->ac97_reset)
+               imx_ssi->ac97_reset(ac97);
++      /* First read sometimes fails, do a dummy read */
++      imx_ssi_ac97_read(ac97, 0);
+ }
+ static void imx_ssi_ac97_warm_reset(struct snd_ac97 *ac97)
+@@ -504,6 +506,9 @@ static void imx_ssi_ac97_warm_reset(stru
+       if (imx_ssi->ac97_warm_reset)
+               imx_ssi->ac97_warm_reset(ac97);
++
++      /* First read sometimes fails, do a dummy read */
++      imx_ssi_ac97_read(ac97, 0);
+ }
+ struct snd_ac97_bus_ops soc_ac97_ops = {
diff --git a/queue-3.8/asoc-spear_pcm-update-to-new-pcm_new-api.patch b/queue-3.8/asoc-spear_pcm-update-to-new-pcm_new-api.patch
new file mode 100644 (file)
index 0000000..eda705d
--- /dev/null
@@ -0,0 +1,58 @@
+From 59d9cc2a5073ab4b8c8f8bdbacf230a538abc55d Mon Sep 17 00:00:00 2001
+From: Lars-Peter Clausen <lars@metafoo.de>
+Date: Mon, 18 Mar 2013 18:57:23 +0100
+Subject: ASoC: spear_pcm: Update to new pcm_new() API
+
+From: Lars-Peter Clausen <lars@metafoo.de>
+
+commit 59d9cc2a5073ab4b8c8f8bdbacf230a538abc55d upstream.
+
+Commit 552d1ef6 ("ASoC: core - Optimise and refactor pcm_new() to pass only
+rtd") updated the pcm_new() callback to take the rtd as the only parameter. The
+spear PCM driver (which was merged much later) still uses the old API. This
+patch updates the driver to the new API.
+
+Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
+Acked-by: Rajeev Kumar <rajeev-dlh.kumar@st.com>
+Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/soc/spear/spear_pcm.c |   12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+--- a/sound/soc/spear/spear_pcm.c
++++ b/sound/soc/spear/spear_pcm.c
+@@ -149,9 +149,9 @@ static void spear_pcm_free(struct snd_pc
+ static u64 spear_pcm_dmamask = DMA_BIT_MASK(32);
+-static int spear_pcm_new(struct snd_card *card,
+-              struct snd_soc_dai *dai, struct snd_pcm *pcm)
++static int spear_pcm_new(struct snd_soc_pcm_runtime *rtd)
+ {
++      struct snd_card *card = rtd->card->snd_card;
+       int ret;
+       if (!card->dev->dma_mask)
+@@ -159,16 +159,16 @@ static int spear_pcm_new(struct snd_card
+       if (!card->dev->coherent_dma_mask)
+               card->dev->coherent_dma_mask = DMA_BIT_MASK(32);
+-      if (dai->driver->playback.channels_min) {
+-              ret = spear_pcm_preallocate_dma_buffer(pcm,
++      if (rtd->cpu_dai->driver->playback.channels_min) {
++              ret = spear_pcm_preallocate_dma_buffer(rtd->pcm,
+                               SNDRV_PCM_STREAM_PLAYBACK,
+                               spear_pcm_hardware.buffer_bytes_max);
+               if (ret)
+                       return ret;
+       }
+-      if (dai->driver->capture.channels_min) {
+-              ret = spear_pcm_preallocate_dma_buffer(pcm,
++      if (rtd->cpu_dai->driver->capture.channels_min) {
++              ret = spear_pcm_preallocate_dma_buffer(rtd->pcm,
+                               SNDRV_PCM_STREAM_CAPTURE,
+                               spear_pcm_hardware.buffer_bytes_max);
+               if (ret)
diff --git a/queue-3.8/series b/queue-3.8/series
new file mode 100644 (file)
index 0000000..3cafb35
--- /dev/null
@@ -0,0 +1,3 @@
+asoc-imx-ssi-fix-occasional-ac97-reset-failure.patch
+asoc-dma-sh7760-fix-compile-error.patch
+asoc-spear_pcm-update-to-new-pcm_new-api.patch