diff mbox

ASoC: fsl: select SND_SOC_IMX_PCM_DMA where needed

Message ID 6606961.lAGLvkNsEj@wuerfel (mailing list archive)
State New, archived
Headers show

Commit Message

Arnd Bergmann April 28, 2014, 2:46 p.m. UTC
Since commit 204dec93eaa "ASoC: fsl: Allow to select individual common
options", it is possible to enable SND_SOC_FSL_SSI and SND_SOC_FSL_SPDIF
manually. However, these two options are for drivers that both
require the imx-pcm-dma framework and result in a link error if that
is not provided.

This changes Kconfig to automatically select SND_SOC_IMX_PCM_DMA
to avoid the problem, as we do for other drivers that need the same
framework.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Comments

Arnd Bergmann April 28, 2014, 7:52 p.m. UTC | #1
On Monday 28 April 2014 22:46:10 Alexander Shiyan wrote:
> Mon, 28 Apr 2014 16:46:30 +0200 ?? Arnd Bergmann <arnd@arndb.de>:
> > Since commit 204dec93eaa "ASoC: fsl: Allow to select individual common
> > options", it is possible to enable SND_SOC_FSL_SSI and SND_SOC_FSL_SPDIF
> > manually. However, these two options are for drivers that both
> > require the imx-pcm-dma framework and result in a link error if that
> > is not provided.
> > 
> > This changes Kconfig to automatically select SND_SOC_IMX_PCM_DMA
> > to avoid the problem, as we do for other drivers that need the same
> > framework.
> > 
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> 
> Can you give an exact error?


sound/built-in.o: In function `fsl_ssi_probe':
:(.text+0x51fb8): undefined reference to `imx_pcm_dma_init'
sound/built-in.o: In function `fsl_spdif_probe':
:(.text+0x52e20): undefined reference to `imx_pcm_dma_init'
Arnd Bergmann April 28, 2014, 9:12 p.m. UTC | #2
On Tuesday 29 April 2014 00:35:41 Alexander Shiyan wrote:
> Mon, 28 Apr 2014 21:52:16 +0200 ?? Arnd Bergmann <arnd@arndb.de>:
> > On Monday 28 April 2014 22:46:10 Alexander Shiyan wrote:
> > > Mon, 28 Apr 2014 16:46:30 +0200 ?? Arnd Bergmann <arnd@arndb.de>:
> > > > Since commit 204dec93eaa "ASoC: fsl: Allow to select individual common
> > > > options", it is possible to enable SND_SOC_FSL_SSI and SND_SOC_FSL_SPDIF
> > > > manually. However, these two options are for drivers that both
> > > > require the imx-pcm-dma framework and result in a link error if that
> > > > is not provided.
> > > > 
> > > > This changes Kconfig to automatically select SND_SOC_IMX_PCM_DMA
> > > > to avoid the problem, as we do for other drivers that need the same
> > > > framework.
> > > > 
> > > > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > > 
> > > Can you give an exact error?
> > 
> > 
> > sound/built-in.o: In function `fsl_ssi_probe':
> > :(.text+0x51fb8): undefined reference to `imx_pcm_dma_init'
> > sound/built-in.o: In function `fsl_spdif_probe':
> > :(.text+0x52e20): undefined reference to `imx_pcm_dma_init'
> 
> This call is defined in imx-pcm.h as:
> #if IS_ENABLED(CONFIG_SND_SOC_IMX_PCM_DMA)
> int imx_pcm_dma_init(struct platform_device *pdev);
> #else
> static inline int imx_pcm_dma_init(struct platform_device *pdev)
> {
>   return -ENODEV;
> }
> #endif
> 
> So, I don't understand why this error happen, as well as I can not
> reproduce this...

It's probably CONFIG_SND_SOC_IMX_PCM_DMA=m and CONFIG_SND_SOC_FSL_SSI=y then.
What is the intended behavior in this case? Should CONFIG_SND_SOC_FSL_SSI
be forced to be a module as well?

	Arnd
diff mbox

Patch

diff --git a/sound/soc/fsl/Kconfig b/sound/soc/fsl/Kconfig
index fb26345..25abd21 100644
--- a/sound/soc/fsl/Kconfig
+++ b/sound/soc/fsl/Kconfig
@@ -9,6 +9,7 @@  config SND_SOC_FSL_SAI
 
 config SND_SOC_FSL_SSI
 	tristate "Synchronous Serial Interface module support"
+	select SND_SOC_IMX_PCM_DMA
 	help
 	  Say Y if you want to add Synchronous Serial Interface (SSI)
 	  support for the Freescale CPUs.
@@ -17,6 +18,7 @@  config SND_SOC_FSL_SSI
 
 config SND_SOC_FSL_SPDIF
 	tristate "Sony/Philips Digital Interface module support"
+	select SND_SOC_IMX_PCM_DMA
 	select REGMAP_MMIO
 	help
 	  Say Y if you want to add Sony/Philips Digital Interface (SPDIF)