Message ID | f30ba4e2c4eb6702fa40bd255036e6e9ad6eb47d.1408350626.git.shengjiu.wang@freescale.com (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Scott Wood |
Headers | show |
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 <fengguang.wu@intel.com> > Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com> 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=ff40260f79dc0436604452bccd449bffd25ebafb
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 <fengguang.wu@intel.com> > >Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com> > > 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=ff40260f79dc0436604452bccd449bffd25ebafb > 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
> 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 <fengguang.wu@intel.com> > > >Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com> > > > > 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 > best regards > Wang shengjiu
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 <fengguang.wu@intel.com> > > > >Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com> > > > > > > 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
> > > 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. > Yes, but if IMX_PCM_DMA == m, the SAI/ESAI will be invisible in menuconfig.... Does it matter here ? BRs Xiubo > > > > > > > best regards > > > Wang shengjiu
On 08/19/2014 09:41 AM, Shengjiu Wang wrote: > 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 <fengguang.wu@intel.com> >>> Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com> >> >> 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=ff40260f79dc0436604452bccd449bffd25ebafb >> > 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? No, that has the dependencies in reverse.
On 08/19/2014 10:36 AM, Lars-Peter Clausen wrote: > On 08/19/2014 09:41 AM, Shengjiu Wang wrote: >> 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 <fengguang.wu@intel.com> >>>> Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com> >>> >>> 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=ff40260f79dc0436604452bccd449bffd25ebafb >>> >>> >> 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
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: > >On 08/19/2014 09:41 AM, Shengjiu Wang wrote: > >>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 <fengguang.wu@intel.com> > >>>>Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com> > >>> > >>>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=ff40260f79dc0436604452bccd449bffd25ebafb > >>> > >>> > >>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
diff --git a/sound/soc/fsl/Kconfig b/sound/soc/fsl/Kconfig index 5ae777a..3a3732c 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 != 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 != n + select SND_SOC_IMX_PCM_DMA select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_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 != n + select SND_SOC_IMX_PCM_DMA select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_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 != 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.