linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V1 0/3] fix build error/warning in sound/soc/fsl
@ 2014-08-18  8:38 Shengjiu Wang
  2014-08-18  8:38 ` [PATCH V1 1/3] ASoC: fsl: Kconfig: remove dependence of SND_IMX_SOC for SND_SOC_IMX_PCM_DMA Shengjiu Wang
                   ` (2 more replies)
  0 siblings, 3 replies; 18+ messages in thread
From: Shengjiu Wang @ 2014-08-18  8:38 UTC (permalink / raw)
  To: lgirdwood, broonie, perex, tiwai, nicoleotsuka, Li.Xiubo,
	shc_work, fabio.estevam, shengjiu.wang, xobs, arnd, sfr, timur
  Cc: alsa-devel, linuxppc-dev, linux-kernel

This series patch is for fixing build error/waring in sound/soc/fsl

Shengjiu Wang (3):
  ASoC: fsl: Kconfig: remove dependence of SND_IMX_SOC for
    SND_SOC_IMX_PCM_DMA
  ASoC: fsl-asoc-card: Fix build warning for maybe-uninitialized
  ASoC: fsl: fsl-asoc-card: Select SND_SOC_IMX_AUDMUX

 sound/soc/fsl/Kconfig         |    9 +++++----
 sound/soc/fsl/fsl-asoc-card.c |    9 +++++----
 2 files changed, 10 insertions(+), 8 deletions(-)

-- 
1.7.9.5

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH V1 1/3] ASoC: fsl: Kconfig: remove dependence of SND_IMX_SOC for SND_SOC_IMX_PCM_DMA
  2014-08-18  8:38 [PATCH V1 0/3] fix build error/warning in sound/soc/fsl Shengjiu Wang
@ 2014-08-18  8:38 ` Shengjiu Wang
  2014-08-18 16:52   ` [alsa-devel] " Lars-Peter Clausen
  2014-08-18  8:38 ` [PATCH V1 2/3] ASoC: fsl-asoc-card: Fix build warning for maybe-uninitialized Shengjiu Wang
  2014-08-18  8:38 ` [PATCH V1 3/3] ASoC: fsl: fsl-asoc-card: Select SND_SOC_IMX_AUDMUX Shengjiu Wang
  2 siblings, 1 reply; 18+ messages in thread
From: Shengjiu Wang @ 2014-08-18  8:38 UTC (permalink / raw)
  To: lgirdwood, broonie, perex, tiwai, nicoleotsuka, Li.Xiubo,
	shc_work, fabio.estevam, shengjiu.wang, xobs, arnd, sfr, timur
  Cc: alsa-devel, linuxppc-dev, linux-kernel

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>
---
 sound/soc/fsl/Kconfig |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

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.
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH V1 2/3] ASoC: fsl-asoc-card: Fix build warning for maybe-uninitialized
  2014-08-18  8:38 [PATCH V1 0/3] fix build error/warning in sound/soc/fsl Shengjiu Wang
  2014-08-18  8:38 ` [PATCH V1 1/3] ASoC: fsl: Kconfig: remove dependence of SND_IMX_SOC for SND_SOC_IMX_PCM_DMA Shengjiu Wang
@ 2014-08-18  8:38 ` Shengjiu Wang
  2014-08-18 14:53   ` Mark Brown
  2014-08-18  8:38 ` [PATCH V1 3/3] ASoC: fsl: fsl-asoc-card: Select SND_SOC_IMX_AUDMUX Shengjiu Wang
  2 siblings, 1 reply; 18+ messages in thread
From: Shengjiu Wang @ 2014-08-18  8:38 UTC (permalink / raw)
  To: lgirdwood, broonie, perex, tiwai, nicoleotsuka, Li.Xiubo,
	shc_work, fabio.estevam, shengjiu.wang, xobs, arnd, sfr, timur
  Cc: alsa-devel, linuxppc-dev, linux-kernel

When build fsl-asoc-card as module, there is following error:

sound/soc/fsl/fsl-asoc-card.c: In function 'fsl_asoc_card_probe':
>> sound/soc/fsl/fsl-asoc-card.c:547:13: warning: 'asrc_np' may be used uninitialized in this function [-Wmaybe-uninitialized]
     of_node_put(asrc_np);
                ^

