Thread (18 messages) flat view 18 messages, 5 authors, 2014-08-19

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 <hidden>
Date: 2014-08-19 08:21:21
Also in: alsa-devel, lkml

On Tue, Aug 19, 2014 at 04:13:15PM +0800, Xiubo Li-B47053 wrote:
quoted
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:
quoted
On 08/18/2014 10:38 AM, Shengjiu Wang wrote:
quoted
Build kernel with SND_SOC_IMC_PCM_DMA=m && SND_IMX_SOC=n leads the
following
quoted
quoted
error:

   sound/built-in.o: In function `fsl_sai_probe':
quoted
quoted
fsl_sai.c:(.text+0x5f662): undefined reference to `imx_pcm_dma_init'
   sound/built-in.o: In function `fsl_esai_probe':
quoted
quoted
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
quoted
quoted
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 <redacted>
Signed-off-by: Shengjiu Wang <redacted>
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
quoted
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.
quoted
best regards
Wang shengjiu
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help