From: Shengjiu Wang <hidden> Date: 2014-08-18 08:39:18
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':
quoted
fsl_sai.c:(.text+0x5f662): undefined reference to `imx_pcm_dma_init'
sound/built-in.o: In function `fsl_esai_probe':
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
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>
---
sound/soc/fsl/Kconfig | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
@@ -469,7 +469,7 @@ static int fsl_asoc_card_probe(struct platform_device *pdev)ret=fsl_asoc_card_audmux_init(np,priv);if(ret){dev_err(&pdev->dev,"failed to init audmux\n");-gotofail;+gotoasrc_fail;}}elseif(strstr(cpu_np->name,"esai")){priv->cpu_priv.sysclk_id[1]=ESAI_HCKT_EXTAL;
@@ -518,14 +518,14 @@ static int fsl_asoc_card_probe(struct platform_device *pdev)if(ret){dev_err(&pdev->dev,"failed to get output rate\n");ret=-EINVAL;-gotofail;+gotoasrc_fail;}ret=of_property_read_u32(asrc_np,"fsl,asrc-width",&width);if(ret){dev_err(&pdev->dev,"failed to get output rate\n");ret=-EINVAL;-gotofail;+gotoasrc_fail;}if(width==24)
From: Shengjiu Wang <hidden> Date: 2014-08-18 08:39:30
Building kernel with SND_SOC_IMX_AUDMUX=n leads to the following error:
sound/built-in.o: In function `fsl_asoc_card_probe':
quoted
fsl-asoc-card.c:(.text+0x1467b5): undefined reference to `imx_audmux_v2_configure_port'
fsl-asoc-card.c:(.text+0x1467d0): undefined reference to `imx_audmux_v2_configure_port'
fsl-asoc-card.c:(.text+0x1467ed): undefined reference to `imx_audmux_v2_configure_port'
fsl-asoc-card.c:(.text+0x146807): undefined reference to `imx_audmux_v2_configure_port'
Update Kconfig to select SND_SOC_IMX_AUDMUX when SND_SOC_FSL_ASOC_CARD=y.
Reported-by: kbuild test robot <redacted>
Signed-off-by: Shengjiu Wang <redacted>
---
sound/soc/fsl/Kconfig | 1 +
1 file changed, 1 insertion(+)
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':
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
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>
From: Shengjiu Wang <hidden> Date: 2014-08-19 07:41:18
On Mon, Aug 18, 2014 at 06:52:46PM +0200, Lars-Peter Clausen wrote:
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
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
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>
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?
best regards
Wang shengjiu
of SND_IMX_SOC for SND_SOC_IMX_PCM_DMA
=20
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
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=
'
quoted
quoted
Most cpu driver in soc/fsl has use the function 'imx_pcm_dma_init' whi=
ch is
quoted
quoted
defined in imx-pcm-dma.c, so need to select SND_SOC_IMX_PCM_DMA, but i=
t
depends
quoted
quoted
on SND_IMX_SOC, if SND_IMX_SOC=3Dn, then SND_SOC_IMX_PCM_DMA will not =
be
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 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]
Lars-Peter Clausen & Arnd
=20
The purpose of Arnd's patch is same with me, which is to resolve the buil=
d
error when SND_SOC_IMX_PCM_DMA=3Dm & SND_SOC_FSL_SSI/SAI/ESAI/SPDIF=3Dy, =
the
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.
=20
Currently I think out a solution for this issue is to change
=20
select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC !=3D n
=20
to
=20
depends on SND_SOC_IMX_PCM_DMA !=3D m
=20
How do you think about this?
=20
What will happen if to build both SAI/ESAI and IMX_PCM_DMA as modules at th=
e same
time ?
Thanks,
BRs
Xiubo
From: Shengjiu Wang <hidden> Date: 2014-08-19 08:21:21
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]
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.
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
Yes, but if IMX_PCM_DMA =3D=3D m, the SAI/ESAI will be invisible in menucon=
fig....
Does it matter here ?
BRs
Xiubo
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
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
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>
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.
Having SND_SOC_IMX_PCM_DMA selected if SND_IMX_SOC is not selected makes no
sense. I think the proper fix is to find out why it is selected and make
sure that it is not selected when SND_IMX_SOC is not selected.
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?
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
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
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>
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.
Having SND_SOC_IMX_PCM_DMA selected if SND_IMX_SOC is not selected makes no
sense. I think the proper fix is to find out why it is selected and make
sure that it is not selected when SND_IMX_SOC is not selected.
I guess the issue happens if SND_SOC_FSL_ASOC_CARD=m and
SND_SOC_FSL_{ESAI,SAI,SSI}=y. In this case the fix is simply to drop the
select SND_SOC_IMX_PCM_DMA from SND_SOC_FSL_ASOC_CARD.
- Lars
From: Shengjiu Wang <hidden> Date: 2014-08-19 08:55:49
On Tue, Aug 19, 2014 at 10:45:04AM +0200, Lars-Peter Clausen wrote:
On 08/19/2014 10:36 AM, Lars-Peter Clausen wrote:
quoted
On 08/19/2014 09:41 AM, Shengjiu Wang wrote:
quoted
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
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
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>
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.
Having SND_SOC_IMX_PCM_DMA selected if SND_IMX_SOC is not selected makes no
sense. I think the proper fix is to find out why it is selected and make
sure that it is not selected when SND_IMX_SOC is not selected.
I guess the issue happens if SND_SOC_FSL_ASOC_CARD=m and
SND_SOC_FSL_{ESAI,SAI,SSI}=y. In this case the fix is simply to drop
the select SND_SOC_IMX_PCM_DMA from SND_SOC_FSL_ASOC_CARD.
- Lars
Yes, you are right. Thanks. I will send another patch.
best regards
wang shengjiu
@@ -25,7 +25,7 @@ config SND_SOC_FSL_SAIconfigSND_SOC_FSL_SSItristate"Synchronous Serial Interface module support"-selectSND_SOC_IMX_PCM_DMAifSND_IMX_SOC!=3Dn+selectSND_SOC_IMX_PCM_DMAselectSND_SOC_IMX_PCM_FIQifSND_IMX_SOC!=3Dn&&(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.
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]
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.=
Hi Xiubo Li
Lars-Peter has point out the root cause. It is caused by the SND_SOC_F=
SL_ASOC_CARD, which will select SND_SOC_IMX_PCM_DMA.
Thank you very much anyway.
Best regards
Wang shengjiu
-----Original Message-----
From: Xiubo Li-B47053=20
Sent: Tuesday, August 19, 2014 5:00 PM
To: Wang Shengjiu-B02247
Cc: Lars-Peter Clausen; lgirdwood@gmail.com; broonie@kernel.org; perex@pere=
x.cz; tiwai@suse.de; nicoleotsuka@gmail.com; shc_work@mail.ru; Estevam Fabi=
o-R49496; xobs@kosagi.com; arnd@arndb.de; sfr@canb.auug.org.au; timur@tabi.=
org; alsa-devel@alsa-project.org; linuxppc-dev@lists.ozlabs.org; linux-kern=
el@vger.kernel.org
Subject: RE: [alsa-devel] [PATCH V1 1/3] ASoC: fsl: Kconfig: remove depende=
nce of SND_IMX_SOC for SND_SOC_IMX_PCM_DMA
How about the following :
diff --git a/sound/soc/fsl/Kconfig b/sound/soc/fsl/Kconfig index 5ae777a..d=
,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.
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=
=20
quoted
quoted
quoted
quoted
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_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=20
SND_SOC_IMX_PCM_DMA, but it
depends
quoted
quoted
on SND_IMX_SOC, if SND_IMX_SOC=3Dn, then SND_SOC_IMX_PCM_DMA will=
=20
quoted
quoted
quoted
quoted
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=20
build failures. So just removing them again makes little sense.
As far as I can see imx_pcm_dma_init() should be stubbed out=20
when SND_SOC_IMX_PCM_DMA is not selected. So what's going on here?
[1]
Lars-Peter Clausen & Arnd
The purpose of Arnd's patch is same with me, which is to resolve=20
the build error when SND_SOC_IMX_PCM_DMA=3Dm &=20
SND_SOC_FSL_SSI/SAI/ESAI/SPDIF=3Dy, the error is "undefined reference=
to `imx_pcm_dma_init'".
quoted
quoted
But Arnd's patch didn't involve this situation that SND_IMX_SOC=3Dn=20
& 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=20
modules at the
same
quoted
time ?
Thanks,
BRs
Xiubo
=20
I didn't find error/warning when SAI/ESAI and IMX_PCM_DMA are as=20
modules. The build is successful.
=20
I see the problem has been addressed, so JFYI: a reverse selection
doesn't resolve "depends on". It's a known shortcoming. That is, a
selected item can select further others, but cannot depend on others.
Takashi
I see the problem has been addressed, so JFYI: a reverse selection
doesn't resolve "depends on". It's a known shortcoming. That is, a
selected item can select further others, but cannot depend on others.
The item will still be selected regardless of its dependencies, but Kconfig
will print a warning if one or more of the dependencies are not met along
with the dependency chain that causes the warning. So you'll have a clue why
things go wrong.
- Lars