summaryrefslogtreecommitdiff
path: root/packages/linux/linux-davinci-2.6.28/davinci-sffsdr/0006-ALSA-ASoC-DaVinci-Fix-SFFSDR-compilation-error.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/linux/linux-davinci-2.6.28/davinci-sffsdr/0006-ALSA-ASoC-DaVinci-Fix-SFFSDR-compilation-error.patch')
-rw-r--r--packages/linux/linux-davinci-2.6.28/davinci-sffsdr/0006-ALSA-ASoC-DaVinci-Fix-SFFSDR-compilation-error.patch65
1 files changed, 65 insertions, 0 deletions
diff --git a/packages/linux/linux-davinci-2.6.28/davinci-sffsdr/0006-ALSA-ASoC-DaVinci-Fix-SFFSDR-compilation-error.patch b/packages/linux/linux-davinci-2.6.28/davinci-sffsdr/0006-ALSA-ASoC-DaVinci-Fix-SFFSDR-compilation-error.patch
new file mode 100644
index 0000000..bb03490
--- /dev/null
+++ b/packages/linux/linux-davinci-2.6.28/davinci-sffsdr/0006-ALSA-ASoC-DaVinci-Fix-SFFSDR-compilation-error.patch
@@ -0,0 +1,65 @@
+From 590c788288e545ef74b77129bc8f747b5365f5d3 Mon Sep 17 00:00:00 2001
+From: Hugo Villeneuve <hugo@hugovil.com>
+Date: Thu, 15 Jan 2009 15:40:35 -0500
+Subject: [PATCH 06/12] ALSA: ASoC: DaVinci: Fix SFFSDR compilation error.
+
+Remove dependency on sffsdr_fpga_set_codec_fs() when the
+SFFSDR FPGA module is not selected.
+
+Signed-off-by: Hugo Villeneuve <hugo@hugovil.com>
+---
+ sound/soc/davinci/davinci-sffsdr.c | 20 +++++++++++++++++---
+ 1 files changed, 17 insertions(+), 3 deletions(-)
+
+diff --git a/sound/soc/davinci/davinci-sffsdr.c b/sound/soc/davinci/davinci-sffsdr.c
+index 1bbde3e..afb61bf 100644
+--- a/sound/soc/davinci/davinci-sffsdr.c
++++ b/sound/soc/davinci/davinci-sffsdr.c
+@@ -25,7 +25,9 @@
+ #include <asm/gpio.h>
+ #include <asm/dma.h>
+ #include <asm/mach-types.h>
++#ifdef CONFIG_SFFSDR_FPGA
+ #include <asm/plat-sffsdr/sffsdr-fpga.h>
++#endif
+
+ #include <mach/asp.h>
+ #include <mach/edma.h>
+@@ -42,6 +44,17 @@ static int sffsdr_hw_params(struct snd_pcm_substream *substream,
+ int fs;
+ int ret = 0;
+
++ /* Fsref can be 32000, 44100 or 48000. */
++ fs = params_rate(params);
++
++#ifndef CONFIG_SFFSDR_FPGA
++ /* Without the FPGA module, the Fs is fixed at 44100 Hz */
++ if (fs != 44100) {
++ pr_debug("warning: only 44.1 kHz is supported without SFFSDR FPGA module\n");
++ return -EINVAL;
++ }
++#endif
++
+ /* Set cpu DAI configuration:
+ * CLKX and CLKR are the inputs for the Sample Rate Generator.
+ * FSX and FSR are outputs, driven by the sample Rate Generator. */
+@@ -52,12 +65,13 @@ static int sffsdr_hw_params(struct snd_pcm_substream *substream,
+ if (ret < 0)
+ return ret;
+
+- /* Fsref can be 32000, 44100 or 48000. */
+- fs = params_rate(params);
+-
+ pr_debug("sffsdr_hw_params: rate = %d Hz\n", fs);
+
++#ifndef CONFIG_SFFSDR_FPGA
++ return 0;
++#else
+ return sffsdr_fpga_set_codec_fs(fs);
++#endif
+ }
+
+ static struct snd_soc_ops sffsdr_ops = {
+--
+1.5.4.5
+