vim +/asrc_np +547 sound/soc/fsl/fsl-asoc-card.c

   531                  if (width == 24)
   532                          priv->asrc_format = SNDRV_PCM_FORMAT_S24_LE;
   533                  else
   534                          priv->asrc_format = SNDRV_PCM_FORMAT_S16_LE;
   535          }
   536
   537          /* Finish card registering */
   538          platform_set_drvdata(pdev, priv);
   539          snd_soc_card_set_drvdata(&priv->card, priv);
   540
   541          ret = devm_snd_soc_register_card(&pdev->dev, &priv->card);
   542          if (ret)
   543                  dev_err(&pdev->dev, "snd_soc_register_card failed (%d)\n", ret);
   544
   545  fail:
   546          of_node_put(codec_np);
 > 547          of_node_put(asrc_np);
   548          of_node_put(cpu_np);
   549
   550          return ret;
   551  }
   552
   553  static const struct of_device_id fsl_asoc_card_dt_ids[] = {
   554          { .compatible = "fsl,imx-audio-cs42888", },
   555          { .compatible = "fsl,imx-audio-sgtl5000", },

Add 'asrc_fail' branch for error jump after asrc_np initialized.

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
---
 sound/soc/fsl/fsl-asoc-card.c |    9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/sound/soc/fsl/fsl-asoc-card.c b/sound/soc/fsl/fsl-asoc-card.c
index cf3f1f4..007c772 100644
--- a/sound/soc/fsl/fsl-asoc-card.c
+++ b/sound/soc/fsl/fsl-asoc-card.c
@@ -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");
-			goto fail;
+			goto asrc_fail;
 		}
 	} else if (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;
-			goto fail;
+			goto asrc_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;
-			goto fail;
+			goto asrc_fail;
 		}
 
 		if (width == 24)
@@ -542,9 +542,10 @@ static int fsl_asoc_card_probe(struct platform_device *pdev)
 	if (ret)
 		dev_err(&pdev->dev, "snd_soc_register_card failed (%d)\n", ret);
 
+asrc_fail:
+	of_node_put(asrc_np);
 fail:
 	of_node_put(codec_np);
-	of_node_put(asrc_np);
 	of_node_put(cpu_np);
 
 	return ret;
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH V1 3/3] ASoC: fsl: fsl-asoc-card: Select SND_SOC_IMX_AUDMUX
  2014-08-18  8:38 [PATCH V1 0/3] fix build error/warning in sound/soc/fsl Shengjiu Wang
  2014-08-18  8:38 ` [PATCH V1 1/3] ASoC: fsl: Kconfig: remove dependence of SND_IMX_SOC for SND_SOC_IMX_PCM_DMA Shengjiu Wang
  2014-08-18  8:38 ` [PATCH V1 2/3] ASoC: fsl-asoc-card: Fix build warning for maybe-uninitialized Shengjiu Wang
@ 2014-08-18  8:38 ` Shengjiu Wang
  2014-08-18 14:54   ` Mark Brown
  2 siblings, 1 reply; 18+ messages in thread
From: Shengjiu Wang @ 2014-08-18  8:38 UTC (permalink / raw)
  To: lgirdwood, broonie, perex, tiwai, nicoleotsuka, Li.Xiubo,
	shc_work, fabio.estevam, shengjiu.wang, xobs, arnd, sfr, timur
  Cc: alsa-devel, linuxppc-dev, linux-kernel

Building kernel with SND_SOC_IMX_AUDMUX=n leads to the following error:

   sound/built-in.o: In function `fsl_asoc_card_probe':
>> 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 <fengguang.wu@intel.com>
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
---
 sound/soc/fsl/Kconfig |    1 +
 1 file changed, 1 insertion(+)

diff --git a/sound/soc/fsl/Kconfig b/sound/soc/fsl/Kconfig
index 3a3732c..dc0d08b 100644
--- a/sound/soc/fsl/Kconfig
+++ b/sound/soc/fsl/Kconfig
@@ -61,6 +61,7 @@ config SND_SOC_FSL_UTILS
 config SND_SOC_FSL_ASOC_CARD
 	tristate "Generic ASoC Sound Card with ASRC support"
 	depends on OF && I2C
+	select SND_SOC_IMX_AUDMUX
 	select SND_SOC_IMX_PCM_DMA
 	select SND_SOC_FSL_ESAI
 	select SND_SOC_FSL_SAI
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: [PATCH V1 2/3] ASoC: fsl-asoc-card: Fix build warning for maybe-uninitialized
  2014-08-18  8:38 ` [PATCH V1 2/3] ASoC: fsl-asoc-card: Fix build warning for maybe-uninitialized Shengjiu Wang
