2019-03-04 20:32:43

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH 1/3] 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 <[email protected]>
---
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



2019-03-04 20:34:06

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH 3/3] 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 <[email protected]>
---
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


2019-03-04 20:34:57

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH 2/3] ASoC: ti: remove compat dma probing

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 <[email protected]>
---
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


2019-03-05 02:28:58

by Cheng-Yi Chiang

[permalink] [raw]
Subject: Re: [PATCH 3/3] ASoC: qcom: add i2c dependency for SND_SOC_SDM845

On Tue, Mar 5, 2019 at 4:32 AM Arnd Bergmann <[email protected]> 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 <[email protected]>
> ---
> 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 <[email protected]>

2019-03-07 13:24:57

by Peter Ujfalusi

[permalink] [raw]
Subject: Re: [PATCH 2/3] ASoC: ti: remove compat dma probing

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 <[email protected]>

> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> 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

2019-03-07 13:27:12

by Peter Ujfalusi

[permalink] [raw]
Subject: Re: [PATCH 1/3] ASoC: ti: fix davinci_mcasp_probe dependencies

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 <[email protected]>

>
> Fixes: f2055e145f29 ("ASoC: ti: Merge davinci and omap directories")
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> 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

2019-03-07 15:13:34

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH 2/3] ASoC: ti: remove compat dma probing

On Thu, Mar 7, 2019 at 2:22 PM Peter Ujfalusi <[email protected]> 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 <[email protected]>

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

2019-03-11 17:24:44

by Mark Brown

[permalink] [raw]
Subject: Applied "ASoC: ti: fix davinci_mcasp_probe dependencies" to the asoc tree

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 <[email protected]>
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 <[email protected]>
Acked-by: Peter Ujfalusi <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
---
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


2019-03-11 17:26:43

by Mark Brown

[permalink] [raw]
Subject: Applied "ASoC: qcom: add i2c dependency for SND_SOC_SDM845" to the asoc tree

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 <[email protected]>
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 <[email protected]>
Acked-by: Cheng-Yi Chiang <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
---
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


2019-03-13 15:39:31

by Mark Brown

[permalink] [raw]
Subject: Applied "ASoC: ti: fix davinci_mcasp_probe dependencies" to the asoc tree

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 <[email protected]>
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 <[email protected]>
Acked-by: Peter Ujfalusi <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
---
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


2019-03-13 15:39:57

by Mark Brown

[permalink] [raw]
Subject: Applied "ASoC: qcom: add i2c dependency for SND_SOC_SDM845" to the asoc tree

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 <[email protected]>
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 <[email protected]>
Acked-by: Cheng-Yi Chiang <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
---
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


2019-03-14 15:54:32

by Mark Brown

[permalink] [raw]
Subject: Applied "ASoC: ti: fix davinci_mcasp_probe dependencies" to the asoc tree

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 <[email protected]>
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 <[email protected]>
Acked-by: Peter Ujfalusi <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
---
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


2019-03-14 16:22:15

by Mark Brown

[permalink] [raw]
Subject: Applied "ASoC: qcom: add i2c dependency for SND_SOC_SDM845" to the asoc tree

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 <[email protected]>
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 <[email protected]>
Acked-by: Cheng-Yi Chiang <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
---
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