linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] ASoC: ti: fix davinci_mcasp_probe dependencies
@ 2019-03-04 20:30 Arnd Bergmann
  2019-03-04 20:30 ` [PATCH 2/3] ASoC: ti: remove compat dma probing Arnd Bergmann
                   ` (5 more replies)
  0 siblings, 6 replies; 13+ messages in thread
From: Arnd Bergmann @ 2019-03-04 20:30 UTC (permalink / raw)
  To: Peter Ujfalusi, Mark Brown
  Cc: Arnd Bergmann, Liam Girdwood, Tony Lindgren, Jarkko Nikula,
	alsa-devel, linux-kernel

The SND_SOC_DAVINCI_MCASP driver can use either edma or sdma as
a back-end, and it takes the presence of the respective dma engine
drivers in the configuration as an indication to which ones should be
built. However, this is flawed in multiple ways:

- With CONFIG_TI_EDMA=m and CONFIG_SND_SOC_DAVINCI_MCASP=y,
  is enabled as =m, and we get a link error:
  sound/soc/ti/davinci-mcasp.o: In function `davinci_mcasp_probe':
  davinci-mcasp.c:(.text+0x930): undefined reference to `edma_pcm_platform_register'

- When CONFIG_SND_SOC_DAVINCI_MCASP=m has already been selected by
  another driver, the same link error appears even if CONFIG_TI_EDMA
  is disabled

There are possibly other issues here, but it seems that the only reasonable
solution is to always build both SND_SOC_TI_EDMA_PCM and
SND_SOC_TI_SDMA_PCM as a dependency here. Both are fairly small and
do not have any other compile-time dependencies, so the cost is
very small, and makes the configuration stage much more consistent.

Fixes: f2055e145f29 ("ASoC: ti: Merge davinci and omap directories")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 sound/soc/ti/Kconfig | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/soc/ti/Kconfig b/sound/soc/ti/Kconfig
index 4bf3c15d4e51..ee7c202c69b7 100644
--- a/sound/soc/ti/Kconfig
+++ b/sound/soc/ti/Kconfig
@@ -21,8 +21,8 @@ config SND_SOC_DAVINCI_ASP
 
 config SND_SOC_DAVINCI_MCASP
 	tristate "Multichannel Audio Serial Port (McASP) support"
-	select SND_SOC_TI_EDMA_PCM if TI_EDMA
-	select SND_SOC_TI_SDMA_PCM if DMA_OMAP
+	select SND_SOC_TI_EDMA_PCM
+	select SND_SOC_TI_SDMA_PCM
 	help
 	  Say Y or M here if you want to have support for McASP IP found in
 	  various Texas Instruments SoCs like:
-- 
2.20.0


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

* [PATCH 2/3] ASoC: ti: remove compat dma probing
  2019-03-04 20:30 [PATCH 1/3] ASoC: ti: fix davinci_mcasp_probe dependencies Arnd Bergmann
@ 2019-03-04 20:30 ` Arnd Bergmann
  2019-03-07 13:23   ` Peter Ujfalusi
  2019-03-04 20:30 ` [PATCH 3/3] ASoC: qcom: add i2c dependency for SND_SOC_SDM845 Arnd Bergmann
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 13+ messages in thread
From: Arnd Bergmann @ 2019-03-04 20:30 UTC (permalink / raw)
  To: Peter Ujfalusi, Mark Brown
  Cc: Arnd Bergmann, Liam Girdwood, Jaroslav Kysela, Takashi Iwai,
	Jarkko Nikula, Tony Lindgren, alsa-devel, linux-kernel,
	linux-omap

After running into a link error:

sound/soc/ti/edma-pcm.o:(.rodata+0x18): undefined reference to `edma_filter_fn'

I checked all users of this, and they have new-style 'dma_slave_map' tables,
so none of them should still need it. Removing the associated lines
simplifies the code and avoids the build-time dependency on the
respective dmaengine drivers.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 sound/soc/ti/edma-pcm.c | 4 +---
 sound/soc/ti/sdma-pcm.c | 8 +++-----
 2 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/sound/soc/ti/edma-pcm.c b/sound/soc/ti/edma-pcm.c
