diff options
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.patch | 65 |
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 0000000000..bb03490c38 --- /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 + |