@ 2014-08-18 14:53   ` Mark Brown
  0 siblings, 0 replies; 18+ messages in thread
From: Mark Brown @ 2014-08-18 14:53 UTC (permalink / raw)
  To: Shengjiu Wang
  Cc: fabio.estevam, sfr, alsa-devel, timur, arnd, shc_work, tiwai,
	linux-kernel, lgirdwood, perex, nicoleotsuka, Li.Xiubo, xobs,
	linuxppc-dev

[-- Attachment #1: Type: text/plain, Size: 145 bytes --]

On Mon, Aug 18, 2014 at 04:38:39PM +0800, Shengjiu Wang wrote:
> When build fsl-asoc-card as module, there is following error:

Applied, thanks.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH V1 3/3] ASoC: fsl: fsl-asoc-card: Select SND_SOC_IMX_AUDMUX
  2014-08-18  8:38 ` [PATCH V1 3/3] ASoC: fsl: fsl-asoc-card: Select SND_SOC_IMX_AUDMUX Shengjiu Wang
@ 2014-08-18 14:54   ` Mark Brown
  0 siblings, 0 replies; 18+ messages in thread
From: Mark Brown @ 2014-08-18 14:54 UTC (permalink / raw)
  To: Shengjiu Wang
  Cc: fabio.estevam, sfr, alsa-devel, timur, arnd, shc_work, tiwai,
	linux-kernel, lgirdwood, perex, nicoleotsuka, Li.Xiubo, xobs,
	linuxppc-dev

[-- Attachment #1: Type: text/plain, Size: 155 bytes --]

On Mon, Aug 18, 2014 at 04:38:40PM +0800, Shengjiu Wang wrote:
> Building kernel with SND_SOC_IMX_AUDMUX=n leads to the following error:

Applied, thanks.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [alsa-devel] [PATCH V1 1/3] ASoC: fsl: Kconfig: remove dependence of SND_IMX_SOC for SND_SOC_IMX_PCM_DMA
  2014-08-18  8:38 ` [PATCH V1 1/3] ASoC: fsl: Kconfig: remove dependence of SND_IMX_SOC for SND_SOC_IMX_PCM_DMA Shengjiu Wang
@ 2014-08-18 16:52   ` Lars-Peter Clausen
  2014-08-19  7:41     ` Shengjiu Wang
  0 siblings, 1 reply; 18+ messages in thread
From: Lars-Peter Clausen @ 2014-08-18 16:52 UTC (permalink / raw)
  To: Shengjiu Wang, lgirdwood, broonie, perex, tiwai, nicoleotsuka,
	Li.Xiubo, shc_work, fabio.estevam, xobs, arnd, sfr, timur
  Cc: alsa-devel, linuxppc-dev, linux-kernel, Arnd Bergmann

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

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [alsa-devel] [PATCH V1 1/3] ASoC: fsl: Kconfig: remove dependence of SND_IMX_SOC for SND_SOC_IMX_PCM_DMA
  2014-08-18 16:52   ` [alsa-devel] " Lars-Peter Clausen
@ 2014-08-19  7:41     ` Shengjiu Wang
  2014-08-19  8:13       ` Li.Xiubo
  2014-08-19  8:36       ` Lars-Peter Clausen
  0 siblings, 2 replies; 18+ messages in thread
From: Shengjiu Wang @ 2014-08-19  7:41 UTC (permalink / raw)
  To: Lars-Peter Clausen
  Cc: fabio.estevam, sfr, alsa-devel, timur, arnd, shc_work, tiwai,
	Li.Xiubo, lgirdwood, perex, nicoleotsuka, broonie, xobs,
	linuxppc-dev, linux-kernel

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

^ permalink raw reply	[flat|nested] 18+ messages in thread

* RE: [alsa-devel] [PATCH V1 1/3] ASoC: fsl: Kconfig: remove dependence of SND_IMX_SOC for SND_SOC_IMX_PCM_DMA
  2014-08-19  7:41     ` Shengjiu Wang
@ 2014-08-19  8:13       ` Li.Xiubo
  2014-08-19  8:21         ` Shengjiu Wang
  2014-08-19  8:36       ` Lars-Peter Clausen
  1 sibling, 1 reply; 18+ messages in thread
