aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/fsl/Kconfig
diff options
context:
space:
mode:
authorLothar Waßmann <LW@KARO-electronics.de>2012-11-26 09:50:47 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-11-27 19:37:35 +0000
commitf2818d07afe4fac4d975d18063063f9db08dd8f9 (patch)
tree664abea5c671f42aa141a84487a3411e75fc0cba /sound/soc/fsl/Kconfig
parentASoC: mxs-saif: export mxs_saif_put_mclk,mxs_saif_get_mclk (diff)
downloadlinux-dev-f2818d07afe4fac4d975d18063063f9db08dd8f9.tar.xz
linux-dev-f2818d07afe4fac4d975d18063063f9db08dd8f9.zip
ASoC: fsl: fix miscompilation of snd-soc-imx-pcm
Hi Mark, thanks your insisting on a better description for the patch, I found a more appropriate solution for the problem: Compiling the SoC Audio driver for Freescale i.MX as a module (CONFIG_SND_SOC_IMX_PCM=m) results in a non-functional sound driver indicated by the error message: | imx-sgtl5000 sound.1: platform imx-pcm-audio not registered | imx-sgtl5000 sound.1: snd_soc_register_card failed (-517) | platform sound.1: Driver imx-sgtl5000 requests probe deferral instead of the message: | imx-sgtl5000 sound.1: sgtl5000 <-> 63fcc000.ssi mapping ok that is to be expected upon loading the snd-soc-imx-pcm.ko module. The build log reveals, that the file imx-pcm-dma.o (or imx-pcm-fiq.o depending on the kernel configuration), which should be linked together with imx-pcm.o into snd-imx-pcm.ko, is not being compiled in this case. The make rules for these files shows that the target object imx-pcm.o is assigned to the variable snd-soc-imx-pcm-y while imx-pcm-{dma,fiq}.o are added to to snd-soc-imx-pcm-$(CONFIG_SND_SOC_IMX_PCM_DMA) and snd-soc-imx-pcm-$(CONFIG_SND_SOC_IMX_PCM_FIQ) which resolve to snd-soc-imx-pcm-m in this case. According to Documentation/kbuild/modules.txt: |When the module is built from multiple sources, an additional line is |needed listing the files: | | <module_name>-y := <src1>.o <src2>.o ... Thus the type of the config variables CONFIG_SND_SOC_IMX_PCM_DMA and CONFIG_SND_SOC_IMX_PCM_FIQ should be 'bool' instead of 'tristate' to resolve to 'y' when selected. Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/fsl/Kconfig')
-rw-r--r--sound/soc/fsl/Kconfig4
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/soc/fsl/Kconfig b/sound/soc/fsl/Kconfig
index 4563b28bd625..aa73efa64cb4 100644
--- a/sound/soc/fsl/Kconfig
+++ b/sound/soc/fsl/Kconfig
@@ -98,12 +98,12 @@ config SND_SOC_IMX_PCM
tristate
config SND_SOC_IMX_PCM_FIQ
- tristate
+ bool
select FIQ
select SND_SOC_IMX_PCM
config SND_SOC_IMX_PCM_DMA
- tristate
+ bool
select SND_SOC_DMAENGINE_PCM
select SND_SOC_IMX_PCM