forked from Minki/linux
0f0be40ba5
SND_ATMEL_SOC_CLASSD selects SND_ATMEL_SOC_DMA but the driver itself
handles its own DMA operations and doesn't need anything from
atmel-pcm-dma.c or atmel_ssc_dai.c.
Replace SND_ATMEL_SOC_DMA by SND_SOC_GENERIC_DMAENGINE_PCM which is the
only one actually required.
This may end up in a configuration leading to a link error:
sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_set_audio':
atmel_ssc_dai.c:(.text+0x79c): undefined reference to `atmel_pcm_dma_platform_register'
atmel_ssc_dai.c:(.text+0x79c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `atmel_pcm_dma_platform_register'
sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_put_audio':
atmel_ssc_dai.c:(.text+0xf24): undefined reference to `atmel_pcm_dma_platform_unregister'
atmel_ssc_dai.c:(.text+0xf24): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `atmel_pcm_dma_platform_unregister'
Tested on sama5d2 xplained with the following configuration
where nothing selects SND_ATMEL_SOC_DMA:
CONFIG_SND_ATMEL_SOC=y
CONFIG_SND_ATMEL_SOC_CLASSD=y
Reported-by: Arnd Bergmann <arnd@arndb.de>
Tested-by: Arnd Bergmann <arnd@arndb.de>
Fixes: e0a25b6d18
("ASoC: atmel-classd: add the Audio Class D Amplifier")
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
92 lines
2.8 KiB
Plaintext
92 lines
2.8 KiB
Plaintext
config SND_ATMEL_SOC
|
|
tristate "SoC Audio for the Atmel System-on-Chip"
|
|
depends on HAS_IOMEM
|
|
help
|
|
Say Y or M if you want to add support for codecs attached to
|
|
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 HAS_DMA
|
|
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_SSC_PDC
|
|
select SND_SOC_WM8731
|
|
help
|
|
Say Y if you want to add support for SoC audio on WM8731-based
|
|
AT91sam9g20 evaluation board.
|
|
|
|
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_DMA
|
|
select SND_SOC_WM8904
|
|
help
|
|
Say Y if you want to add support for Atmel ASoC driver for boards using
|
|
WM8904 codec.
|
|
|
|
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_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.
|
|
|
|
config SND_ATMEL_SOC_CLASSD
|
|
tristate "Atmel ASoC driver for boards using CLASSD"
|
|
depends on ARCH_AT91 || COMPILE_TEST
|
|
select SND_SOC_GENERIC_DMAENGINE_PCM
|
|
select REGMAP_MMIO
|
|
help
|
|
Say Y if you want to add support for Atmel ASoC driver for boards using
|
|
CLASSD.
|
|
|
|
config SND_ATMEL_SOC_PDMIC
|
|
tristate "Atmel ASoC driver for boards using PDMIC"
|
|
depends on OF && (ARCH_AT91 || COMPILE_TEST)
|
|
select SND_SOC_GENERIC_DMAENGINE_PCM
|
|
select REGMAP_MMIO
|
|
help
|
|
Say Y if you want to add support for Atmel ASoC driver for boards using
|
|
PDMIC.
|
|
|
|
config SND_ATMEL_SOC_TSE850_PCM5142
|
|
tristate "ASoC driver for the Axentia TSE-850"
|
|
depends on ARCH_AT91 && OF
|
|
depends on ATMEL_SSC && I2C
|
|
select SND_ATMEL_SOC_SSC_DMA
|
|
select SND_SOC_PCM512x_I2C
|
|
help
|
|
Say Y if you want to add support for the ASoC driver for the
|
|
Axentia TSE-850 with a PCM5142 codec.
|
|
endif
|