From: Li.Xiubo @ 2014-08-19  8:13 UTC (permalink / raw)
  To: shengjiu.wang, Lars-Peter Clausen
  Cc: Fabio.Estevam, sfr, alsa-devel, timur, arnd, shc_work, tiwai,
	linux-kernel, lgirdwood, perex, nicoleotsuka, broonie, xobs,
	linuxppc-dev

> 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 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=3Dm && SND_IMX_SOC=3Dn 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' whi=
ch is
> > >defined in imx-pcm-dma.c, so need to select SND_SOC_IMX_PCM_DMA, but i=
t
> depends
> > >on SND_IMX_SOC, if SND_IMX_SOC=3Dn, 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=
=3Dff40
> 260f79dc0436604452bccd449bffd25ebafb
> >
> 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


> best regards
> Wang shengjiu

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [alsa-devel] [PATCH V1 1/3] ASoC: fsl: Kconfig: remove dependence of SND_IMX_SOC for SND_SOC_IMX_PCM_DMA
  2014-08-19  8:13       ` Li.Xiubo
@ 2014-08-19  8:21         ` Shengjiu Wang
  2014-08-19  8:31           ` Li.Xiubo
  2014-08-19  9:00           ` Li.Xiubo
  0 siblings, 2 replies; 18+ messages in thread
From: Shengjiu Wang @ 2014-08-19  8:21 UTC (permalink / raw)
  To: Xiubo Li-B47053
  Cc: Estevam Fabio-R49496, sfr, alsa-devel, Lars-Peter Clausen, timur,
	arnd, shc_work, tiwai, linux-kernel, lgirdwood, perex,
	nicoleotsuka, broonie, xobs, linuxppc-dev

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

^ permalink raw reply	[flat|nested] 18+ messages in thread

* RE: [alsa-devel] [PATCH V1 1/3] ASoC: fsl: Kconfig: remove dependence of SND_IMX_SOC for SND_SOC_IMX_PCM_DMA
  2014-08-19  8:21         ` Shengjiu Wang
@ 2014-08-19  8:31           ` Li.Xiubo
  2014-08-19  9:00           ` Li.Xiubo
  1 sibling, 0 replies; 18+ messages in thread
From: Li.Xiubo @ 2014-08-19  8:31 UTC (permalink / raw)
  To: shengjiu.wang
  Cc: Fabio.Estevam, sfr, alsa-devel, Lars-Peter Clausen, timur, arnd,
	shc_work, tiwai, linux-kernel, lgirdwood, perex, nicoleotsuka,
	broonie, xobs, linuxppc-dev

> > > 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=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.
> > >
> > > 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
> > 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


> >
> >
> > > best regards
> > > Wang shengjiu

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [alsa-devel] [PATCH V1 1/3] ASoC: fsl: Kconfig: remove dependence of SND_IMX_SOC for SND_SOC_IMX_PCM_DMA
  2014-08-19  7:41     ` Shengjiu Wang
  2014-08-19  8:13       ` Li.Xiubo
@ 2014-08-19  8:36       ` Lars-Peter Clausen
  2014-08-19  8:45         ` Lars-Peter Clausen
  1 sibling, 1 reply; 18+ messages in thread
From: Lars-Peter Clausen @ 2014-08-19  8:36 UTC (permalink / raw)
  To: Shengjiu Wang
  Cc: fabio.estevam, sfr, alsa-devel, timur, arnd, shc_work, tiwai,
	Li.Xiubo, lgirdwood, perex, nicoleotsuka, broonie, xobs,
	linuxppc-dev, linux-kernel

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.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [alsa-devel] [PATCH V1 1/3] ASoC: fsl: Kconfig: remove dependence of SND_IMX_SOC for SND_SOC_IMX_PCM_DMA
  2014-08-19  8:36       ` Lars-Peter Clausen
@ 2014-08-19  8:45         ` Lars-Peter Clausen
  2014-08-19  8:55           ` Shengjiu Wang
  0 siblings, 1 reply; 18+ messages in thread
