alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] ASoC: atmel: simplify Kconfig
@ 2015-05-25 22:04 Alexandre Belloni
  2015-05-25 22:04 ` [PATCH 2/2] ASoC: atmel: compile pcm driver in snd-soc-atmel_ssc_dai Alexandre Belloni
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Alexandre Belloni @ 2015-05-25 22:04 UTC (permalink / raw)
  To: Nicolas Ferre, Mark Brown
  Cc: Arnd Bergmann, alsa-devel, linux-arm-kernel, linux-kernel,
	Alexandre Belloni

Enclose the options in if SND_ATMEL_SOC ... endif to remove the dependency.
Also remove the useless description for SND_ATMEL_SOC_SSC.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
---
 sound/soc/atmel/Kconfig | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig
index e7d08806f3e9..93abe4e6d596 100644
--- a/sound/soc/atmel/Kconfig
+++ b/sound/soc/atmel/Kconfig
@@ -6,27 +6,22 @@ config SND_ATMEL_SOC
 	  the ATMEL SSC interface. You will also need
 	  to select the audio interfaces to support below.
 
+if SND_ATMEL_SOC
+
 config SND_ATMEL_SOC_PDC
 	tristate
-	depends on SND_ATMEL_SOC
 
 config SND_ATMEL_SOC_DMA
 	tristate
-	depends on SND_ATMEL_SOC
 	select SND_SOC_GENERIC_DMAENGINE_PCM
 
 config SND_ATMEL_SOC_SSC
 	tristate
-	depends on SND_ATMEL_SOC
-	help
-	  Say Y or M if you want to add support for codecs the
-	  ATMEL SSC interface. You will also needs to select the individual
-	  machine drivers to support below.
 
 config SND_AT91_SOC_SAM9G20_WM8731
 	tristate "SoC Audio support for WM8731-based At91sam9g20 evaluation board"
 	depends on ARCH_AT91 || COMPILE_TEST
-	depends on ATMEL_SSC && SND_ATMEL_SOC && SND_SOC_I2C_AND_SPI
+	depends on ATMEL_SSC && SND_SOC_I2C_AND_SPI
 	select SND_ATMEL_SOC_PDC
 	select SND_ATMEL_SOC_SSC
 	select SND_SOC_WM8731
@@ -37,7 +32,7 @@ config SND_AT91_SOC_SAM9G20_WM8731
 config SND_ATMEL_SOC_WM8904
 	tristate "Atmel ASoC driver for boards using WM8904 codec"
 	depends on ARCH_AT91 || COMPILE_TEST
-	depends on ATMEL_SSC && SND_ATMEL_SOC && I2C
+	depends on ATMEL_SSC && I2C
 	select SND_ATMEL_SOC_SSC
 	select SND_ATMEL_SOC_DMA
 	select SND_SOC_WM8904
@@ -48,10 +43,11 @@ config SND_ATMEL_SOC_WM8904
 config SND_AT91_SOC_SAM9X5_WM8731
 	tristate "SoC Audio support for WM8731-based at91sam9x5 board"
 	depends on ARCH_AT91 || COMPILE_TEST
-	depends on ATMEL_SSC && SND_ATMEL_SOC && SND_SOC_I2C_AND_SPI
+	depends on ATMEL_SSC && SND_SOC_I2C_AND_SPI
 	select SND_ATMEL_SOC_SSC
 	select SND_ATMEL_SOC_DMA
 	select SND_SOC_WM8731
 	help
 	  Say Y if you want to add support for audio SoC on an
 	  at91sam9x5 based board that is using WM8731 codec.
+endif
-- 
2.1.4

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

* [PATCH 2/2] ASoC: atmel: compile pcm driver in snd-soc-atmel_ssc_dai
  2015-05-25 22:04 [PATCH 1/2] ASoC: atmel: simplify Kconfig Alexandre Belloni
@ 2015-05-25 22:04 ` Alexandre Belloni
  2015-05-26  9:53   ` Mark Brown
                     ` (3 more replies)
  2015-05-26  9:53 ` [PATCH 1/2] ASoC: atmel: simplify Kconfig Mark Brown
  2015-05-26 10:13 ` Nicolas Ferre
  2 siblings, 4 replies; 11+ messages in thread
