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: Li.Xiubo@freescale.com <hidden>
Date: 2014-08-19 09:00:16
Also in: alsa-devel, lkml
Subsystem: sound, sound - soc layer / dynamic audio power management (asoc), the rest · Maintainers: Jaroslav Kysela, Takashi Iwai, Liam Girdwood, Mark Brown, Linus Torvalds

How about the following :

diff --git a/sound/soc/fsl/Kconfig b/sound/soc/fsl/Kconfig
index 5ae777a..d42f18c 100644
--- a/sound/soc/fsl/Kconfig
+++ b/sound/soc/fsl/Kconfig
@@ -15,7 +15,7 @@ config SND_SOC_FSL_ASRC
 config SND_SOC_FSL_SAI
        tristate "Synchronous Audio Interface (SAI) module support"
        select REGMAP_MMIO
-       select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC !=3D n
+       select SND_SOC_IMX_PCM_DMA
        select SND_SOC_GENERIC_DMAENGINE_PCM
        help
          Say Y if you want to add Synchronous Audio Interface (SAI)
@@ -25,7 +25,7 @@ config SND_SOC_FSL_SAI

 config SND_SOC_FSL_SSI
        tristate "Synchronous Serial Interface module support"
-       select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC !=3D n
+       select SND_SOC_IMX_PCM_DMA
        select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC !=3D n && (MXC_TZIC || MX=
C_AVIC)
        select REGMAP_MMIO
        help
@@ -37,7 +37,7 @@ config SND_SOC_FSL_SSI
 config SND_SOC_FSL_SPDIF
        tristate "Sony/Philips Digital Interface module support"
        select REGMAP_MMIO
-       select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC !=3D n
+       select SND_SOC_IMX_PCM_DMA
        select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC !=3D n && (MXC_TZIC || MX=
C_AVIC)
        help
          Say Y if you want to add Sony/Philips Digital Interface (SPDIF)
@@ -48,7 +48,7 @@ config SND_SOC_FSL_SPDIF
 config SND_SOC_FSL_ESAI
        tristate "Enhanced Serial Audio Interface (ESAI) module support"
        select REGMAP_MMIO
-       select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC !=3D n
+       select SND_SOC_IMX_PCM_DMA
        help
          Say Y if you want to add Enhanced Synchronous Audio Interface
          (ESAI) support for the Freescale CPUs.
@@ -76,6 +76,7 @@ config SND_SOC_FSL_ASOC_CARD

 config SND_SOC_IMX_PCM_DMA
        tristate
+       depends on SND_IMX_SOC
        select SND_SOC_GENERIC_DMAENGINE_PCM

 config SND_SOC_IMX_AUDMUX
Thanks,


BRs
Xiubo


-----Original Message-----
From: Shengjiu Wang [mailto:shengjiu.wang@freescale.com]
Sent: Tuesday, August 19, 2014 4:21 PM
To: Xiubo Li-B47053
Cc: Lars-Peter Clausen; lgirdwood@gmail.com; broonie@kernel.org;
perex@perex.cz; tiwai@suse.de; nicoleotsuka@gmail.com; shc_work@mail.ru;
Estevam Fabio-R49496; xobs@kosagi.com; arnd@arndb.de; sfr@canb.auug.org.a=
u;
timur@tabi.org; alsa-devel@alsa-project.org; linuxppc-dev@lists.ozlabs.or=
g;
linux-kernel@vger.kernel.org
Subject: Re: [alsa-devel] [PATCH V1 1/3] ASoC: fsl: Kconfig: remove depen=
dence
of SND_IMX_SOC for SND_SOC_IMX_PCM_DMA
=20
On Tue, Aug 19, 2014 at 04:13:15PM +0800, Xiubo Li-B47053 wrote:
quoted
quoted
Subject: Re: [alsa-devel] [PATCH V1 1/3] ASoC: fsl: Kconfig: remove
dependence
quoted
quoted
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=3Dm && SND_IMX_SOC=3Dn leads=
 the
quoted
quoted
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_i=
nit'
quoted
quoted
quoted
quoted
   sound/built-in.o: In function `fsl_esai_probe':
quoted
quoted
fsl_esai.c:(.text+0x6044b): undefined reference to `imx_pcm_dma_=
init'
quoted
quoted
quoted
quoted
Most cpu driver in soc/fsl has use the function 'imx_pcm_dma_init'
which is
quoted
quoted
quoted
quoted
defined in imx-pcm-dma.c, so need to select SND_SOC_IMX_PCM_DMA, b=
ut it
quoted
quoted
depends
quoted
quoted
on SND_IMX_SOC, if SND_IMX_SOC=3Dn, then SND_SOC_IMX_PCM_DMA will =
not be
quoted
quoted
quoted
quoted
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 buil=
d
quoted
quoted
quoted
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=
=3Dff40
quoted
quoted
260f79dc0436604452bccd449bffd25ebafb
quoted
Lars-Peter Clausen & Arnd

The purpose of Arnd's patch is same with me, which is to resolve the =
build
quoted
quoted
error when SND_SOC_IMX_PCM_DMA=3Dm & SND_SOC_FSL_SSI/SAI/ESAI/SPDIF=
=3Dy, the
quoted
quoted
error is "undefined reference to `imx_pcm_dma_init'".
But Arnd's patch didn't involve this situation that SND_IMX_SOC=3Dn &
SND_SOC_IMX_PCM_DMA=3Dm.

Currently I think out a solution for this issue is to change

select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC !=3D n

to

depends on SND_SOC_IMX_PCM_DMA !=3D m

How do you think about this?
What will happen if to build both SAI/ESAI and IMX_PCM_DMA as modules a=
t the
same
quoted
time ?

Thanks,

BRs
Xiubo
=20
I didn't find error/warning when SAI/ESAI and IMX_PCM_DMA are as modules.=
 The
build is successful.
=20
quoted
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