This patchset series addresses various bugs found and fixed by Arnd Bergmann whilst doing randconfig builds.
My involvement has been to review, add/check the maintainers are correct and submit upstream to try and reduce the backlog.
Best Regards,
Kaixu Xia
Arnd Bergmann (11): ASoC: CS42L51 and WM8962 codecs depend on INPUT ASoC: davinci: add dependencies for SND_SOC_TLV320AIC3X ASoC: SMDK_WM8580_PCM needs REGMAP_I2C ASoC: samsung-idma: avoid 64-bit division ASoC: nuc900: export nuc900_ac97_data ASoC: RX-51 audio needs I2C ASoC: UDA1380 needs I2C ASoC: Atmel WM8904 codec support needs I2C ASoC: SND_S3C_DMA_LEGACY needs S3C24XX_DMA ASoC: Amstrad E3 needs TTY support for codec ASoC: pxa: remove mach header dependency
Xia Kaixu (4): ASoC: TTC DKB audio needs I2C ASoC: Migo-R sound needs I2C ASoC: TLV320AIC23 and Simtec Hermes audio need I2C ASoC: WM0010 needs SPI
sound/arm/pxa2xx-pcm.c | 2 ++ sound/arm/pxa2xx-pcm.h | 3 +-- sound/soc/atmel/Kconfig | 2 +- sound/soc/codecs/Kconfig | 8 ++++---- sound/soc/davinci/Kconfig | 10 +++++----- sound/soc/fsl/Kconfig | 2 +- sound/soc/nuc900/Kconfig | 1 + sound/soc/nuc900/nuc900-ac97.c | 1 + sound/soc/omap/Kconfig | 4 ++-- sound/soc/pxa/Kconfig | 2 +- sound/soc/pxa/pxa-ssp.c | 2 -- sound/soc/pxa/pxa2xx-pcm.c | 2 ++ sound/soc/samsung/Kconfig | 22 ++++++++++------------ sound/soc/samsung/idma.c | 2 +- sound/soc/sh/Kconfig | 2 +- 15 files changed, 33 insertions(+), 32 deletions(-)
From: Arnd Bergmann arnd@arndb.de
Building ARM randconfig got into a situation where CONFIG_INPUT is turned off and SND_SOC_ALL_CODECS is turned on, which failed for two codecs trying to use the input subsystem.
Appending to the dependency list seems the easiest way out, since this is not a practical limitation. If anyone really needs to build these codecs for a kernel with no input support, a more sophisticated solution can be implemented.
Signed-off-by: Arnd Bergmann arnd@arndb.de Signed-off-by: Xia Kaixu kaixu.xia@linaro.org Cc: Mark Brown broonie@kernel.org Cc: Liam Girdwood lrg@slimlogic.co.uk Cc: Ben Dooks ben-linux@fluff.org Cc: Kukjin Kim kgene.kim@samsung.com Cc: Sangbeom Kim sbkim73@samsung.com Cc: Lars-Peter Clausen lars@metafoo.de Cc: Timur Tabi timur@tabi.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-samsung-soc@vger.kernel.org Cc: linux-input@vger.kernel.org Cc: alsa-devel@alsa-project.org --- sound/soc/codecs/Kconfig | 8 ++++---- sound/soc/fsl/Kconfig | 2 +- sound/soc/samsung/Kconfig | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig index f0e8401..d4260d3 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -40,7 +40,7 @@ config SND_SOC_ALL_CODECS select SND_SOC_ALC5632 if I2C select SND_SOC_CQ0093VC if MFD_DAVINCI_VOICECODEC select SND_SOC_CS42L51 if I2C - select SND_SOC_CS42L52 if I2C + select SND_SOC_CS42L52 if I2C && INPUT select SND_SOC_CS42L73 if I2C select SND_SOC_CS4270 if I2C select SND_SOC_CS4271 if SND_SOC_I2C_AND_SPI @@ -127,7 +127,7 @@ config SND_SOC_ALL_CODECS select SND_SOC_WM8955 if I2C select SND_SOC_WM8960 if I2C select SND_SOC_WM8961 if I2C - select SND_SOC_WM8962 if I2C + select SND_SOC_WM8962 if I2C && INPUT select SND_SOC_WM8971 if I2C select SND_SOC_WM8974 if I2C select SND_SOC_WM8978 if I2C @@ -282,7 +282,7 @@ config SND_SOC_CS42L51
config SND_SOC_CS42L52 tristate "Cirrus Logic CS42L52 CODEC" - depends on I2C + depends on I2C && INPUT
config SND_SOC_CS42L73 tristate "Cirrus Logic CS42L73 CODEC" @@ -598,7 +598,7 @@ config SND_SOC_WM8961
config SND_SOC_WM8962 tristate "Wolfson Microelectronics WM8962 CODEC" - depends on I2C + depends on I2C && INPUT
config SND_SOC_WM8971 tristate diff --git a/sound/soc/fsl/Kconfig b/sound/soc/fsl/Kconfig index 338a916..f4069d0 100644 --- a/sound/soc/fsl/Kconfig +++ b/sound/soc/fsl/Kconfig @@ -187,7 +187,7 @@ config SND_SOC_EUKREA_TLV320
config SND_SOC_IMX_WM8962 tristate "SoC Audio support for i.MX boards with wm8962" - depends on OF && I2C + depends on OF && I2C && INPUT select SND_SOC_WM8962 select SND_SOC_IMX_PCM_DMA select SND_SOC_IMX_AUDMUX diff --git a/sound/soc/samsung/Kconfig b/sound/soc/samsung/Kconfig index f2e2891..14568be 100644 --- a/sound/soc/samsung/Kconfig +++ b/sound/soc/samsung/Kconfig @@ -204,7 +204,7 @@ config SND_SOC_SPEYSIDE
config SND_SOC_TOBERMORY tristate "Audio support for Wolfson Tobermory" - depends on SND_SOC_SAMSUNG && MACH_WLF_CRAGG_6410 + depends on SND_SOC_SAMSUNG && MACH_WLF_CRAGG_6410 && INPUT select SND_SAMSUNG_I2S select SND_SOC_WM8962
On Tuesday 29 April 2014 17:23:18 Xia Kaixu wrote:
From: Arnd Bergmann arnd@arndb.de
Building ARM randconfig got into a situation where CONFIG_INPUT is turned off and SND_SOC_ALL_CODECS is turned on, which failed for two codecs trying to use the input subsystem.
Appending to the dependency list seems the easiest way out, since this is not a practical limitation. If anyone really needs to build these codecs for a kernel with no input support, a more sophisticated solution can be implemented.
The text needs to be extended to mention the options aside from SND_SOC_ALL_CODECS that you merged into it, otherwise the description no longer matches the contents.
Arnd
From: Arnd Bergmann arnd@arndb.de
This codec requires I2C to be enabled, so any other option that selects it should also depend on I2C.
Signed-off-by: Arnd Bergmann arnd@arndb.de Signed-off-by: Xia Kaixu kaixu.xia@linaro.org Cc: Mark Brown broonie@kernel.org Cc: Liam Girdwood lgirdwood@gmail.com Cc: alsa-devel@alsa-project.org --- sound/soc/davinci/Kconfig | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/sound/soc/davinci/Kconfig b/sound/soc/davinci/Kconfig index a8ec1fc..50a0987 100644 --- a/sound/soc/davinci/Kconfig +++ b/sound/soc/davinci/Kconfig @@ -18,7 +18,7 @@ config SND_DAVINCI_SOC_GENERIC_EVM
config SND_AM33XX_SOC_EVM tristate "SoC Audio for the AM33XX chip based boards" - depends on SND_DAVINCI_SOC && SOC_AM33XX + depends on SND_DAVINCI_SOC && SOC_AM33XX && I2C select SND_DAVINCI_SOC_GENERIC_EVM help Say Y or M if you want to add support for SoC audio on AM33XX @@ -28,7 +28,7 @@ config SND_AM33XX_SOC_EVM
config SND_DAVINCI_SOC_EVM tristate "SoC Audio support for DaVinci DM6446, DM355 or DM365 EVM" - depends on SND_DAVINCI_SOC + depends on SND_DAVINCI_SOC && I2C depends on MACH_DAVINCI_EVM || MACH_DAVINCI_DM355_EVM || MACH_DAVINCI_DM365_EVM select SND_DAVINCI_SOC_GENERIC_EVM help @@ -56,7 +56,7 @@ endchoice
config SND_DM6467_SOC_EVM tristate "SoC Audio support for DaVinci DM6467 EVM" - depends on SND_DAVINCI_SOC && MACH_DAVINCI_DM6467_EVM + depends on SND_DAVINCI_SOC && MACH_DAVINCI_DM6467_EVM && I2C select SND_DAVINCI_SOC_GENERIC_EVM select SND_SOC_SPDIF
@@ -65,7 +65,7 @@ config SND_DM6467_SOC_EVM
config SND_DA830_SOC_EVM tristate "SoC Audio support for DA830/OMAP-L137 EVM" - depends on SND_DAVINCI_SOC && MACH_DAVINCI_DA830_EVM + depends on SND_DAVINCI_SOC && MACH_DAVINCI_DA830_EVM && I2C select SND_DAVINCI_SOC_GENERIC_EVM
help @@ -74,7 +74,7 @@ config SND_DA830_SOC_EVM
config SND_DA850_SOC_EVM tristate "SoC Audio support for DA850/OMAP-L138 EVM" - depends on SND_DAVINCI_SOC && MACH_DAVINCI_DA850_EVM + depends on SND_DAVINCI_SOC && MACH_DAVINCI_DA850_EVM && I2C select SND_DAVINCI_SOC_GENERIC_EVM help Say Y if you want to add support for SoC audio on TI
From: Arnd Bergmann arnd@arndb.de
This adds a missing dependency for SND_SOC_SMDK_WM8580_PCM to require REGMAP_I2C to be enabled, avoiding possible build erorrs.
Signed-off-by: Arnd Bergmann arnd@arndb.de Signed-off-by: Xia Kaixu kaixu.xia@linaro.org Cc: Mark Brown broonie@kernel.org Cc: Liam Girdwood lgirdwood@gmail.com Cc: Ben Dooks ben-linux@fluff.org Cc: Kukjin Kim kgene.kim@samsung.com Cc: Sangbeom Kim sbkim73@samsung.com Cc: linux-arm-kernel@lists.infradead.org Cc: linux-samsung-soc@vger.kernel.org Cc: alsa-devel@alsa-project.org --- sound/soc/samsung/Kconfig | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/sound/soc/samsung/Kconfig b/sound/soc/samsung/Kconfig index 14568be..0c5e9e2 100644 --- a/sound/soc/samsung/Kconfig +++ b/sound/soc/samsung/Kconfig @@ -64,6 +64,7 @@ config SND_SOC_SAMSUNG_JIVE_WM8750 config SND_SOC_SAMSUNG_SMDK_WM8580 tristate "SoC I2S Audio support for WM8580 on SMDK" depends on SND_SOC_SAMSUNG && (MACH_SMDK6410 || MACH_SMDKC100 || MACH_SMDK6440 || MACH_SMDK6450 || MACH_SMDKV210 || MACH_SMDKC110) + depends on REGMAP_I2C select SND_SOC_WM8580 select SND_SAMSUNG_I2S help @@ -178,6 +179,7 @@ config SND_SOC_SAMSUNG_SMDK_SPDIF config SND_SOC_SMDK_WM8580_PCM tristate "SoC PCM Audio support for WM8580 on SMDK" depends on SND_SOC_SAMSUNG && (MACH_SMDK6450 || MACH_SMDKV210 || MACH_SMDKC110) + depends on REGMAP_I2C select SND_SOC_WM8580 select SND_SAMSUNG_PCM help
From: Arnd Bergmann arnd@arndb.de
dma_addr_t may be 64 bit wide, which causes a build failure when doing a division on it. Here it is safe to cast to an u32 type, which avoids the problem.
Signed-off-by: Arnd Bergmann arnd@arndb.de Signed-off-by: Xia Kaixu kaixu.xia@linaro.org Cc: Mark Brown broonie@kernel.org Cc: Liam Girdwood lgirdwood@gmail.com Cc: Ben Dooks ben-linux@fluff.org Cc: Kukjin Kim kgene.kim@samsung.com Cc: Sangbeom Kim sbkim73@samsung.com Cc: linux-arm-kernel@lists.infradead.org Cc: linux-samsung-soc@vger.kernel.org Cc: alsa-devel@alsa-project.org --- sound/soc/samsung/idma.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/samsung/idma.c b/sound/soc/samsung/idma.c index 3d5cf15..e9891b4 100644 --- a/sound/soc/samsung/idma.c +++ b/sound/soc/samsung/idma.c @@ -274,7 +274,7 @@ static irqreturn_t iis_irq(int irqno, void *dev_id)
addr = readl(idma.regs + I2SLVL0ADDR) - idma.lp_tx_addr; addr += prtd->periodsz; - addr %= (prtd->end - prtd->start); + addr %= (u32)(prtd->end - prtd->start); addr += idma.lp_tx_addr;
writel(addr, idma.regs + I2SLVL0ADDR);
From: Arnd Bergmann arnd@arndb.de
The symbol "nuc900_ac97_data" is used by the nuc900_pcm driver, which may be a loadable module, so we should export it.
The option SND_SOC_NUC900 enables support for AC97 mode, so select it.
Signed-off-by: Arnd Bergmann arnd@arndb.de Signed-off-by: Xia Kaixu kaixu.xia@linaro.org Cc: Mark Brown broonie@kernel.org Cc: Liam Girdwood lgirdwood@gmail.com Cc: Wan ZongShun mcuos.com@gmail.com Cc: alsa-devel@alsa-project.org Cc: linux-arm-kernel@lists.infradead.org --- sound/soc/nuc900/Kconfig | 1 + sound/soc/nuc900/nuc900-ac97.c | 1 + 2 files changed, 2 insertions(+)
diff --git a/sound/soc/nuc900/Kconfig b/sound/soc/nuc900/Kconfig index a0ed1c6..7f0c954 100644 --- a/sound/soc/nuc900/Kconfig +++ b/sound/soc/nuc900/Kconfig @@ -4,6 +4,7 @@ config SND_SOC_NUC900 tristate "SoC Audio for NUC900 series" depends on ARCH_W90X900 + select SND_SOC_NUC900_AC97 help This option enables support for AC97 mode on the NUC900 SoC.
diff --git a/sound/soc/nuc900/nuc900-ac97.c b/sound/soc/nuc900/nuc900-ac97.c index 8987bf9..f2f6794 100644 --- a/sound/soc/nuc900/nuc900-ac97.c +++ b/sound/soc/nuc900/nuc900-ac97.c @@ -28,6 +28,7 @@
static DEFINE_MUTEX(ac97_mutex); struct nuc900_audio *nuc900_ac97_data; +EXPORT_SYMBOL_GPL(nuc900_ac97_data);
static int nuc900_checkready(void) {
On Tuesday 29 April 2014 17:23:22 Xia Kaixu wrote:
The option SND_SOC_NUC900 enables support for AC97 mode, so select it.
This doesn't really capture the reason for the patch: If one tries to build SND_SOC_NUC900 without SND_SOC_NUC900_AC97, the kernel fails to link because of the reference to nuc900_ac97_data.
Arnd
diff --git a/sound/soc/nuc900/Kconfig b/sound/soc/nuc900/Kconfig index a0ed1c6..7f0c954 100644 --- a/sound/soc/nuc900/Kconfig +++ b/sound/soc/nuc900/Kconfig @@ -4,6 +4,7 @@ config SND_SOC_NUC900 tristate "SoC Audio for NUC900 series" depends on ARCH_W90X900
select SND_SOC_NUC900_AC97 help This option enables support for AC97 mode on the NUC900 SoC.
From: Arnd Bergmann arnd@arndb.de
The codec requires I2C to be enabled, so any other option that selects it should also depend on I2C.
Signed-off-by: Arnd Bergmann arnd@arndb.de Signed-off-by: Xia Kaixu kaixu.xia@linaro.org Cc: Mark Brown broonie@kernel.org Cc: Liam Girdwood lgirdwood@gmail.com Cc: Peter Ujfalusi peter.ujfalusi@ti.com Cc: Jarkko Nikula jarkko.nikula@bitmer.com Cc: alsa-devel@alsa-project.org Cc: linux-omap@vger.kernel.org --- sound/soc/omap/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/omap/Kconfig b/sound/soc/omap/Kconfig index e006593..2796af9 100644 --- a/sound/soc/omap/Kconfig +++ b/sound/soc/omap/Kconfig @@ -26,7 +26,7 @@ config SND_OMAP_SOC_N810
config SND_OMAP_SOC_RX51 tristate "SoC Audio support for Nokia RX-51" - depends on SND_OMAP_SOC && ARM && (MACH_NOKIA_RX51 || COMPILE_TEST) + depends on SND_OMAP_SOC && ARM && (MACH_NOKIA_RX51 || COMPILE_TEST) && I2C select SND_OMAP_SOC_MCBSP select SND_SOC_TLV320AIC3X select SND_SOC_TPA6130A2
From: Arnd Bergmann arnd@arndb.de
The UDA1380 driver needs I2C to be enabled, so SND_SOC_SAMSUNG_H1940_UDA1380 and SND_SOC_SAMSUNG_RX1950_UDA1380 also require this.
Signed-off-by: Arnd Bergmann arnd@arndb.de Signed-off-by: Xia Kaixu kaixu.xia@linaro.org Cc: Mark Brown broonie@kernel.org Cc: Liam Girdwood lgirdwood@gmail.com Cc: Ben Dooks ben-linux@fluff.org Cc: Kukjin Kim kgene.kim@samsung.com Cc: Sangbeom Kim sbkim73@samsung.com Cc: alsa-devel@alsa-project.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-samsung-soc@vger.kernel.org --- sound/soc/samsung/Kconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/soc/samsung/Kconfig b/sound/soc/samsung/Kconfig index 0c5e9e2..b09b5a4 100644 --- a/sound/soc/samsung/Kconfig +++ b/sound/soc/samsung/Kconfig @@ -130,7 +130,7 @@ config SND_SOC_SAMSUNG_SIMTEC_HERMES
config SND_SOC_SAMSUNG_H1940_UDA1380 tristate "Audio support for the HP iPAQ H1940" - depends on SND_SOC_SAMSUNG && ARCH_H1940 + depends on SND_SOC_SAMSUNG && ARCH_H1940 && I2C select SND_S3C24XX_I2S select SND_SOC_UDA1380 help @@ -138,7 +138,7 @@ config SND_SOC_SAMSUNG_H1940_UDA1380
config SND_SOC_SAMSUNG_RX1950_UDA1380 tristate "Audio support for the HP iPAQ RX1950" - depends on SND_SOC_SAMSUNG && MACH_RX1950 + depends on SND_SOC_SAMSUNG && MACH_RX1950 && I2C select SND_S3C24XX_I2S select SND_SOC_UDA1380 help
The missing dependency can lead to build errors, so make it explicit in Kconfig.
Signed-off-by: Arnd Bergmann arnd@arndb.de Signed-off-by: Xia Kaixu kaixu.xia@linaro.org Cc: Mark Brown broonie@kernel.org Cc: Liam Girdwood lgirdwood@gmail.com Cc: Philipp Zabel philipp.zabel@gmail.com Cc: Paul Parsons lost.distance@yahoo.com Cc: Russell King linux@arm.linux.org.uk Cc: Eric Miao eric.y.miao@gmail.com Cc: Haojian Zhuang haojian.zhuang@gmail.com Cc: alsa-devel@alsa-project.org Cc: linux-arm-kernel@lists.infradead.org --- sound/soc/pxa/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/pxa/Kconfig b/sound/soc/pxa/Kconfig index 6473052..6acb225 100644 --- a/sound/soc/pxa/Kconfig +++ b/sound/soc/pxa/Kconfig @@ -140,7 +140,7 @@ config SND_PXA910_SOC
config SND_SOC_TTC_DKB bool "SoC Audio support for TTC DKB" - depends on SND_PXA910_SOC && MACH_TTC_DKB + depends on SND_PXA910_SOC && MACH_TTC_DKB && I2C=y select PXA_SSP select SND_PXA_SOC_SSP select SND_MMP_SOC
On Tuesday 29 April 2014 17:23:25 Xia Kaixu wrote:
The missing dependency can lead to build errors, so make it explicit in Kconfig.
This patch and the following few ones that you have split up are missing the attribution to me as the original author.
Since you have split them up and they are basically one-line patches, it's fine to have you as the author, but then you should remove my 'Signed-off-by' line as well. You can add an 'Acked-by' with my address instead.
Alternatively, you can keep my Signed-off-by, and change the author using 'git commit --amend --author="Arnd Bergmann arnd@arndb.de"'.
Arnd
The WM8978 driver needs I2C to be enabled, so the SND_SIU_MIGOR option also requires this.
Signed-off-by: Arnd Bergmann arnd@arndb.de Signed-off-by: Xia Kaixu kaixu.xia@linaro.org Cc: Mark Brown broonie@kernel.org Cc: Liam Girdwood lgirdwood@gmail.com Cc: alsa-devel@alsa-project.org Cc: linux-arm-kernel@lists.infradead.org --- sound/soc/sh/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/sh/Kconfig b/sound/soc/sh/Kconfig index ff60e11..b43fdf0 100644 --- a/sound/soc/sh/Kconfig +++ b/sound/soc/sh/Kconfig @@ -56,7 +56,7 @@ config SND_SH7760_AC97
config SND_SIU_MIGOR tristate "SIU sound support on Migo-R" - depends on SH_MIGOR + depends on SH_MIGOR && I2C select SND_SOC_SH4_SIU select SND_SOC_WM8978 help
This codec requires I2C to be enabled, so any other option that selects it should also depend on I2C.
Signed-off-by: Arnd Bergmann arnd@arndb.de Signed-off-by: Xia Kaixu kaixu.xia@linaro.org Cc: Mark Brown broonie@kernel.org Cc: Liam Girdwood lgirdwood@gmail.com Cc: Ben Dooks ben-linux@fluff.org Cc: Kukjin Kim kgene.kim@samsung.com Cc: Sangbeom Kim sbkim73@samsung.com Cc: alsa-devel@alsa-project.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-samsung-soc@vger.kernel.org --- sound/soc/samsung/Kconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/soc/samsung/Kconfig b/sound/soc/samsung/Kconfig index b09b5a4..9fd6f62 100644 --- a/sound/soc/samsung/Kconfig +++ b/sound/soc/samsung/Kconfig @@ -116,14 +116,14 @@ config SND_SOC_SAMSUNG_SIMTEC
config SND_SOC_SAMSUNG_SIMTEC_TLV320AIC23 tristate "SoC I2S Audio support for TLV320AIC23 on Simtec boards" - depends on SND_SOC_SAMSUNG && ARCH_S3C24XX + depends on SND_SOC_SAMSUNG && ARCH_S3C24XX && I2C select SND_S3C24XX_I2S select SND_SOC_TLV320AIC23_I2C select SND_SOC_SAMSUNG_SIMTEC
config SND_SOC_SAMSUNG_SIMTEC_HERMES tristate "SoC I2S Audio support for Simtec Hermes board" - depends on SND_SOC_SAMSUNG && ARCH_S3C24XX + depends on SND_SOC_SAMSUNG && ARCH_S3C24XX && I2C select SND_S3C24XX_I2S select SND_SOC_TLV320AIC3X select SND_SOC_SAMSUNG_SIMTEC
The missing dependency can lead to build errors, so make it explicit in Kconfig.
Signed-off-by: Arnd Bergmann arnd@arndb.de Signed-off-by: Xia Kaixu kaixu.xia@linaro.org Cc: Mark Brown broonie@kernel.org Cc: Liam Girdwood lgirdwood@gmail.com Cc: Ben Dooks ben-linux@fluff.org Cc: Kukjin Kim kgene.kim@samsung.com Cc: Sangbeom Kim sbkim73@samsung.com Cc: alsa-devel@alsa-project.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-samsung-soc@vger.kernel.org --- sound/soc/samsung/Kconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/soc/samsung/Kconfig b/sound/soc/samsung/Kconfig index 9fd6f62..99cc196 100644 --- a/sound/soc/samsung/Kconfig +++ b/sound/soc/samsung/Kconfig @@ -201,7 +201,7 @@ config SND_SOC_SPEYSIDE select SND_SAMSUNG_I2S select SND_SOC_WM8996 select SND_SOC_WM9081 - select SND_SOC_WM0010 + select SND_SOC_WM0010 if SPI select SND_SOC_WM1250_EV1
config SND_SOC_TOBERMORY @@ -217,7 +217,7 @@ config SND_SOC_BELLS select SND_SOC_WM5102 select SND_SOC_WM5110 select SND_SOC_WM9081 - select SND_SOC_WM0010 + select SND_SOC_WM0010 if SPI select SND_SOC_WM1250_EV1
config SND_SOC_LOWLAND
From: Arnd Bergmann arnd@arndb.de
The WM8904 codec driver needs I2C to be enabled, so the SND_ATMEL_SOC_WM8904 option also requires this.
Found using randconfig build testing.
Signed-off-by: Arnd Bergmann arnd@arndb.de Signed-off-by: Xia Kaixu kaixu.xia@linaro.org Cc: Mark Brown broonie@kernel.org Cc: Liam Girdwood lgirdwood@gmail.com Cc: alsa-devel@alsa-project.org --- sound/soc/atmel/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig index 4789619..27e3fc4 100644 --- a/sound/soc/atmel/Kconfig +++ b/sound/soc/atmel/Kconfig @@ -35,7 +35,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 && ATMEL_SSC && SND_ATMEL_SOC + depends on ARCH_AT91 && ATMEL_SSC && SND_ATMEL_SOC && I2C select SND_ATMEL_SOC_SSC select SND_ATMEL_SOC_DMA select SND_SOC_WM8904
From: Arnd Bergmann arnd@arndb.de
SND_S3C_DMA_LEGACY can only be set on S3C24xx, which does not (yet) support the dmaengine framework, so samsung_dma_get_ops() fails to link if S3C24XX_DMA is disabled:
sound/built-in.o: In function `dma_hw_params': :(.text+0x7f310): undefined reference to `s3c_dma_get_ops' sound/built-in.o: In function `s3c_ac97_trigger': :(.text+0x7f7f0): undefined reference to `s3c_dma_get_ops' sound/built-in.o: In function `s3c_ac97_mic_trigger': :(.text+0x7f884): undefined reference to `s3c_dma_get_ops' sound/built-in.o: In function `s3c2412_i2s_trigger': :(.text+0x80944): undefined reference to `s3c2410_dma_ctrl'
This makes sure S3C24XX_DMA is always enabled when we need it, just like we do it for the same dependency in SND_S3C24XX_I2S, which has the same problem. Selecting "S3C2410_DMA" as we did before does not actually have the intended effect, since that one is only used on the s3c2410 and s3c2442 SoCs of the s3c24xx family, but not the others, so we can remove this from Kconfig.
Signed-off-by: Arnd Bergmann arnd@arndb.de Signed-off-by: Xia Kaixu kaixu.xia@linaro.org Cc: Mark Brown broonie@kernel.org Cc: Liam Girdwood lgirdwood@gmail.com Cc: Ben Dooks ben-linux@fluff.org Cc: Kukjin Kim kgene.kim@samsung.com Cc: Sangbeom Kim sbkim73@samsung.com Cc: linux-arm-kernel@lists.infradead.org Cc: linux-samsung-soc@vger.kernel.org Cc: alsa-devel@alsa-project.org --- sound/soc/samsung/Kconfig | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/sound/soc/samsung/Kconfig b/sound/soc/samsung/Kconfig index 99cc196..7b610a8 100644 --- a/sound/soc/samsung/Kconfig +++ b/sound/soc/samsung/Kconfig @@ -1,7 +1,6 @@ config SND_SOC_SAMSUNG tristate "ASoC support for Samsung" depends on PLAT_SAMSUNG - select S3C2410_DMA if ARCH_S3C24XX select S3C64XX_PL080 if ARCH_S3C64XX select SND_S3C_DMA if !ARCH_S3C24XX select SND_S3C_DMA_LEGACY if ARCH_S3C24XX @@ -15,11 +14,11 @@ config SND_S3C_DMA tristate
config SND_S3C_DMA_LEGACY + select S3C24XX_DMA tristate
config SND_S3C24XX_I2S tristate - select S3C24XX_DMA
config SND_S3C_I2SV2_SOC tristate @@ -27,7 +26,6 @@ config SND_S3C_I2SV2_SOC config SND_S3C2412_SOC_I2S tristate select SND_S3C_I2SV2_SOC - select S3C2410_DMA
config SND_SAMSUNG_PCM tristate @@ -83,7 +81,6 @@ config SND_SOC_SAMSUNG_SMDK_WM8994 config SND_SOC_SAMSUNG_SMDK2443_WM9710 tristate "SoC AC97 Audio support for SMDK2443 - WM9710" depends on SND_SOC_SAMSUNG && MACH_SMDK2443 - select S3C2410_DMA select AC97_BUS select SND_SOC_AC97_CODEC select SND_SAMSUNG_AC97 @@ -94,7 +91,6 @@ config SND_SOC_SAMSUNG_SMDK2443_WM9710 config SND_SOC_SAMSUNG_LN2440SBC_ALC650 tristate "SoC AC97 Audio support for LN2440SBC - ALC650" depends on SND_SOC_SAMSUNG && ARCH_S3C24XX - select S3C2410_DMA select AC97_BUS select SND_SOC_AC97_CODEC select SND_SAMSUNG_AC97
From: Arnd Bergmann arnd@arndb.de
The cx20442 codec driver used here requires the TTY layer to be enabled, or we get a link error:
sound/built-in.o: In function `cx20442_codec_remove': cx20442.c:398: undefined reference to `tty_hangup' sound/built-in.o: In function `ams_delta_remove': ams-delta.c:613: undefined reference to `tty_unregister_ldisc' sound/built-in.o: In function `ams_delta_cx20442_init': ams-delta.c:559: undefined reference to `tty_register_ldisc'
This adds the missing dependency in the E3 configuration, there was already one for the codec.
Signed-off-by: Arnd Bergmann arnd@arndb.de Signed-off-by: Xia Kaixu kaixu.xia@linaro.org Cc: Mark Brown broonie@kernel.org Cc: Liam Girdwood lgirdwood@gmail.com Cc: Peter Ujfalusi peter.ujfalusi@ti.com Cc: Jarkko Nikula jarkko.nikula@bitmer.com Cc: linux-omap@vger.kernel.org Cc: alsa-devel@alsa-project.org --- sound/soc/omap/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/omap/Kconfig b/sound/soc/omap/Kconfig index 2796af9..d44463a 100644 --- a/sound/soc/omap/Kconfig +++ b/sound/soc/omap/Kconfig @@ -37,7 +37,7 @@ config SND_OMAP_SOC_RX51
config SND_OMAP_SOC_AMS_DELTA tristate "SoC Audio support for Amstrad E3 (Delta) videophone" - depends on SND_OMAP_SOC && MACH_AMS_DELTA + depends on SND_OMAP_SOC && MACH_AMS_DELTA && TTY select SND_OMAP_SOC_MCBSP select SND_SOC_CX20442 help
From: Arnd Bergmann arnd@arndb.de
As we are moving the mmp platform towards multiplatform support, we have to stop including platform header files.
This changes the pxa-ssp sound driver file to no longer depend on mach/hardware.h and mach/dma.h. The code using the definitions from those headers is actually gone already, the only thing that was still being used was the pxa_dma_desc typedef, which we can easily work around by using the normal 'struct pxa_dma_desc' name.
The pxa2xx-dma driver still uses this header, so we include it explicitly there, which is ok because that is only used on pxa, not on mmp.
Signed-off-by: Arnd Bergmann arnd@arndb.de Signed-off-by: Xia Kaixu kaixu.xia@linaro.org Cc: Mark Brown broonie@kernel.org Cc: Liam Girdwood lgirdwood@gmail.com Cc: Eric Miao eric.y.miao@gmail.com Cc: Russell King linux@arm.linux.org.uk Cc: Haojian Zhuang haojian.zhuang@gmail.com Cc: linux-arm-kernel@lists.infradead.org Cc: alsa-devel@alsa-project.org --- sound/arm/pxa2xx-pcm.c | 2 ++ sound/arm/pxa2xx-pcm.h | 3 +-- sound/soc/pxa/pxa-ssp.c | 2 -- sound/soc/pxa/pxa2xx-pcm.c | 2 ++ 4 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/sound/arm/pxa2xx-pcm.c b/sound/arm/pxa2xx-pcm.c index e6c727b..83be8e3 100644 --- a/sound/arm/pxa2xx-pcm.c +++ b/sound/arm/pxa2xx-pcm.c @@ -14,6 +14,8 @@ #include <linux/dma-mapping.h> #include <linux/dmaengine.h>
+#include <mach/dma.h> + #include <sound/core.h> #include <sound/pxa2xx-lib.h> #include <sound/dmaengine_pcm.h> diff --git a/sound/arm/pxa2xx-pcm.h b/sound/arm/pxa2xx-pcm.h index 2a8fc08..0033098 100644 --- a/sound/arm/pxa2xx-pcm.h +++ b/sound/arm/pxa2xx-pcm.h @@ -9,12 +9,11 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ -#include <mach/dma.h>
struct pxa2xx_runtime_data { int dma_ch; struct snd_dmaengine_dai_dma_data *params; - pxa_dma_desc *dma_desc_array; + struct pxa_dma_desc *dma_desc_array; dma_addr_t dma_desc_array_phys; };
diff --git a/sound/soc/pxa/pxa-ssp.c b/sound/soc/pxa/pxa-ssp.c index a3119a0..9b19ee7 100644 --- a/sound/soc/pxa/pxa-ssp.c +++ b/sound/soc/pxa/pxa-ssp.c @@ -34,8 +34,6 @@ #include <sound/pxa2xx-lib.h> #include <sound/dmaengine_pcm.h>
-#include <mach/hardware.h> - #include "../../arm/pxa2xx-pcm.h" #include "pxa-ssp.h"
diff --git a/sound/soc/pxa/pxa2xx-pcm.c b/sound/soc/pxa/pxa2xx-pcm.c index d58b09f..42f2f01 100644 --- a/sound/soc/pxa/pxa2xx-pcm.c +++ b/sound/soc/pxa/pxa2xx-pcm.c @@ -15,6 +15,8 @@ #include <linux/dmaengine.h> #include <linux/of.h>
+#include <mach/dma.h> + #include <sound/core.h> #include <sound/soc.h> #include <sound/pxa2xx-lib.h>
linaro-kernel@lists.linaro.org