From: Alexandre Belloni @ 2015-05-25 22:04 UTC (permalink / raw)
  To: Nicolas Ferre, Mark Brown
  Cc: Arnd Bergmann, alsa-devel, linux-arm-kernel, linux-kernel,
	Alexandre Belloni

It is currently possible to have CONFIG_SND_ATMEL_SOC_SSC=y with either
CONFIG_SND_ATMEL_SOC_PDC=m or CONFIG_SND_ATMEL_SOC_DMA=m. This results in a
driver that compiles but does not link with this kind of error:

sound/built-in.o: In function `atmel_ssc_set_audio':
(.text+0x87d90): undefined reference to `atmel_pcm_pdc_platform_register'
sound/built-in.o: In function `atmel_ssc_put_audio':
(.text+0x8879a): undefined reference to `atmel_pcm_pdc_platform_unregister'

Solve that by compiling the selected PCM driver (PDC, DMA or both) in the
Atmel SSC DAI driver.

Reported-by: Randy Dunlap <rdunlap@infradead.org>

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
---
 sound/soc/atmel/Kconfig  | 4 ++--
 sound/soc/atmel/Makefile | 8 +++-----
 2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig
index 93abe4e6d596..c3152072d682 100644
--- a/sound/soc/atmel/Kconfig
+++ b/sound/soc/atmel/Kconfig
@@ -9,10 +9,10 @@ config SND_ATMEL_SOC
 if SND_ATMEL_SOC
 
 config SND_ATMEL_SOC_PDC
-	tristate
+	bool
 
 config SND_ATMEL_SOC_DMA
-	tristate
+	bool
 	select SND_SOC_GENERIC_DMAENGINE_PCM
 
 config SND_ATMEL_SOC_SSC
diff --git a/sound/soc/atmel/Makefile b/sound/soc/atmel/Makefile
index b327e5cc8de3..4fa7ac91f972 100644
--- a/sound/soc/atmel/Makefile
+++ b/sound/soc/atmel/Makefile
@@ -1,10 +1,8 @@
 # AT91 Platform Support
-snd-soc-atmel-pcm-pdc-objs := atmel-pcm-pdc.o
-snd-soc-atmel-pcm-dma-objs := atmel-pcm-dma.o
-snd-soc-atmel_ssc_dai-objs := atmel_ssc_dai.o
+snd-soc-atmel-pcm-$(CONFIG_SND_ATMEL_SOC_PDC) := atmel-pcm-pdc.o
+snd-soc-atmel-pcm-$(CONFIG_SND_ATMEL_SOC_DMA) += atmel-pcm-dma.o
+snd-soc-atmel_ssc_dai-objs := atmel_ssc_dai.o $(snd-soc-atmel-pcm-y)
 
-obj-$(CONFIG_SND_ATMEL_SOC_PDC) += snd-soc-atmel-pcm-pdc.o
-obj-$(CONFIG_SND_ATMEL_SOC_DMA) += snd-soc-atmel-pcm-dma.o
 obj-$(CONFIG_SND_ATMEL_SOC_SSC) += snd-soc-atmel_ssc_dai.o
 
 # AT91 Machine Support
-- 
2.1.4

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

* Re: [PATCH 1/2] ASoC: atmel: simplify Kconfig
  2015-05-25 22:04 [PATCH 1/2] ASoC: atmel: simplify Kconfig Alexandre Belloni
  2015-05-25 22:04 ` [PATCH 2/2] ASoC: atmel: compile pcm driver in snd-soc-atmel_ssc_dai Alexandre Belloni
@ 2015-05-26  9:53 ` Mark Brown
  2015-05-26 10:13 ` Nicolas Ferre
  2 siblings, 0 replies; 11+ messages in thread
From: Mark Brown @ 2015-05-26  9:53 UTC (permalink / raw)
  To: Alexandre Belloni
  Cc: alsa-devel, Nicolas Ferre, linux-arm-kernel, Arnd Bergmann, linux-kernel


[-- Attachment #1.1: Type: text/plain, Size: 224 bytes --]

On Tue, May 26, 2015 at 12:04:18AM +0200, Alexandre Belloni wrote:
> Enclose the options in if SND_ATMEL_SOC ... endif to remove the dependency.
> Also remove the useless description for SND_ATMEL_SOC_SSC.

Applied, thanks.

[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



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

* Re: [PATCH 2/2] ASoC: atmel: compile pcm driver in snd-soc-atmel_ssc_dai
  2015-05-25 22:04 ` [PATCH 2/2] ASoC: atmel: compile pcm driver in snd-soc-atmel_ssc_dai Alexandre Belloni
