This is a follow up on 53dea36c70 which fixes the other affected
pcm engines.
Description from 53dea36c70:
Don't rely on the codec's channels_min information to decide wheter or
not allocate a substream's DMA buffer. Rather check if the substream
itself was allocated previously.
Without this patch I was seeing null-pointer dereferenc in atmel-pcm.
Signed-off-by: Joachim Eastwood <joachim.eastwood@jotron.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Currently this won't actually do anything but using this will help the
core SoC code track when the system is idle.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
We don't need to export s3c_pcm_dai after multi-component patch.
Thus remove export of s3c_pcm_dai and make it static.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
To support advanced system functionality for additional components; the
actively used clocks will remain the same for current components. Also
factor the rate out to a single #define while we're at it.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Fix a typo introduced by commit e00c3f55
"ASoC: Convert Samsung directory to module_platform_driver".
This fixes the build error:
CC sound/soc/samsung/s3c24xx_simtec_tlv320aic23.o
sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c: In function 'simtec_audio_tlv320aic32_driver_init':
sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c:105: error: 'simtec_audio_tlv320aic32_driver' undeclared (first use in this function)
sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c:105: error: (Each undeclared identifier is reported only once
sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c:105: error: for each function it appears in.)
sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c: In function 'simtec_audio_tlv320aic32_driver_exit':
sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c:105: error: 'simtec_audio_tlv320aic32_driver' undeclared (first use in this function)
make[3]: *** [sound/soc/samsung/s3c24xx_simtec_tlv320aic23.o] Error 1
make[2]: *** [sound/soc/samsung] Error 2
make[1]: *** [sound/soc] Error 2
make: *** [sound] Error 2
I think we had better naming it with *driver, thus I change
it to simtec_audio_tlv320aic23_driver.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Include linux/module.h to fix below build error:
CC sound/soc/samsung/smdk2443_wm9710.o
sound/soc/samsung/smdk2443_wm9710.c:64: error: expected declaration specifiers or '...' before string constant
sound/soc/samsung/smdk2443_wm9710.c:64: warning: data definition has no type or storage class
sound/soc/samsung/smdk2443_wm9710.c:64: warning: type defaults to 'int' in declaration of 'MODULE_AUTHOR'
sound/soc/samsung/smdk2443_wm9710.c:64: warning: function declaration isn't a prototype
sound/soc/samsung/smdk2443_wm9710.c:65: error: expected declaration specifiers or '...' before string constant
sound/soc/samsung/smdk2443_wm9710.c:65: warning: data definition has no type or storage class
sound/soc/samsung/smdk2443_wm9710.c:65: warning: type defaults to 'int' in declaration of 'MODULE_DESCRIPTION'
sound/soc/samsung/smdk2443_wm9710.c:65: warning: function declaration isn't a prototype
sound/soc/samsung/smdk2443_wm9710.c:66: error: expected declaration specifiers or '...' before string constant
sound/soc/samsung/smdk2443_wm9710.c:66: warning: data definition has no type or storage class
sound/soc/samsung/smdk2443_wm9710.c:66: warning: type defaults to 'int' in declaration of 'MODULE_LICENSE'
sound/soc/samsung/smdk2443_wm9710.c:66: warning: function declaration isn't a prototype
make[3]: *** [sound/soc/samsung/smdk2443_wm9710.o] Error 1
make[2]: *** [sound/soc/samsung] Error 2
make[1]: *** [sound/soc] Error 2
make: *** [sound] Error 2
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Fix a typo in jive_wm8750 that introduces below build error.
Also removes an unused err variable.
CC sound/soc/samsung/jive_wm8750.o
sound/soc/samsung/jive_wm8750.c: In function 'jive_wm8750_init':
sound/soc/samsung/jive_wm8750.c:104: warning: unused variable 'err'
sound/soc/samsung/jive_wm8750.c: At top level:
sound/soc/samsung/jive_wm8750.c:134: error: unknown field 'dapm_widgtets' specified in initializer
sound/soc/samsung/jive_wm8750.c:134: warning: initialization from incompatible pointer type
make[3]: *** [sound/soc/samsung/jive_wm8750.o] Error 1
make[2]: *** [sound/soc/samsung] Error 2
make[1]: *** [sound/soc] Error 2
make: *** [sound] Error 2
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
SND_SOC_LITTLEMILL selects SND_SOC_WM8994, but SND_SOC_WM8994 needs MFD_WM8994.
Thus we need to select MFD_WM8994 to fix below build error:
LD .tmp_vmlinux1
sound/built-in.o: In function `wm8994_write':
sound/soc/codecs/wm8994.c:201: undefined reference to `wm8994_reg_write'
sound/built-in.o: In function `wm8994_read':
sound/soc/codecs/wm8994.c:222: undefined reference to `wm8994_reg_read'
sound/built-in.o: In function `wm8994_resume':
sound/soc/codecs/wm8994.c:2847: undefined reference to `wm8994_reg_read'
sound/built-in.o: In function `wm8994_codec_probe':
sound/soc/codecs/wm8994.c:3501: undefined reference to `wm8994_reg_read'
sound/soc/codecs/wm8994.c:3660: undefined reference to `wm8994_reg_read'
sound/soc/codecs/wm8994.c:3672: undefined reference to `wm8994_reg_read'
sound/built-in.o: In function `wm8958_dsp2_fw':
sound/soc/codecs/wm8958-dsp2.c:154: undefined reference to `wm8994_bulk_write'
make: *** [.tmp_vmlinux1] Error 1
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Littlemill has one analogue microphone on the board (connected to IN1LN)
and an array of four DMICs connected to both DMICDAT lines. The biases
can be selected by jumpers but pick the default jumper fit.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
The board supports CODECs that won't work with this but the CODEC driver
will check to see if it's running on the right chip for us.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
All the other machine drivers for non-default configurations are named
after the relevant audio module so do so for Tobermory also.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
We always store the register address as __iomem but pass it around as a
plain void * which upsets sparse.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
The Littlemill audio card supports a number of pluggable miniboards,
normally for the WM8994 family of devices. As all these devices look
mostly the same from an external configuration point of view and are
runtime enumerable we can write a standard machine driver which will
work out of the box with any of them. Start doing that with the bare
bones of a driver, only supporting AIF1.
Future patches will flesh this out to be more fully featured.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>