Subject: Re: [alsa-devel] [PATCH V1 1/3] ASoC: fsl: Kconfig: remove dependence of SND_IMX_SOC for SND_SOC_IMX_PCM_DMA

From: Shengjiu Wang <[email-masked]>
Date: Tue, 19 Aug 2014 16:21:09 +0800

On Tue, Aug 19, 2014 at 04:13:15PM +0800, Xiubo Li-B47053 wrote:
> > Subject: Re: [alsa-devel] [PATCH V1 1/3] ASoC: fsl: Kconfig: remove dependence
> > of SND_IMX_SOC for SND_SOC_IMX_PCM_DMA
> > 
> > On Mon, Aug 18, 2014 at 06:52:46PM +0200, Lars-Peter Clausen wrote:
> > > On 08/18/2014 10:38 AM, Shengjiu Wang wrote:
> > > >Build kernel with SND_SOC_IMC_PCM_DMA=m && SND_IMX_SOC=n leads the
> > following
> > > >error:
> > > >
> > > >    sound/built-in.o: In function `fsl_sai_probe':
> > > >>>fsl_sai.c:(.text+0x5f662): undefined reference to `imx_pcm_dma_init'
> > > >    sound/built-in.o: In function `fsl_esai_probe':
> > > >>>fsl_esai.c:(.text+0x6044b): undefined reference to `imx_pcm_dma_init'
> > > >
> > > >Most cpu driver in soc/fsl has use the function 'imx_pcm_dma_init' which is
> > > >defined in imx-pcm-dma.c, so need to select SND_SOC_IMX_PCM_DMA, but it
> > depends
> > > >on SND_IMX_SOC, if SND_IMX_SOC=n, then SND_SOC_IMX_PCM_DMA will not be
> > > >selected.
> > > >So remove the dependence of SND_IMX_SOC for SND_SOC_IMX_PCM_DMA.
> > > >
> > > >Reported-by: kbuild test robot <[email-masked]>
> > > >Signed-off-by: Shengjiu Wang <[email-masked]>
> > >
> > > Those if conditions where just added[1] by Arnd to avoid other build
> > > failures. So just removing them again makes little sense.
> > >
> > > As far as I can see imx_pcm_dma_init() should be stubbed out when
> > > SND_SOC_IMX_PCM_DMA is not selected. So what's going on here?
> > >
> > > [1]
> > http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=ff40
> > 260f79dc0436604452bccd449bffd25ebafb
> > >
> > Lars-Peter Clausen & Arnd
> > 
> > The purpose of Arnd's patch is same with me, which is to resolve the build
> > error when SND_SOC_IMX_PCM_DMA=m & SND_SOC_FSL_SSI/SAI/ESAI/SPDIF=y, the
> > error is "undefined reference to `imx_pcm_dma_init'".
> > But Arnd's patch didn't involve this situation that SND_IMX_SOC=n &
> > SND_SOC_IMX_PCM_DMA=m.
> > 
> > Currently I think out a solution for this issue is to change
> > 
> > select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
> > 
> > to
> > 
> > depends on SND_SOC_IMX_PCM_DMA != m
> > 
> > How do you think about this?
> > 
> 
> What will happen if to build both SAI/ESAI and IMX_PCM_DMA as modules at the same
> time ?
> 
> Thanks,
> 
> BRs
> Xiubo

I didn't find error/warning when SAI/ESAI and IMX_PCM_DMA are as modules. The 
build is successful.

> > best regards
> > Wang shengjiu