From: Lars-Peter Clausen @ 2014-08-19  8:45 UTC (permalink / raw)
  To: Shengjiu Wang
  Cc: fabio.estevam, sfr, alsa-devel, arnd, shc_work, tiwai,
	linux-kernel, broonie, timur, lgirdwood, nicoleotsuka, Li.Xiubo,
	xobs, linuxppc-dev

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

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [alsa-devel] [PATCH V1 1/3] ASoC: fsl: Kconfig: remove dependence of SND_IMX_SOC for SND_SOC_IMX_PCM_DMA
  2014-08-19  8:45         ` Lars-Peter Clausen
@ 2014-08-19  8:55           ` Shengjiu Wang
  0 siblings, 0 replies; 18+ messages in thread
From: Shengjiu Wang @ 2014-08-19  8:55 UTC (permalink / raw)
  To: Lars-Peter Clausen
  Cc: fabio.estevam, sfr, alsa-devel, arnd, shc_work, tiwai,
	linux-kernel, broonie, timur, lgirdwood, nicoleotsuka, Li.Xiubo,
	xobs, linuxppc-dev

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 

^ permalink raw reply	[flat|nested] 18+ messages in thread

* RE: [alsa-devel] [PATCH V1 1/3] ASoC: fsl: Kconfig: remove dependence of SND_IMX_SOC for SND_SOC_IMX_PCM_DMA
  2014-08-19  8:21         ` Shengjiu Wang
  2014-08-19  8:31           ` Li.Xiubo
@ 2014-08-19  9:00           ` Li.Xiubo
  2014-08-19  9:05             ` shengjiu.wang
  2014-08-19 10:35             ` Takashi Iwai
  1 sibling, 2 replies; 18+ messages in thread
From: Li.Xiubo @ 2014-08-19  9:00 UTC (permalink / raw)
  To: shengjiu.wang
  Cc: Fabio.Estevam, sfr, alsa-devel, Lars-Peter Clausen, timur, arnd,
	shc_work, tiwai, linux-kernel, lgirdwood, perex, nicoleotsuka,
	broonie, xobs, linuxppc-dev

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:
> > > 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=3Dm && SND_IMX_SOC=3Dn leads=
 the
> > > following
> > > > >error:
> > > > >
> > > > >    sound/built-in.o: In function `fsl_sai_probe':
> > > > >>>fsl_sai.c:(.text+0x5f662): undefined reference to `imx_pcm_dma_i=
nit'
> > > > >    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, b=
ut it
> > > depends
> > > > >on SND_IMX_SOC, if SND_IMX_SOC=3Dn, 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 buil=
d
> > > > 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
> > > 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=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.
> > >
> > > 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
> > 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
> >
> >
> > > best regards
> > > Wang shengjiu

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* RE: [alsa-devel] [PATCH V1 1/3] ASoC: fsl: Kconfig: remove dependence of SND_IMX_SOC for SND_SOC_IMX_PCM_DMA
  2014-08-19  9:00           ` Li.Xiubo
@ 2014-08-19  9:05             ` shengjiu.wang
  2014-08-19 10:35             ` Takashi Iwai
  1 sibling, 0 replies; 18+ messages in thread
From: shengjiu.wang @ 2014-08-19  9:05 UTC (permalink / raw)
  To: Li.Xiubo
  Cc: Fabio.Estevam, sfr, alsa-devel, Lars-Peter Clausen, timur, arnd,
	shc_work, tiwai, linux-kernel, lgirdwood, perex, nicoleotsuka,
	broonie, xobs, linuxppc-dev

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=
42f18c 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;=20
> perex@perex.cz; tiwai@suse.de; nicoleotsuka@gmail.com;=20
> shc_work@mail.ru; Estevam Fabio-R49496; xobs@kosagi.com;=20
> arnd@arndb.de; sfr@canb.auug.org.au; timur@tabi.org;=20
> alsa-devel@alsa-project.org; linuxppc-dev@lists.ozlabs.org;=20
> linux-kernel@vger.kernel.org
> Subject: Re: [alsa-devel] [PATCH V1 1/3] ASoC: fsl: Kconfig: remove=20
> dependence 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:
> > > Subject: Re: [alsa-devel] [PATCH V1 1/3] ASoC: fsl: Kconfig:=20
> > > 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=3Dm && SND_IMX_SOC=3Dn leads=
=20
> > > > >the
> > > following
> > > > >error:
> > > > >
> > > > >    sound/built-in.o: In function `fsl_sai_probe':
> > > > >>>fsl_sai.c:(.text+0x5f662): undefined reference to `imx_pcm_dma_i=
nit'
> > > > >    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=20
> > > > >SND_SOC_IMX_PCM_DMA, but it
> > > depends
> > > > >on SND_IMX_SOC, if SND_IMX_SOC=3Dn, then SND_SOC_IMX_PCM_DMA will=
=20
> > > > >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=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]
> > >
> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/
> ?id=3Dff40
> > > 260f79dc0436604452bccd449bffd25ebafb
> > > >
> > > 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'".
> > > 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
> > 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
> >
> >
> > > best regards
> > > Wang shengjiu

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [alsa-devel] [PATCH V1 1/3] ASoC: fsl: Kconfig: remove dependence of SND_IMX_SOC for SND_SOC_IMX_PCM_DMA
  2014-08-19  9:00           ` Li.Xiubo
  2014-08-19  9:05             ` shengjiu.wang