@ 2015-05-26  9:53   ` Mark Brown
  2015-05-26 10:14   ` Nicolas Ferre
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 11+ messages in thread
From: Mark Brown @ 2015-05-26  9:53 UTC (permalink / raw)
  To: Alexandre Belloni
  Cc: alsa-devel, Nicolas Ferre, linux-arm-kernel, Arnd Bergmann, linux-kernel


[-- Attachment #1.1: Type: text/plain, Size: 303 bytes --]

On Tue, May 26, 2015 at 12:04:19AM +0200, Alexandre Belloni wrote:
> It is currently possible to have CONFIG_SND_ATMEL_SOC_SSC=y with either
> CONFIG_SND_ATMEL_SOC_PDC=m or CONFIG_SND_ATMEL_SOC_DMA=m. This results in a
> driver that compiles but does not link with this kind of error:

Applied, thanks.

[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



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

* Re: [PATCH 1/2] ASoC: atmel: simplify Kconfig
  2015-05-25 22:04 [PATCH 1/2] ASoC: atmel: simplify Kconfig Alexandre Belloni
  2015-05-25 22:04 ` [PATCH 2/2] ASoC: atmel: compile pcm driver in snd-soc-atmel_ssc_dai Alexandre Belloni
  2015-05-26  9:53 ` [PATCH 1/2] ASoC: atmel: simplify Kconfig Mark Brown
@ 2015-05-26 10:13 ` Nicolas Ferre
  2 siblings, 0 replies; 11+ messages in thread
From: Nicolas Ferre @ 2015-05-26 10:13 UTC (permalink / raw)
  To: Alexandre Belloni, Mark Brown
  Cc: alsa-devel, linux-arm-kernel, Arnd Bergmann, linux-kernel

Le 26/05/2015 00:04, Alexandre Belloni a écrit :
> Enclose the options in if SND_ATMEL_SOC ... endif to remove the dependency.
> Also remove the useless description for SND_ATMEL_SOC_SSC.
> 
> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>

For the record:
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>

> ---
>  sound/soc/atmel/Kconfig | 16 ++++++----------
>  1 file changed, 6 insertions(+), 10 deletions(-)
> 
> diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig
> index e7d08806f3e9..93abe4e6d596 100644
> --- a/sound/soc/atmel/Kconfig
> +++ b/sound/soc/atmel/Kconfig
> @@ -6,27 +6,22 @@ config SND_ATMEL_SOC
>  	  the ATMEL SSC interface. You will also need
>  	  to select the audio interfaces to support below.
>  
> +if SND_ATMEL_SOC
> +
>  config SND_ATMEL_SOC_PDC
>  	tristate
> -	depends on SND_ATMEL_SOC
>  
>  config SND_ATMEL_SOC_DMA
>  	tristate
> -	depends on SND_ATMEL_SOC
>  	select SND_SOC_GENERIC_DMAENGINE_PCM
>  
>  config SND_ATMEL_SOC_SSC
>  	tristate
> -	depends on SND_ATMEL_SOC
> -	help
> -	  Say Y or M if you want to add support for codecs the
> -	  ATMEL SSC interface. You will also needs to select the individual
> -	  machine drivers to support below.
>  
>  config SND_AT91_SOC_SAM9G20_WM8731
>  	tristate "SoC Audio support for WM8731-based At91sam9g20 evaluation board"
>  	depends on ARCH_AT91 || COMPILE_TEST
> -	depends on ATMEL_SSC && SND_ATMEL_SOC && SND_SOC_I2C_AND_SPI
> +	depends on ATMEL_SSC && SND_SOC_I2C_AND_SPI
>  	select SND_ATMEL_SOC_PDC
>  	select SND_ATMEL_SOC_SSC
>  	select SND_SOC_WM8731
> @@ -37,7 +32,7 @@ config SND_AT91_SOC_SAM9G20_WM8731
>  config SND_ATMEL_SOC_WM8904
>  	tristate "Atmel ASoC driver for boards using WM8904 codec"
>  	depends on ARCH_AT91 || COMPILE_TEST
> -	depends on ATMEL_SSC && SND_ATMEL_SOC && I2C
> +	depends on ATMEL_SSC && I2C
>  	select SND_ATMEL_SOC_SSC
>  	select SND_ATMEL_SOC_DMA
>  	select SND_SOC_WM8904
> @@ -48,10 +43,11 @@ config SND_ATMEL_SOC_WM8904
>  config SND_AT91_SOC_SAM9X5_WM8731
>  	tristate "SoC Audio support for WM8731-based at91sam9x5 board"
>  	depends on ARCH_AT91 || COMPILE_TEST
> -	depends on ATMEL_SSC && SND_ATMEL_SOC && SND_SOC_I2C_AND_SPI
> +	depends on ATMEL_SSC && SND_SOC_I2C_AND_SPI
>  	select SND_ATMEL_SOC_SSC
>  	select SND_ATMEL_SOC_DMA
>  	select SND_SOC_WM8731
>  	help
>  	  Say Y if you want to add support for audio SoC on an
>  	  at91sam9x5 based board that is using WM8731 codec.
> +endif
> 


-- 
Nicolas Ferre

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

* Re: [PATCH 2/2] ASoC: atmel: compile pcm driver in snd-soc-atmel_ssc_dai
  2015-05-25 22:04 ` [PATCH 2/2] ASoC: atmel: compile pcm driver in snd-soc-atmel_ssc_dai Alexandre Belloni
  2015-05-26  9:53   ` Mark Brown
@ 2015-05-26 10:14   ` Nicolas Ferre
  2015-05-26 10:53   ` Arnd Bergmann
  2015-05-27  7:50   ` Paul Bolle
  3 siblings, 0 replies; 11+ messages in thread
From: Nicolas Ferre @ 2015-05-26 10:14 UTC (permalink / raw)
  To: Alexandre Belloni, Mark Brown
  Cc: alsa-devel, linux-arm-kernel, Arnd Bergmann, linux-kernel

Le 26/05/2015 00:04, Alexandre Belloni a écrit :
> It is currently possible to have CONFIG_SND_ATMEL_SOC_SSC=y with either
> CONFIG_SND_ATMEL_SOC_PDC=m or CONFIG_SND_ATMEL_SOC_DMA=m. This results in a
> driver that compiles but does not link with this kind of error:
> 
> sound/built-in.o: In function `atmel_ssc_set_audio':
> (.text+0x87d90): undefined reference to `atmel_pcm_pdc_platform_register'
> sound/built-in.o: In function `atmel_ssc_put_audio':
> (.text+0x8879a): undefined reference to `atmel_pcm_pdc_platform_unregister'
> 
> Solve that by compiling the selected PCM driver (PDC, DMA or both) in the
> Atmel SSC DAI driver.
> 
> Reported-by: Randy Dunlap <rdunlap@infradead.org>
> 
> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>

For the record:
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>

> ---
>  sound/soc/atmel/Kconfig  | 4 ++--
>  sound/soc/atmel/Makefile | 8 +++-----
>  2 files changed, 5 insertions(+), 7 deletions(-)
> 
> diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig
> index 93abe4e6d596..c3152072d682 100644
> --- a/sound/soc/atmel/Kconfig
> +++ b/sound/soc/atmel/Kconfig
> @@ -9,10 +9,10 @@ config SND_ATMEL_SOC
>  if SND_ATMEL_SOC
>  
>  config SND_ATMEL_SOC_PDC
> -	tristate
> +	bool
>  
>  config SND_ATMEL_SOC_DMA
> -	tristate
> +	bool
>  	select SND_SOC_GENERIC_DMAENGINE_PCM
>  
>  config SND_ATMEL_SOC_SSC
> diff --git a/sound/soc/atmel/Makefile b/sound/soc/atmel/Makefile
> index b327e5cc8de3..4fa7ac91f972 100644
> --- a/sound/soc/atmel/Makefile
> +++ b/sound/soc/atmel/Makefile
> @@ -1,10 +1,8 @@
>  # AT91 Platform Support
> -snd-soc-atmel-pcm-pdc-objs := atmel-pcm-pdc.o
> -snd-soc-atmel-pcm-dma-objs := atmel-pcm-dma.o
> -snd-soc-atmel_ssc_dai-objs := atmel_ssc_dai.o
> +snd-soc-atmel-pcm-$(CONFIG_SND_ATMEL_SOC_PDC) := atmel-pcm-pdc.o
> +snd-soc-atmel-pcm-$(CONFIG_SND_ATMEL_SOC_DMA) += atmel-pcm-dma.o
> +snd-soc-atmel_ssc_dai-objs := atmel_ssc_dai.o $(snd-soc-atmel-pcm-y)
>  
> -obj-$(CONFIG_SND_ATMEL_SOC_PDC) += snd-soc-atmel-pcm-pdc.o
> -obj-$(CONFIG_SND_ATMEL_SOC_DMA) += snd-soc-atmel-pcm-dma.o
>  obj-$(CONFIG_SND_ATMEL_SOC_SSC) += snd-soc-atmel_ssc_dai.o
>  
>  # AT91 Machine Support
> 


-- 
Nicolas Ferre

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

* Re: [PATCH 2/2] ASoC: atmel: compile pcm driver in snd-soc-atmel_ssc_dai
  2015-05-25 22:04 ` [PATCH 2/2] ASoC: atmel: compile pcm driver in snd-soc-atmel_ssc_dai Alexandre Belloni
  2015-05-26  9:53   ` Mark Brown
  2015-05-26 10:14   ` Nicolas Ferre
@ 2015-05-26 10:53   ` Arnd Bergmann
  2015-05-27  7:50   ` Paul Bolle
  3 siblings, 0 replies; 11+ messages in thread
From: Arnd Bergmann @ 2015-05-26 10:53 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Nicolas Ferre, alsa-devel, Mark Brown, Alexandre Belloni, linux-kernel

On Tuesday 26 May 2015 00:04:19 Alexandre Belloni wrote:
> index b327e5cc8de3..4fa7ac91f972 100644
> --- a/sound/soc/atmel/Makefile
> +++ b/sound/soc/atmel/Makefile
> @@ -1,10 +1,8 @@
>  # AT91 Platform Support
> -snd-soc-atmel-pcm-pdc-objs := atmel-pcm-pdc.o
> -snd-soc-atmel-pcm-dma-objs := atmel-pcm-dma.o
> -snd-soc-atmel_ssc_dai-objs := atmel_ssc_dai.o
> +snd-soc-atmel-pcm-$(CONFIG_SND_ATMEL_SOC_PDC) := atmel-pcm-pdc.o
> +snd-soc-atmel-pcm-$(CONFIG_SND_ATMEL_SOC_DMA) += atmel-pcm-dma.o
> +snd-soc-atmel_ssc_dai-objs := atmel_ssc_dai.o $(snd-soc-atmel-pcm-y)

While technically correct, you could have written this (slightly)
simpler as:

snd-soc-atmel_ssc_dai-objs := atmel_ssc_dai.o
snd-soc-atmel-ssc_dai-$(CONFIG_SND_ATMEL_SOC_PDC) += atmel-pcm-pdc.o
snd-soc-atmel-ssc_dai-$(CONFIG_SND_ATMEL_SOC_DMA) += atmel-pcm-dma.o

No need to change the patch again after it's applied now.

	Arnd

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

* Re: [PATCH 2/2] ASoC: atmel: compile pcm driver in snd-soc-atmel_ssc_dai
  2015-05-25 22:04 ` [PATCH 2/2] ASoC: atmel: compile pcm driver in snd-soc-atmel_ssc_dai Alexandre Belloni
                     ` (2 preceding siblings ...)
  2015-05-26 10:53   ` Arnd Bergmann
@ 2015-05-27  7:50   ` Paul Bolle
  2015-05-27  9:19     ` Alexandre Belloni
  3 siblings, 1 reply; 11+ messages in thread
From: Paul Bolle @ 2015-05-27  7:50 UTC (permalink / raw)
  To: Alexandre Belloni
  Cc: Nicolas Ferre, Mark Brown, Arnd Bergmann, alsa-devel,
	linux-arm-kernel, linux-kernel

Now that this patch is already applied my remarks can only be addressed
in a follow up patch. (Perhaps such a patch is already queued.)

On Tue, 2015-05-26 at 00:04 +0200, Alexandre Belloni wrote:
> --- a/sound/soc/atmel/Kconfig
> +++ b/sound/soc/atmel/Kconfig
 
>  config SND_ATMEL_SOC_PDC
> -	tristate
> +	bool
>  
>  config SND_ATMEL_SOC_DMA
> -	tristate
> +	bool
>  	select SND_SOC_GENERIC_DMAENGINE_PCM

> --- a/sound/soc/atmel/Makefile
> +++ b/sound/soc/atmel/Makefile

> -snd-soc-atmel-pcm-pdc-objs := atmel-pcm-pdc.o
> -snd-soc-atmel-pcm-dma-objs := atmel-pcm-dma.o
> -snd-soc-atmel_ssc_dai-objs := atmel_ssc_dai.o
> +snd-soc-atmel-pcm-$(CONFIG_SND_ATMEL_SOC_PDC) := atmel-pcm-pdc.o
> +snd-soc-atmel-pcm-$(CONFIG_SND_ATMEL_SOC_DMA) += atmel-pcm-dma.o
> +snd-soc-atmel_ssc_dai-objs := atmel_ssc_dai.o $(snd-soc-atmel-pcm-y)
>  
> -obj-$(CONFIG_SND_ATMEL_SOC_PDC) += snd-soc-atmel-pcm-pdc.o
> -obj-$(CONFIG_SND_ATMEL_SOC_DMA) += snd-soc-atmel-pcm-dma.o
>  obj-$(CONFIG_SND_ATMEL_SOC_SSC) += snd-soc-atmel_ssc_dai.o

The code in atmel-pcm-pdc.c and atmel-pcm-dma.c will now either be part
of the snd-soc-atmel_ssc_dai.ko or be built-in. That means, I think,
that:
- the (in total) four uses of EXPORT_SYMBOL() in these two files can be
  dropped;
- MODULE_AUTHOR() and friends, and probably also the include of
  linux/module.h, can be dropped from these two files.

Furthermore, the references to CONFIG_SND_ATMEL_SOC_PDC_MODULE and
CONFIG_SND_ATMEL_SOC_DMA_MODULE in atmel-pcm.h can be removed now.

Thanks,


Paul Bolle

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

* Re: [PATCH 2/2] ASoC: atmel: compile pcm driver in snd-soc-atmel_ssc_dai
  2015-05-27  7:50   ` Paul Bolle
@ 2015-05-27  9:19     ` Alexandre Belloni
  2015-05-27  9:25       ` Paul Bolle
  0 siblings, 1 reply; 11+ messages in thread
From: Alexandre Belloni @ 2015-05-27  9:19 UTC (permalink / raw)
  To: Paul Bolle
  Cc: Nicolas Ferre, Mark Brown, Arnd Bergmann, alsa-devel,
	linux-arm-kernel, linux-kernel

On 27/05/2015 at 09:50:24 +0200, Paul Bolle wrote :
> Now that this patch is already applied my remarks can only be addressed
> in a follow up patch. (Perhaps such a patch is already queued.)
> 
> On Tue, 2015-05-26 at 00:04 +0200, Alexandre Belloni wrote:
> > --- a/sound/soc/atmel/Kconfig
> > +++ b/sound/soc/atmel/Kconfig
>  
> >  config SND_ATMEL_SOC_PDC
> > -	tristate
> > +	bool
> >  
> >  config SND_ATMEL_SOC_DMA
> > -	tristate
> > +	bool
> >  	select SND_SOC_GENERIC_DMAENGINE_PCM
> 
> > --- a/sound/soc/atmel/Makefile
> > +++ b/sound/soc/atmel/Makefile
> 
> > -snd-soc-atmel-pcm-pdc-objs := atmel-pcm-pdc.o
> > -snd-soc-atmel-pcm-dma-objs := atmel-pcm-dma.o
> > -snd-soc-atmel_ssc_dai-objs := atmel_ssc_dai.o
> > +snd-soc-atmel-pcm-$(CONFIG_SND_ATMEL_SOC_PDC) := atmel-pcm-pdc.o
> > +snd-soc-atmel-pcm-$(CONFIG_SND_ATMEL_SOC_DMA) += atmel-pcm-dma.o
> > +snd-soc-atmel_ssc_dai-objs := atmel_ssc_dai.o $(snd-soc-atmel-pcm-y)
> >  
> > -obj-$(CONFIG_SND_ATMEL_SOC_PDC) += snd-soc-atmel-pcm-pdc.o
> > -obj-$(CONFIG_SND_ATMEL_SOC_DMA) += snd-soc-atmel-pcm-dma.o
> >  obj-$(CONFIG_SND_ATMEL_SOC_SSC) += snd-soc-atmel_ssc_dai.o
> 
> The code in atmel-pcm-pdc.c and atmel-pcm-dma.c will now either be part
> of the snd-soc-atmel_ssc_dai.ko or be built-in. That means, I think,
> that:
> - the (in total) four uses of EXPORT_SYMBOL() in these two files can be
>   dropped;
> - MODULE_AUTHOR() and friends, and probably also the include of
>   linux/module.h, can be dropped from these two files.
> 

Yeah, I as not sure how to merge those MODULE_AUTHOR but I checked and
the information is correctly included.

> Furthermore, the references to CONFIG_SND_ATMEL_SOC_PDC_MODULE and
> CONFIG_SND_ATMEL_SOC_DMA_MODULE in atmel-pcm.h can be removed now.
> 

Indeed.

However, the Kconfig maintainer found a way to do the right thing so we
may as well drop that patch and keep those as modules.

Nicolas, what do you think?

-- 
Alexandre Belloni, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* Re: [PATCH 2/2] ASoC: atmel: compile pcm driver in snd-soc-atmel_ssc_dai
  2015-05-27  9:19     ` Alexandre Belloni
@ 2015-05-27  9:25       ` Paul Bolle
  2015-05-28  9:36         ` Alexandre Belloni
  0 siblings, 1 reply; 11+ messages in thread
From: Paul Bolle @ 2015-05-27  9:25 UTC (permalink / raw)
  To: Alexandre Belloni
  Cc: Nicolas Ferre, Mark Brown, Arnd Bergmann, alsa-devel,
	linux-arm-kernel, linux-kernel

On Wed, 2015-05-27 at 11:19 +0200, Alexandre Belloni wrote:
> However, the Kconfig maintainer found a way to do the right thing so we
> may as well drop that patch and keep those as modules.

Perhaps I missed a message: do you have a link?

(I fiddled a bit with the build setup of these drivers too, but then
noticed that the patch was already applied, and abandoned that.)

Thanks,


Paul Bolle

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

* Re: [PATCH 2/2] ASoC: atmel: compile pcm driver in snd-soc-atmel_ssc_dai
  2015-05-27  9:25       ` Paul Bolle
@ 2015-05-28  9:36         ` Alexandre Belloni
  0 siblings, 0 replies; 11+ messages in thread
From: Alexandre Belloni @ 2015-05-28  9:36 UTC (permalink / raw)
  To: Paul Bolle
  Cc: Nicolas Ferre, Mark Brown, Arnd Bergmann, alsa-devel,
	linux-arm-kernel, linux-kernel

Hi,

On 27/05/2015 at 11:25:49 +0200, Paul Bolle wrote :
> On Wed, 2015-05-27 at 11:19 +0200, Alexandre Belloni wrote:
> > However, the Kconfig maintainer found a way to do the right thing so we
> > may as well drop that patch and keep those as modules.
> 
> Perhaps I missed a message: do you have a link?
> 

It was part of a private discussion. This would give that (replaces my
other patch) if you want to test:

>From b93ca1a4d9fa63c37e3d2b0aecbd1ec691a40922 Mon Sep 17 00:00:00 2001
From: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Date: Mon, 25 May 2015 23:42:17 +0200
Subject: [PATCH] ASoC: atmel: properly select dma driver state

It is currently possible to have CONFIG_SND_ATMEL_SOC_SSC=y with either
CONFIG_SND_ATMEL_SOC_PDC=m or CONFIG_SND_ATMEL_SOC_DMA=m. This results in a
driver that compiles but does not link with this kind of error:

sound/built-in.o: In function `atmel_ssc_set_audio':
(.text+0x87d90): undefined reference to `atmel_pcm_pdc_platform_register'
sound/built-in.o: In function `atmel_ssc_put_audio':
(.text+0x8879a): undefined reference to `atmel_pcm_pdc_platform_unregister'

Introduce new config options SND_ATMEL_SOC_SSC_PDC and
SND_ATMEL_SOC_SSC_DMA which should be used by the board drivers and the
correct logic to properly select the SND_ATMEL_SOC_PDC and
SND_ATMEL_SOC_DMA states.

Reported-by: Randy Dunlap <rdunlap@infradead.org>

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
---
 sound/soc/atmel/Kconfig | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig
index 93abe4e6d596..1489cd461aec 100644
--- a/sound/soc/atmel/Kconfig
+++ b/sound/soc/atmel/Kconfig
@@ -10,20 +10,31 @@ if SND_ATMEL_SOC
 
 config SND_ATMEL_SOC_PDC
 	tristate
+	default m if SND_ATMEL_SOC_SSC_PDC=m && SND_ATMEL_SOC_SSC=m
+	default y if SND_ATMEL_SOC_SSC_PDC=y || (SND_ATMEL_SOC_SSC_PDC=m && SND_ATMEL_SOC_SSC=y)
+
+config SND_ATMEL_SOC_SSC_PDC
+	tristate
 
 config SND_ATMEL_SOC_DMA
 	tristate
 	select SND_SOC_GENERIC_DMAENGINE_PCM
+	default m if SND_ATMEL_SOC_SSC_DMA=m && SND_ATMEL_SOC_SSC=m
+	default y if SND_ATMEL_SOC_SSC_DMA=y || (SND_ATMEL_SOC_SSC_DMA=m && SND_ATMEL_SOC_SSC=y)
+
+config SND_ATMEL_SOC_SSC_DMA
+	tristate
 
 config SND_ATMEL_SOC_SSC
 	tristate
+	default y if SND_ATMEL_SOC_SSC_DMA=y || SND_ATMEL_SOC_SSC_PDC=y
+	default m if SND_ATMEL_SOC_SSC_DMA=m || SND_ATMEL_SOC_SSC_PDC=m
 
 config SND_AT91_SOC_SAM9G20_WM8731
 	tristate "SoC Audio support for WM8731-based At91sam9g20 evaluation board"
 	depends on ARCH_AT91 || COMPILE_TEST
 	depends on ATMEL_SSC && SND_SOC_I2C_AND_SPI
-	select SND_ATMEL_SOC_PDC
-	select SND_ATMEL_SOC_SSC
+	select SND_ATMEL_SOC_SSC_PDC
 	select SND_SOC_WM8731
 	help
 	  Say Y if you want to add support for SoC audio on WM8731-based
@@ -33,8 +44,7 @@ config SND_ATMEL_SOC_WM8904
 	tristate "Atmel ASoC driver for boards using WM8904 codec"
 	depends on ARCH_AT91 || COMPILE_TEST
 	depends on ATMEL_SSC && I2C
-	select SND_ATMEL_SOC_SSC
-	select SND_ATMEL_SOC_DMA
+	select SND_ATMEL_SOC_SSC_DMA
 	select SND_SOC_WM8904
 	help
 	  Say Y if you want to add support for Atmel ASoC driver for boards using
@@ -44,8 +54,7 @@ config SND_AT91_SOC_SAM9X5_WM8731
 	tristate "SoC Audio support for WM8731-based at91sam9x5 board"
 	depends on ARCH_AT91 || COMPILE_TEST
 	depends on ATMEL_SSC && SND_SOC_I2C_AND_SPI
-	select SND_ATMEL_SOC_SSC
-	select SND_ATMEL_SOC_DMA
+	select SND_ATMEL_SOC_SSC_DMA
 	select SND_SOC_WM8731
 	help
 	  Say Y if you want to add support for audio SoC on an
-- 
2.1.4

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

end of thread, other threads:[~2015-05-28  9:36 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-25 22:04 [PATCH 1/2] ASoC: atmel: simplify Kconfig Alexandre Belloni
2015-05-25 22:04 ` [PATCH 2/2] ASoC: atmel: compile pcm driver in snd-soc-atmel_ssc_dai Alexandre Belloni
2015-05-26  9:53   ` Mark Brown
2015-05-26 10:14   ` Nicolas Ferre
2015-05-26 10:53   ` Arnd Bergmann
2015-05-27  7:50   ` Paul Bolle
2015-05-27  9:19     ` Alexandre Belloni
2015-05-27  9:25       ` Paul Bolle
2015-05-28  9:36         ` Alexandre Belloni
2015-05-26  9:53 ` [PATCH 1/2] ASoC: atmel: simplify Kconfig Mark Brown
2015-05-26 10:13 ` Nicolas Ferre

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