diff options
| author | Hugo Villeneuve <hugo@hugovil.com> | 2009-01-15 15:40:35 -0500 | 
|---|---|---|
| committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-01-15 23:43:54 +0000 | 
| commit | ac37373b6463d32955c6ac6b753d5e5b0946a791 (patch) | |
| tree | 6c597d1cbf136a279a30443b625ab86f7f965770 | |
| parent | c0106d72b8d71696dbe9dc80e2c77d4ac63f7531 (diff) | |
| download | olio-linux-3.10-ac37373b6463d32955c6ac6b753d5e5b0946a791.tar.xz olio-linux-3.10-ac37373b6463d32955c6ac6b753d5e5b0946a791.zip  | |
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>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| -rw-r--r-- | 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 4935d1bcbd8..50baef1fe5b 100644 --- a/sound/soc/davinci/davinci-sffsdr.c +++ b/sound/soc/davinci/davinci-sffsdr.c @@ -25,7 +25,9 @@  #include <asm/dma.h>  #include <asm/mach-types.h> +#ifdef CONFIG_SFFSDR_FPGA  #include <asm/plat-sffsdr/sffsdr-fpga.h> +#endif  #include <mach/mcbsp.h>  #include <mach/edma.h> @@ -43,6 +45,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. */ @@ -53,12 +66,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 = {  |