index 59e588abe54b..5b9e341309f0 100644
--- a/sound/soc/ti/edma-pcm.c
+++ b/sound/soc/ti/edma-pcm.c
@@ -43,14 +43,12 @@ static const struct snd_pcm_hardware edma_pcm_hardware = {
 static const struct snd_dmaengine_pcm_config edma_dmaengine_pcm_config = {
 	.pcm_hardware = &edma_pcm_hardware,
 	.prepare_slave_config = snd_dmaengine_pcm_prepare_slave_config,
-	.compat_filter_fn = edma_filter_fn,
 	.prealloc_buffer_size = 128 * 1024,
 };
 
 int edma_pcm_platform_register(struct device *dev)
 {
-	return devm_snd_dmaengine_pcm_register(dev, &edma_dmaengine_pcm_config,
-					SND_DMAENGINE_PCM_FLAG_COMPAT);
+	return devm_snd_dmaengine_pcm_register(dev, &edma_dmaengine_pcm_config, 0);
 }
 EXPORT_SYMBOL_GPL(edma_pcm_platform_register);
 
diff --git a/sound/soc/ti/sdma-pcm.c b/sound/soc/ti/sdma-pcm.c
index 21a9c2499d48..3e83a3920dc7 100644
--- a/sound/soc/ti/sdma-pcm.c
+++ b/sound/soc/ti/sdma-pcm.c
@@ -31,7 +31,6 @@ static const struct snd_pcm_hardware sdma_pcm_hardware = {
 static const struct snd_dmaengine_pcm_config sdma_dmaengine_pcm_config = {
 	.pcm_hardware = &sdma_pcm_hardware,
 	.prepare_slave_config = snd_dmaengine_pcm_prepare_slave_config,
-	.compat_filter_fn = omap_dma_filter_fn,
 	.prealloc_buffer_size = 128 * 1024,
 };
 
@@ -39,13 +38,12 @@ int sdma_pcm_platform_register(struct device *dev,
 			       char *txdmachan, char *rxdmachan)
 {
 	struct snd_dmaengine_pcm_config *config;
-	unsigned int flags = SND_DMAENGINE_PCM_FLAG_COMPAT;
+	unsigned int flags = 0;
 
 	/* Standard names for the directions: 'tx' and 'rx' */
 	if (!txdmachan && !rxdmachan)
 		return devm_snd_dmaengine_pcm_register(dev,
-						&sdma_dmaengine_pcm_config,
-						flags);
+						&sdma_dmaengine_pcm_config, 0);
 
 	config = devm_kzalloc(dev, sizeof(*config), GFP_KERNEL);
 	if (!config)
@@ -65,7 +63,7 @@ int sdma_pcm_platform_register(struct device *dev,
 	config->chan_names[0] = txdmachan;
 	config->chan_names[1] = rxdmachan;
 
-	return devm_snd_dmaengine_pcm_register(dev, config, flags);
+	return devm_snd_dmaengine_pcm_register(dev, config, 0);
 }
 EXPORT_SYMBOL_GPL(sdma_pcm_platform_register);
 
-- 
2.20.0


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

* [PATCH 3/3] ASoC: qcom: add i2c dependency for SND_SOC_SDM845
  2019-03-04 20:30 [PATCH 1/3] ASoC: ti: fix davinci_mcasp_probe dependencies Arnd Bergmann
  2019-03-04 20:30 ` [PATCH 2/3] ASoC: ti: remove compat dma probing Arnd Bergmann
@ 2019-03-04 20:30 ` Arnd Bergmann
  2019-03-05  2:27   ` Cheng-yi Chiang
                     ` (3 more replies)
  2019-03-07 13:25 ` [PATCH 1/3] ASoC: ti: fix davinci_mcasp_probe dependencies Peter Ujfalusi
                   ` (3 subsequent siblings)
  5 siblings, 4 replies; 13+ messages in thread
From: Arnd Bergmann @ 2019-03-04 20:30 UTC (permalink / raw)
  To: Patrick Lai, Banajit Goswami, Mark Brown
  Cc: Arnd Bergmann, Liam Girdwood, Jaroslav Kysela, Takashi Iwai,
	Srinivas Kandagatla, Rohit kumar, Cheng-Yi Chiang, alsa-devel,
	linux-kernel

We must not select SND_SOC_MAX98927 unless CONFIG_I2C
is also enabled:

WARNING: unmet direct dependencies detected for SND_SOC_MAX98927
  Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && I2C [=n]
  Selected by [y]:
  - SND_SOC_SDM845 [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && QCOM_APR [=y] && MFD_CROS_EC [=y]

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 sound/soc/qcom/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/qcom/Kconfig b/sound/soc/qcom/Kconfig
index 75ceb04d8bf0..b1764af858ba 100644
--- a/sound/soc/qcom/Kconfig
+++ b/sound/soc/qcom/Kconfig
@@ -98,7 +98,7 @@ config SND_SOC_MSM8996
 
 config SND_SOC_SDM845
 	tristate "SoC Machine driver for SDM845 boards"
-	depends on QCOM_APR && MFD_CROS_EC
+	depends on QCOM_APR && MFD_CROS_EC && I2C
 	select SND_SOC_QDSP6
 	select SND_SOC_QCOM_COMMON
 	select SND_SOC_RT5663
-- 
2.20.0


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

* Re: [PATCH 3/3] ASoC: qcom: add i2c dependency for SND_SOC_SDM845
  2019-03-04 20:30 ` [PATCH 3/3] ASoC: qcom: add i2c dependency for SND_SOC_SDM845 Arnd Bergmann
@ 2019-03-05  2:27   ` Cheng-yi Chiang
  2019-03-11 17:23   ` Applied "ASoC: qcom: add i2c dependency for SND_SOC_SDM845" to the asoc tree Mark Brown
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 13+ messages in thread
From: Cheng-yi Chiang @ 2019-03-05  2:27 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Patrick Lai, Banajit Goswami, Mark Brown, Liam Girdwood,
	Jaroslav Kysela, Takashi Iwai, Srinivas Kandagatla, Rohit kumar,
	alsa-devel, linux-kernel

On Tue, Mar 5, 2019 at 4:32 AM Arnd Bergmann <arnd@arndb.de> wrote:
>
> We must not select SND_SOC_MAX98927 unless CONFIG_I2C
> is also enabled:
>
> WARNING: unmet direct dependencies detected for SND_SOC_MAX98927
>   Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && I2C [=n]
>   Selected by [y]:
>   - SND_SOC_SDM845 [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && QCOM_APR [=y] && MFD_CROS_EC [=y]
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  sound/soc/qcom/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/sound/soc/qcom/Kconfig b/sound/soc/qcom/Kconfig
> index 75ceb04d8bf0..b1764af858ba 100644
> --- a/sound/soc/qcom/Kconfig
> +++ b/sound/soc/qcom/Kconfig
> @@ -98,7 +98,7 @@ config SND_SOC_MSM8996
>
>  config SND_SOC_SDM845
>         tristate "SoC Machine driver for SDM845 boards"
> -       depends on QCOM_APR && MFD_CROS_EC
> +       depends on QCOM_APR && MFD_CROS_EC && I2C
>         select SND_SOC_QDSP6
>         select SND_SOC_QCOM_COMMON
>         select SND_SOC_RT5663
> --
> 2.20.0
>
Hi Arnd,
Thank you for the fix.
Acked-by: Cheng-Yi Chiang <cychiang@chromium.org>

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

* Re: [PATCH 2/3] ASoC: ti: remove compat dma probing
  2019-03-04 20:30 ` [PATCH 2/3] ASoC: ti: remove compat dma probing Arnd Bergmann
@ 2019-03-07 13:23   ` Peter Ujfalusi
  2019-03-07 15:12     ` Arnd Bergmann
  0 siblings, 1 reply; 13+ messages in thread
From: Peter Ujfalusi @ 2019-03-07 13:23 UTC (permalink / raw)
  To: Arnd Bergmann, Mark Brown
  Cc: Liam Girdwood, Jaroslav Kysela, Takashi Iwai, Jarkko Nikula,
	Tony Lindgren, alsa-devel, linux-kernel, linux-omap

Hi Arnd,

On 04/03/2019 22.30, Arnd Bergmann wrote:
> After running into a link error:
> 
> sound/soc/ti/edma-pcm.o:(.rodata+0x18): undefined reference to `edma_filter_fn'
> 
> I checked all users of this, and they have new-style 'dma_slave_map' tables,
> so none of them should still need it. Removing the associated lines
> simplifies the code and avoids the build-time dependency on the
> respective dmaengine drivers.

Thank you for the patch!

Yes, I believe I have covered all possible legacy uses for both edma and
sdma with dma_slave_map

With the two comments addressed:
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  sound/soc/ti/edma-pcm.c | 4 +---
>  sound/soc/ti/sdma-pcm.c | 8 +++-----
>  2 files changed, 4 insertions(+), 8 deletions(-)
> 
> diff --git a/sound/soc/ti/edma-pcm.c b/sound/soc/ti/edma-pcm.c
> index 59e588abe54b..5b9e341309f0 100644
> --- a/sound/soc/ti/edma-pcm.c
> +++ b/sound/soc/ti/edma-pcm.c
> @@ -43,14 +43,12 @@ static const struct snd_pcm_hardware edma_pcm_hardware = {
>  static const struct snd_dmaengine_pcm_config edma_dmaengine_pcm_config = {
>  	.pcm_hardware = &edma_pcm_hardware,
>  	.prepare_slave_config = snd_dmaengine_pcm_prepare_slave_config,
> -	.compat_filter_fn = edma_filter_fn,

We can also remove the
#include <linux/edma.h>

as it is no longer needed.

>  	.prealloc_buffer_size = 128 * 1024,
>  };
>  
>  int edma_pcm_platform_register(struct device *dev)
>  {
> -	return devm_snd_dmaengine_pcm_register(dev, &edma_dmaengine_pcm_config,
> -					SND_DMAENGINE_PCM_FLAG_COMPAT);
> +	return devm_snd_dmaengine_pcm_register(dev, &edma_dmaengine_pcm_config, 0);
>  }
>  EXPORT_SYMBOL_GPL(edma_pcm_platform_register);
>  
> diff --git a/sound/soc/ti/sdma-pcm.c b/sound/soc/ti/sdma-pcm.c
> index 21a9c2499d48..3e83a3920dc7 100644
> --- a/sound/soc/ti/sdma-pcm.c
> +++ b/sound/soc/ti/sdma-pcm.c
> @@ -31,7 +31,6 @@ static const struct snd_pcm_hardware sdma_pcm_hardware = {
>  static const struct snd_dmaengine_pcm_config sdma_dmaengine_pcm_config = {
>  	.pcm_hardware = &sdma_pcm_hardware,
>  	.prepare_slave_config = snd_dmaengine_pcm_prepare_slave_config,
> -	.compat_filter_fn = omap_dma_filter_fn,

Here we can remove the
#include <linux/omap-dmaengine.h>

>  	.prealloc_buffer_size = 128 * 1024,
>  };
>  
> @@ -39,13 +38,12 @@ int sdma_pcm_platform_register(struct device *dev,
>  			       char *txdmachan, char *rxdmachan)
>  {
>  	struct snd_dmaengine_pcm_config *config;
> -	unsigned int flags = SND_DMAENGINE_PCM_FLAG_COMPAT;
> +	unsigned int flags = 0;
>  
>  	/* Standard names for the directions: 'tx' and 'rx' */
>  	if (!txdmachan && !rxdmachan)
>  		return devm_snd_dmaengine_pcm_register(dev,
> -						&sdma_dmaengine_pcm_config,
> -						flags);
> +						&sdma_dmaengine_pcm_config, 0);
>  
>  	config = devm_kzalloc(dev, sizeof(*config), GFP_KERNEL);
>  	if (!config)
> @@ -65,7 +63,7 @@ int sdma_pcm_platform_register(struct device *dev,
>  	config->chan_names[0] = txdmachan;
>  	config->chan_names[1] = rxdmachan;
>  
> -	return devm_snd_dmaengine_pcm_register(dev, config, flags);
> +	return devm_snd_dmaengine_pcm_register(dev, config, 0);
>  }
>  EXPORT_SYMBOL_GPL(sdma_pcm_platform_register);
>  
> 

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

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

* Re: [PATCH 1/3] ASoC: ti: fix davinci_mcasp_probe dependencies
  2019-03-04 20:30 [PATCH 1/3] ASoC: ti: fix davinci_mcasp_probe dependencies Arnd Bergmann
  2019-03-04 20:30 ` [PATCH 2/3] ASoC: ti: remove compat dma probing Arnd Bergmann
  2019-03-04 20:30 ` [PATCH 3/3] ASoC: qcom: add i2c dependency for SND_SOC_SDM845 Arnd Bergmann
@ 2019-03-07 13:25 ` Peter Ujfalusi
  2019-03-11 17:23 ` Applied "ASoC: ti: fix davinci_mcasp_probe dependencies" to the asoc tree Mark Brown
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 13+ messages in thread
From: Peter Ujfalusi @ 2019-03-07 13:25 UTC (permalink / raw)
  To: Arnd Bergmann, Mark Brown
  Cc: Liam Girdwood, Tony Lindgren, Jarkko Nikula, alsa-devel, linux-kernel

Hi Arnd,

On 04/03/2019 22.30, Arnd Bergmann wrote:
> The SND_SOC_DAVINCI_MCASP driver can use either edma or sdma as
> a back-end, and it takes the presence of the respective dma engine
> drivers in the configuration as an indication to which ones should be
> built. However, this is flawed in multiple ways:
> 
> - With CONFIG_TI_EDMA=m and CONFIG_SND_SOC_DAVINCI_MCASP=y,
>   is enabled as =m, and we get a link error:
>   sound/soc/ti/davinci-mcasp.o: In function `davinci_mcasp_probe':
>   davinci-mcasp.c:(.text+0x930): undefined reference to `edma_pcm_platform_register'

In non randconfig case both edma and sdma DMAengine driver would be
built in so I did missed this for sure.

> - When CONFIG_SND_SOC_DAVINCI_MCASP=m has already been selected by
>   another driver, the same link error appears even if CONFIG_TI_EDMA
>   is disabled
> 
> There are possibly other issues here, but it seems that the only reasonable
> solution is to always build both SND_SOC_TI_EDMA_PCM and
> SND_SOC_TI_SDMA_PCM as a dependency here. Both are fairly small and
> do not have any other compile-time dependencies, so the cost is
> very small, and makes the configuration stage much more consistent.

Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>

> 
> Fixes: f2055e145f29 ("ASoC: ti: Merge davinci and omap directories")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  sound/soc/ti/Kconfig | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/sound/soc/ti/Kconfig b/sound/soc/ti/Kconfig
> index 4bf3c15d4e51..ee7c202c69b7 100644
> --- a/sound/soc/ti/Kconfig
> +++ b/sound/soc/ti/Kconfig
> @@ -21,8 +21,8 @@ config SND_SOC_DAVINCI_ASP
>  
>  config SND_SOC_DAVINCI_MCASP
>  	tristate "Multichannel Audio Serial Port (McASP) support"
> -	select SND_SOC_TI_EDMA_PCM if TI_EDMA
> -	select SND_SOC_TI_SDMA_PCM if DMA_OMAP
> +	select SND_SOC_TI_EDMA_PCM
> +	select SND_SOC_TI_SDMA_PCM
>  	help
>  	  Say Y or M here if you want to have support for McASP IP found in
>  	  various Texas Instruments SoCs like:
> 

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

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

* Re: [PATCH 2/3] ASoC: ti: remove compat dma probing
  2019-03-07 13:23   ` Peter Ujfalusi
@ 2019-03-07 15:12     ` Arnd Bergmann
  0 siblings, 0 replies; 13+ messages in thread
From: Arnd Bergmann @ 2019-03-07 15:12 UTC (permalink / raw)
  To: Peter Ujfalusi
  Cc: Mark Brown, Liam Girdwood, Jaroslav Kysela, Takashi Iwai,
	Jarkko Nikula, Tony Lindgren, ALSA Development Mailing List,
	Linux Kernel Mailing List, linux-omap

On Thu, Mar 7, 2019 at 2:22 PM Peter Ujfalusi <peter.ujfalusi@ti.com> wrote:
>
> Hi Arnd,
>
> On 04/03/2019 22.30, Arnd Bergmann wrote:
> > After running into a link error:
> >
> > sound/soc/ti/edma-pcm.o:(.rodata+0x18): undefined reference to `edma_filter_fn'
> >
> > I checked all users of this, and they have new-style 'dma_slave_map' tables,
> > so none of them should still need it. Removing the associated lines
> > simplifies the code and avoids the build-time dependency on the
> > respective dmaengine drivers.
>
> Thank you for the patch!
>
> Yes, I believe I have covered all possible legacy uses for both edma and
> sdma with dma_slave_map
>
> With the two comments addressed:
> Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>

Thanks!

> > @@ -43,14 +43,12 @@ static const struct snd_pcm_hardware edma_pcm_hardware = {
> >  static const struct snd_dmaengine_pcm_config edma_dmaengine_pcm_config = {
> >       .pcm_hardware = &edma_pcm_hardware,
> >       .prepare_slave_config = snd_dmaengine_pcm_prepare_slave_config,
> > -     .compat_filter_fn = edma_filter_fn,
>
> We can also remove the
> #include <linux/edma.h>
>
> as it is no longer needed.

> Here we can remove the
> #include <linux/omap-dmaengine.h>

Ah, perfect!

I also see that linux/edma.h can be completely removed afterwards, and the
filter function made static. linux/omap-dmaengine.h too, but it is included
from linux/omap.h, of which at least parts are still needed for omap_udc.c

       Arnd

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

* Applied "ASoC: ti: fix davinci_mcasp_probe dependencies" to the asoc tree
  2019-03-04 20:30 [PATCH 1/3] ASoC: ti: fix davinci_mcasp_probe dependencies Arnd Bergmann
                   ` (2 preceding siblings ...)
  2019-03-07 13:25 ` [PATCH 1/3] ASoC: ti: fix davinci_mcasp_probe dependencies Peter Ujfalusi
@ 2019-03-11 17:23 ` Mark Brown
  2019-03-13 15:38 ` Mark Brown
  2019-03-14 15:53 ` Mark Brown
  5 siblings, 0 replies; 13+ messages in thread
From: Mark Brown @ 2019-03-11 17:23 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Peter Ujfalusi, Mark Brown, Peter Ujfalusi, Mark Brown,
	alsa-devel, Tony Lindgren, Liam Girdwood, linux-kernel,
	Jarkko Nikula, alsa-devel

The patch

   ASoC: ti: fix davinci_mcasp_probe dependencies

has been applied to the asoc tree at

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

From 7d7b25d05ef1c5a1a9320190e1eeb55534847558 Mon Sep 17 00:00:00 2001
From: Arnd Bergmann <arnd@arndb.de>
Date: Mon, 4 Mar 2019 21:30:50 +0100
Subject: [PATCH] ASoC: ti: fix davinci_mcasp_probe dependencies

The SND_SOC_DAVINCI_MCASP driver can use either edma or sdma as
a back-end, and it takes the presence of the respective dma engine
drivers in the configuration as an indication to which ones should be
built. However, this is flawed in multiple ways:

- With CONFIG_TI_EDMA=m and CONFIG_SND_SOC_DAVINCI_MCASP=y,
  is enabled as =m, and we get a link error:
  sound/soc/ti/davinci-mcasp.o: In function `davinci_mcasp_probe':
  davinci-mcasp.c:(.text+0x930): undefined reference to `edma_pcm_platform_register'

- When CONFIG_SND_SOC_DAVINCI_MCASP=m has already been selected by
  another driver, the same link error appears even if CONFIG_TI_EDMA
  is disabled

There are possibly other issues here, but it seems that the only reasonable
solution is to always build both SND_SOC_TI_EDMA_PCM and
SND_SOC_TI_SDMA_PCM as a dependency here. Both are fairly small and
do not have any other compile-time dependencies, so the cost is
very small, and makes the configuration stage much more consistent.

Fixes: f2055e145f29 ("ASoC: ti: Merge davinci and omap directories")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 sound/soc/ti/Kconfig | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/soc/ti/Kconfig b/sound/soc/ti/Kconfig
index 4bf3c15d4e51..ee7c202c69b7 100644
--- a/sound/soc/ti/Kconfig
+++ b/sound/soc/ti/Kconfig
@@ -21,8 +21,8 @@ config SND_SOC_DAVINCI_ASP
 
 config SND_SOC_DAVINCI_MCASP
 	tristate "Multichannel Audio Serial Port (McASP) support"
-	select SND_SOC_TI_EDMA_PCM if TI_EDMA
-	select SND_SOC_TI_SDMA_PCM if DMA_OMAP
+	select SND_SOC_TI_EDMA_PCM
+	select SND_SOC_TI_SDMA_PCM
 	help
 	  Say Y or M here if you want to have support for McASP IP found in
 	  various Texas Instruments SoCs like:
-- 
2.20.1


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

* Applied "ASoC: qcom: add i2c dependency for SND_SOC_SDM845" to the asoc tree
  2019-03-04 20:30 ` [PATCH 3/3] ASoC: qcom: add i2c dependency for SND_SOC_SDM845 Arnd Bergmann
  2019-03-05  2:27   ` Cheng-yi Chiang
@ 2019-03-11 17:23   ` Mark Brown
  2019-03-13 15:38   ` Mark Brown
  2019-03-14 15:53   ` Mark Brown
  3 siblings, 0 replies; 13+ messages in thread
From: Mark Brown @ 2019-03-11 17:23 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Cheng-Yi Chiang, Mark Brown, Patrick Lai, Banajit Goswami,
	Mark Brown, alsa-devel, linux-kernel, Takashi Iwai,
	Liam Girdwood, Rohit kumar, Srinivas Kandagatla, Cheng-Yi Chiang,
	alsa-devel

The patch

   ASoC: qcom: add i2c dependency for SND_SOC_SDM845

has been applied to the asoc tree at

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

From 686174a0989b1c33698b26523a1e4ccdcc84cf22 Mon Sep 17 00:00:00 2001
From: Arnd Bergmann <arnd@arndb.de>
Date: Mon, 4 Mar 2019 21:30:52 +0100
Subject: [PATCH] ASoC: qcom: add i2c dependency for SND_SOC_SDM845

We must not select SND_SOC_MAX98927 unless CONFIG_I2C
is also enabled:

WARNING: unmet direct dependencies detected for SND_SOC_MAX98927
  Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && I2C [=n]
  Selected by [y]:
  - SND_SOC_SDM845 [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && QCOM_APR [=y] && MFD_CROS_EC [=y]

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Cheng-Yi Chiang <cychiang@chromium.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 sound/soc/qcom/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/qcom/Kconfig b/sound/soc/qcom/Kconfig
index 75ceb04d8bf0..b1764af858ba 100644
--- a/sound/soc/qcom/Kconfig
+++ b/sound/soc/qcom/Kconfig
@@ -98,7 +98,7 @@ config SND_SOC_MSM8996
 
 config SND_SOC_SDM845
 	tristate "SoC Machine driver for SDM845 boards"
-	depends on QCOM_APR && MFD_CROS_EC
+	depends on QCOM_APR && MFD_CROS_EC && I2C
 	select SND_SOC_QDSP6
 	select SND_SOC_QCOM_COMMON
 	select SND_SOC_RT5663
-- 
2.20.1


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

* Applied "ASoC: ti: fix davinci_mcasp_probe dependencies" to the asoc tree
  2019-03-04 20:30 [PATCH 1/3] ASoC: ti: fix davinci_mcasp_probe dependencies Arnd Bergmann
                   ` (3 preceding siblings ...)
  2019-03-11 17:23 ` Applied "ASoC: ti: fix davinci_mcasp_probe dependencies" to the asoc tree Mark Brown
@ 2019-03-13 15:38 ` Mark Brown
  2019-03-14 15:53 ` Mark Brown
  5 siblings, 0 replies; 13+ messages in thread
From: Mark Brown @ 2019-03-13 15:38 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Peter Ujfalusi, Mark Brown, Peter Ujfalusi, Mark Brown,
	alsa-devel, Tony Lindgren, Liam Girdwood, linux-kernel,
	Jarkko Nikula, alsa-devel

The patch

   ASoC: ti: fix davinci_mcasp_probe dependencies

has been applied to the asoc tree at

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

From 7d7b25d05ef1c5a1a9320190e1eeb55534847558 Mon Sep 17 00:00:00 2001
From: Arnd Bergmann <arnd@arndb.de>
Date: Mon, 4 Mar 2019 21:30:50 +0100
Subject: [PATCH] ASoC: ti: fix davinci_mcasp_probe dependencies

The SND_SOC_DAVINCI_MCASP driver can use either edma or sdma as
a back-end, and it takes the presence of the respective dma engine
drivers in the configuration as an indication to which ones should be
built. However, this is flawed in multiple ways:

- With CONFIG_TI_EDMA=m and CONFIG_SND_SOC_DAVINCI_MCASP=y,
  is enabled as =m, and we get a link error:
  sound/soc/ti/davinci-mcasp.o: In function `davinci_mcasp_probe':
  davinci-mcasp.c:(.text+0x930): undefined reference to `edma_pcm_platform_register'

- When CONFIG_SND_SOC_DAVINCI_MCASP=m has already been selected by
  another driver, the same link error appears even if CONFIG_TI_EDMA
  is disabled

There are possibly other issues here, but it seems that the only reasonable
solution is to always build both SND_SOC_TI_EDMA_PCM and
SND_SOC_TI_SDMA_PCM as a dependency here. Both are fairly small and
do not have any other compile-time dependencies, so the cost is
very small, and makes the configuration stage much more consistent.

Fixes: f2055e145f29 ("ASoC: ti: Merge davinci and omap directories")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 sound/soc/ti/Kconfig | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/soc/ti/Kconfig b/sound/soc/ti/Kconfig
index 4bf3c15d4e51..ee7c202c69b7 100644
--- a/sound/soc/ti/Kconfig
+++ b/sound/soc/ti/Kconfig
@@ -21,8 +21,8 @@ config SND_SOC_DAVINCI_ASP
 
 config SND_SOC_DAVINCI_MCASP
 	tristate "Multichannel Audio Serial Port (McASP) support"
-	select SND_SOC_TI_EDMA_PCM if TI_EDMA
-	select SND_SOC_TI_SDMA_PCM if DMA_OMAP
+	select SND_SOC_TI_EDMA_PCM
+	select SND_SOC_TI_SDMA_PCM
 	help
 	  Say Y or M here if you want to have support for McASP IP found in
 	  various Texas Instruments SoCs like:
-- 
2.20.1


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

* Applied "ASoC: qcom: add i2c dependency for SND_SOC_SDM845" to the asoc tree
  2019-03-04 20:30 ` [PATCH 3/3] ASoC: qcom: add i2c dependency for SND_SOC_SDM845 Arnd Bergmann
  2019-03-05  2:27   ` Cheng-yi Chiang
  2019-03-11 17:23   ` Applied "ASoC: qcom: add i2c dependency for SND_SOC_SDM845" to the asoc tree Mark Brown
@ 2019-03-13 15:38   ` Mark Brown
  2019-03-14 15:53   ` Mark Brown
  3 siblings, 0 replies; 13+ messages in thread
From: Mark Brown @ 2019-03-13 15:38 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Cheng-Yi Chiang, Mark Brown, Patrick Lai, Banajit Goswami,
	Mark Brown, alsa-devel, linux-kernel, Takashi Iwai,
	Liam Girdwood, Rohit kumar, Srinivas Kandagatla, Cheng-Yi Chiang,
	alsa-devel

The patch

   ASoC: qcom: add i2c dependency for SND_SOC_SDM845

has been applied to the asoc tree at

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

From 686174a0989b1c33698b26523a1e4ccdcc84cf22 Mon Sep 17 00:00:00 2001
From: Arnd Bergmann <arnd@arndb.de>
Date: Mon, 4 Mar 2019 21:30:52 +0100
Subject: [PATCH] ASoC: qcom: add i2c dependency for SND_SOC_SDM845

We must not select SND_SOC_MAX98927 unless CONFIG_I2C
is also enabled:

WARNING: unmet direct dependencies detected for SND_SOC_MAX98927
  Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && I2C [=n]
  Selected by [y]:
  - SND_SOC_SDM845 [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && QCOM_APR [=y] && MFD_CROS_EC [=y]

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Cheng-Yi Chiang <cychiang@chromium.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 sound/soc/qcom/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/qcom/Kconfig b/sound/soc/qcom/Kconfig
index 75ceb04d8bf0..b1764af858ba 100644
--- a/sound/soc/qcom/Kconfig
+++ b/sound/soc/qcom/Kconfig
@@ -98,7 +98,7 @@ config SND_SOC_MSM8996
 
 config SND_SOC_SDM845
 	tristate "SoC Machine driver for SDM845 boards"
-	depends on QCOM_APR && MFD_CROS_EC
+	depends on QCOM_APR && MFD_CROS_EC && I2C
 	select SND_SOC_QDSP6
 	select SND_SOC_QCOM_COMMON
 	select SND_SOC_RT5663
-- 
2.20.1


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

* Applied "ASoC: ti: fix davinci_mcasp_probe dependencies" to the asoc tree
  2019-03-04 20:30 [PATCH 1/3] ASoC: ti: fix davinci_mcasp_probe dependencies Arnd Bergmann
                   ` (4 preceding siblings ...)
  2019-03-13 15:38 ` Mark Brown
@ 2019-03-14 15:53 ` Mark Brown
  5 siblings, 0 replies; 13+ messages in thread
From: Mark Brown @ 2019-03-14 15:53 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Peter Ujfalusi, Mark Brown, Peter Ujfalusi, Mark Brown,
	alsa-devel, Tony Lindgren, Liam Girdwood, linux-kernel,
	Jarkko Nikula, alsa-devel

The patch

   ASoC: ti: fix davinci_mcasp_probe dependencies

has been applied to the asoc tree at

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

From 7d7b25d05ef1c5a1a9320190e1eeb55534847558 Mon Sep 17 00:00:00 2001
From: Arnd Bergmann <arnd@arndb.de>
Date: Mon, 4 Mar 2019 21:30:50 +0100
Subject: [PATCH] ASoC: ti: fix davinci_mcasp_probe dependencies

The SND_SOC_DAVINCI_MCASP driver can use either edma or sdma as
a back-end, and it takes the presence of the respective dma engine
drivers in the configuration as an indication to which ones should be
built. However, this is flawed in multiple ways:

- With CONFIG_TI_EDMA=m and CONFIG_SND_SOC_DAVINCI_MCASP=y,
  is enabled as =m, and we get a link error:
  sound/soc/ti/davinci-mcasp.o: In function `davinci_mcasp_probe':
  davinci-mcasp.c:(.text+0x930): undefined reference to `edma_pcm_platform_register'

- When CONFIG_SND_SOC_DAVINCI_MCASP=m has already been selected by
  another driver, the same link error appears even if CONFIG_TI_EDMA
  is disabled

There are possibly other issues here, but it seems that the only reasonable
solution is to always build both SND_SOC_TI_EDMA_PCM and
SND_SOC_TI_SDMA_PCM as a dependency here. Both are fairly small and
do not have any other compile-time dependencies, so the cost is
very small, and makes the configuration stage much more consistent.

Fixes: f2055e145f29 ("ASoC: ti: Merge davinci and omap directories")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 sound/soc/ti/Kconfig | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/soc/ti/Kconfig b/sound/soc/ti/Kconfig
index 4bf3c15d4e51..ee7c202c69b7 100644
--- a/sound/soc/ti/Kconfig
+++ b/sound/soc/ti/Kconfig
@@ -21,8 +21,8 @@ config SND_SOC_DAVINCI_ASP
 
 config SND_SOC_DAVINCI_MCASP
 	tristate "Multichannel Audio Serial Port (McASP) support"
-	select SND_SOC_TI_EDMA_PCM if TI_EDMA
-	select SND_SOC_TI_SDMA_PCM if DMA_OMAP
+	select SND_SOC_TI_EDMA_PCM
+	select SND_SOC_TI_SDMA_PCM
 	help
 	  Say Y or M here if you want to have support for McASP IP found in
 	  various Texas Instruments SoCs like:
-- 
2.20.1


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

* Applied "ASoC: qcom: add i2c dependency for SND_SOC_SDM845" to the asoc tree
  2019-03-04 20:30 ` [PATCH 3/3] ASoC: qcom: add i2c dependency for SND_SOC_SDM845 Arnd Bergmann
                     ` (2 preceding siblings ...)
  2019-03-13 15:38   ` Mark Brown
@ 2019-03-14 15:53   ` Mark Brown
  3 siblings, 0 replies; 13+ messages in thread
From: Mark Brown @ 2019-03-14 15:53 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Cheng-Yi Chiang, Mark Brown, Patrick Lai, Banajit Goswami,
	Mark Brown, alsa-devel, linux-kernel, Takashi Iwai,
	Liam Girdwood, Rohit kumar, Srinivas Kandagatla, Cheng-Yi Chiang,
	alsa-devel

The patch

   ASoC: qcom: add i2c dependency for SND_SOC_SDM845

has been applied to the asoc tree at

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

From 686174a0989b1c33698b26523a1e4ccdcc84cf22 Mon Sep 17 00:00:00 2001
From: Arnd Bergmann <arnd@arndb.de>
Date: Mon, 4 Mar 2019 21:30:52 +0100
Subject: [PATCH] ASoC: qcom: add i2c dependency for SND_SOC_SDM845

We must not select SND_SOC_MAX98927 unless CONFIG_I2C
is also enabled:

WARNING: unmet direct dependencies detected for SND_SOC_MAX98927
  Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && I2C [=n]
  Selected by [y]:
  - SND_SOC_SDM845 [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && QCOM_APR [=y] && MFD_CROS_EC [=y]

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Cheng-Yi Chiang <cychiang@chromium.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 sound/soc/qcom/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/qcom/Kconfig b/sound/soc/qcom/Kconfig
index 75ceb04d8bf0..b1764af858ba 100644
--- a/sound/soc/qcom/Kconfig
+++ b/sound/soc/qcom/Kconfig
@@ -98,7 +98,7 @@ config SND_SOC_MSM8996
 
 config SND_SOC_SDM845
 	tristate "SoC Machine driver for SDM845 boards"
-	depends on QCOM_APR && MFD_CROS_EC
+	depends on QCOM_APR && MFD_CROS_EC && I2C
 	select SND_SOC_QDSP6
 	select SND_SOC_QCOM_COMMON
 	select SND_SOC_RT5663
-- 
2.20.1


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

end of thread, other threads:[~2019-03-14 15:56 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-04 20:30 [PATCH 1/3] ASoC: ti: fix davinci_mcasp_probe dependencies Arnd Bergmann
2019-03-04 20:30 ` [PATCH 2/3] ASoC: ti: remove compat dma probing Arnd Bergmann
2019-03-07 13:23   ` Peter Ujfalusi
2019-03-07 15:12     ` Arnd Bergmann
2019-03-04 20:30 ` [PATCH 3/3] ASoC: qcom: add i2c dependency for SND_SOC_SDM845 Arnd Bergmann
2019-03-05  2:27   ` Cheng-yi Chiang
2019-03-11 17:23   ` Applied "ASoC: qcom: add i2c dependency for SND_SOC_SDM845" to the asoc tree Mark Brown
2019-03-13 15:38   ` Mark Brown
2019-03-14 15:53   ` Mark Brown
2019-03-07 13:25 ` [PATCH 1/3] ASoC: ti: fix davinci_mcasp_probe dependencies Peter Ujfalusi
2019-03-11 17:23 ` Applied "ASoC: ti: fix davinci_mcasp_probe dependencies" to the asoc tree Mark Brown
2019-03-13 15:38 ` Mark Brown
2019-03-14 15:53 ` 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).