@ 2014-08-19 10:35             ` Takashi Iwai
  2014-08-19 10:39               ` Lars-Peter Clausen
  1 sibling, 1 reply; 18+ messages in thread
From: Takashi Iwai @ 2014-08-19 10:35 UTC (permalink / raw)
  To: Li.Xiubo
  Cc: Fabio.Estevam, sfr, shengjiu.wang, Lars-Peter Clausen, timur,
	arnd, shc_work, linux-kernel, lgirdwood, perex, nicoleotsuka,
	broonie, xobs, alsa-devel, linuxppc-dev

At Tue, 19 Aug 2014 09:00:06 +0000,
Li.Xiubo@freescale.com wrote:
> 
> 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 != 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.
> @@ -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

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

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [alsa-devel] [PATCH V1 1/3] ASoC: fsl: Kconfig: remove dependence of SND_IMX_SOC for SND_SOC_IMX_PCM_DMA
  2014-08-19 10:35             ` Takashi Iwai
@ 2014-08-19 10:39               ` Lars-Peter Clausen
  0 siblings, 0 replies; 18+ messages in thread
From: Lars-Peter Clausen @ 2014-08-19 10:39 UTC (permalink / raw)
  To: Takashi Iwai, Li.Xiubo
  Cc: Fabio.Estevam, sfr, shengjiu.wang, timur, arnd, shc_work,
	linux-kernel, lgirdwood, perex, nicoleotsuka, broonie, xobs,
	alsa-devel, linuxppc-dev

On 08/19/2014 12:35 PM, Takashi Iwai wrote:
> At Tue, 19 Aug 2014 09:00:06 +0000,
> Li.Xiubo@freescale.com wrote:
>>
>> 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 != 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.
>> @@ -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
>
> 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

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2014-08-19 10:39 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-18  8:38 [PATCH V1 0/3] fix build error/warning in sound/soc/fsl Shengjiu Wang
2014-08-18  8:38 ` [PATCH V1 1/3] ASoC: fsl: Kconfig: remove dependence of SND_IMX_SOC for SND_SOC_IMX_PCM_DMA Shengjiu Wang
2014-08-18 16:52   ` [alsa-devel] " Lars-Peter Clausen
2014-08-19  7:41     ` Shengjiu Wang
2014-08-19  8:13       ` Li.Xiubo
2014-08-19  8:21         ` Shengjiu Wang
2014-08-19  8:31           ` Li.Xiubo
2014-08-19  9:00           ` Li.Xiubo
2014-08-19  9:05             ` shengjiu.wang
2014-08-19 10:35             ` Takashi Iwai
2014-08-19 10:39               ` Lars-Peter Clausen
2014-08-19  8:36       ` Lars-Peter Clausen
2014-08-19  8:45         ` Lars-Peter Clausen
2014-08-19  8:55           ` Shengjiu Wang
2014-08-18  8:38 ` [PATCH V1 2/3] ASoC: fsl-asoc-card: Fix build warning for maybe-uninitialized Shengjiu Wang
2014-08-18 14:53   ` Mark Brown
2014-08-18  8:38 ` [PATCH V1 3/3] ASoC: fsl: fsl-asoc-card: Select SND_SOC_IMX_AUDMUX Shengjiu Wang
2014-08-18 14:54   ` Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).