Browse Source

make sound support monolithic

It is really hard to get it right, with the dependencies
in this case. So if a user wants sound support, he will just get
it included in the kernel. If not, just do not activate it.
Waldemar Brodkorb 9 years ago
parent
commit
746bcde605

+ 0 - 128
mk/modules.mk

@@ -1148,134 +1148,6 @@ $(eval $(call KMOD_template,UDF_FS,udf-fs,\
 # Multimedia
 #
 
-$(eval $(call KMOD_template,DMA_BCM2708,dma-bcm2708,\
-	$(MODULES_DIR)/kernel/drivers/dma/virt-dma \
-	$(MODULES_DIR)/kernel/drivers/dma/bcm2708-dmaengine \
-,25))
-
-$(eval $(call KMOD_template,SOUND,sound,\
-	$(MODULES_DIR)/kernel/sound/soundcore \
-,30))
-
-$(eval $(call KMOD_template,SND,snd,\
-	$(MODULES_DIR)/kernel/sound/core/snd \
-	$(MODULES_DIR)/kernel/sound/core/snd-timer \
-,35))
-
-ifeq ($(KERNEL_BASE),3)
-ifeq ($(KERNEL_MAJ),10)
-$(eval $(call KMOD_template,SND_PCM,snd-pcm,\
-	$(MODULES_DIR)/kernel/sound/core/snd-page-alloc \
-	$(MODULES_DIR)/kernel/sound/core/snd-pcm \
-,40))
-else
-$(eval $(call KMOD_template,SND_PCM,snd-pcm,\
-	$(MODULES_DIR)/kernel/sound/core/snd-pcm \
-,40))
-endif
-endif
-
-$(eval $(call KMOD_template,SND_DMAENGINE_PCM,snd-dmaengine-pcm,\
-	$(MODULES_DIR)/kernel/sound/core/snd-pcm-dmaengine \
-,45))
-
-$(eval $(call KMOD_template,SND_RAWMIDI,snd-rawmidi,\
-	$(MODULES_DIR)/kernel/sound/core/snd-hwdep \
-	$(MODULES_DIR)/kernel/sound/core/snd-rawmidi \
-,45))
-
-$(eval $(call KMOD_template,SND_SOC,snd-soc,\
-	$(MODULES_DIR)/kernel/sound/soc/snd-soc-core \
-,50))
-
-$(eval $(call KMOD_template,SND_AC97_CODEC,snd-ac97-codec,\
-	$(MODULES_DIR)/kernel/sound/ac97_bus \
-	$(MODULES_DIR)/kernel/sound/pci/ac97/snd-ac97-codec \
-,55))
-
-$(eval $(call KMOD_template,SND_SOC_WM8804,snd-soc-wm8804,\
-	$(MODULES_DIR)/kernel/sound/soc/codecs/snd-soc-wm8804 \
-,55))
-
-$(eval $(call KMOD_template,SND_SOC_PCM5102A,snd-soc-pcm5102a,\
-	$(MODULES_DIR)/kernel/sound/soc/codecs/snd-soc-pcm5102a \
-,55))
-
-ifeq ($(KERNEL_BASE),3)
-ifeq ($(KERNEL_MAJ),10)
-$(eval $(call KMOD_template,SND_SOC_SPDIF,snd-soc-spdif,\
-	$(MODULES_DIR)/kernel/sound/soc/codecs/snd-soc-spdif-tx \
-	$(MODULES_DIR)/kernel/sound/soc/codecs/snd-soc-spdif-rx \
-,55))
-endif
-endif
-
-$(eval $(call KMOD_template,SND_VIA82XX,snd-via82xx,\
-	$(MODULES_DIR)/kernel/sound/drivers/mpu401/snd-mpu401-uart \
-	$(MODULES_DIR)/kernel/sound/pci/snd-via82xx \
-,55))
-
-$(eval $(call KMOD_template,SND_INTEL8X0,snd-intel8x0,\
-	$(MODULES_DIR)/kernel/sound/pci/snd-intel8x0 \
-,55))
-
-$(eval $(call KMOD_template,SND_ENS1370,snd-ens1370,\
-	$(MODULES_DIR)/kernel/sound/pci/snd-ens1370 \
-,55))
-
-$(eval $(call KMOD_template,SND_CS5535AUDIO,snd-cs5535audio,\
-	$(MODULES_DIR)/kernel/sound/pci/cs5535audio/snd-cs5535audio \
-,55))
-
-$(eval $(call KMOD_template,SND_PXA2XX_SOC_SPITZ,snd-pxa2xx-soc-spitz,\
-	$(MODULES_DIR)/kernel/sound/arm/snd-pxa2xx-lib \
-	$(MODULES_DIR)/kernel/sound/arm/snd-pxa2xx-pcm \
-	$(MODULES_DIR)/kernel/sound/arm/snd-pxa2xx-ac97 \
-	$(MODULES_DIR)/kernel/sound/soc/codecs/snd-soc-wm8750 \
-	$(MODULES_DIR)/kernel/sound/soc/pxa/snd-soc-pxa2xx-i2s \
-	$(MODULES_DIR)/kernel/sound/soc/pxa/snd-soc-pxa2xx \
-	$(MODULES_DIR)/kernel/sound/soc/pxa/snd-soc-spitz \
-,60, kmod-snd-soc))
-
-$(eval $(call KMOD_template,SND_IMX_SOC,snd-imx-soc,\
-	$(MODULES_DIR)/kernel/sound/soc/codecs/snd-soc-hdmi-codec \
-	$(MODULES_DIR)/kernel/sound/soc/codecs/snd-soc-sgtl5000 \
-	$(MODULES_DIR)/kernel/sound/soc/fsl/imx-pcm-dma \
-	$(MODULES_DIR)/kernel/sound/soc/fsl/imx-hdmi-dma \
-	$(MODULES_DIR)/kernel/sound/soc/fsl/snd-soc-fsl-spdif \
-	$(MODULES_DIR)/kernel/sound/soc/fsl/snd-soc-fsl-hdmi \
-	$(MODULES_DIR)/kernel/sound/soc/fsl/snd-soc-fsl-ssi \
-	$(MODULES_DIR)/kernel/sound/soc/fsl/snd-soc-imx-audmux \
-	$(MODULES_DIR)/kernel/sound/soc/fsl/snd-soc-imx-hdmi \
-	$(MODULES_DIR)/kernel/sound/soc/fsl/snd-soc-imx-spdif \
-	$(MODULES_DIR)/kernel/sound/soc/fsl/snd-soc-imx-sgtl5000 \
-,60, kmod-snd-soc))
-
-$(eval $(call KMOD_template,SND_BCM2835,snd-bcm2835,\
-	$(MODULES_DIR)/kernel/sound/arm/snd-bcm2835 \
-,60))
-
-$(eval $(call KMOD_template,SND_BCM2708_SOC_I2S,snd-bcm2708-soc-i2s,\
-	$(MODULES_DIR)/kernel/sound/soc/bcm/snd-soc-bcm2708-i2s \
-,60, kmod-snd-soc kmod-snd-soc-pcm5102a))
-
-$(eval $(call KMOD_template,SND_BCM2708_SOC_HIFIBERRY_DAC,snd-bcm2708-soc-hifiberry-dac,\
-	$(MODULES_DIR)/kernel/sound/soc/bcm/snd-soc-hifiberry-dac \
-,65, kmod-snd-bcm2708-soc-i2s))
-
-$(eval $(call KMOD_template,SND_BCM2708_SOC_HIFIBERRY_DIGI,snd-bcm2708-soc-hifiberry-digi,\
-	$(MODULES_DIR)/kernel/sound/soc/bcm/snd-soc-hifiberry-digi \
-,65, kmod-snd-bcm2708-soc-i2s))
-
-$(eval $(call KMOD_template,SND_BCM2708_SOC_RPI_DAC,snd-bcm2708-soc-rpi-dac,\
-	$(MODULES_DIR)/kernel/sound/soc/bcm/snd-soc-rpi-dac \
-,65, kmod-snd-bcm2708-soc-i2s))
-
-$(eval $(call KMOD_template,SND_BCM2708_SOC_IQAUDIO_DAC,snd-bcm2708-soc-iqaudio-dac,\
-	$(MODULES_DIR)/kernel/sound/soc/bcm/snd-soc-iqaudio-dac \
-,65, kmod-snd-bcm2708-soc-i2s))
-
-
 $(eval $(call KMOD_template,USB_VIDEO_CLASS,usb-video-class,\
 	$(MODULES_DIR)/kernel/drivers/media/usb/uvc/uvcvideo \
 ,70))

+ 7 - 2
package/alsa-lib/Makefile

@@ -5,7 +5,7 @@ include ${ADK_TOPDIR}/rules.mk
 
 PKG_NAME:=		alsa-lib
 PKG_VERSION:=		1.0.28
-PKG_RELEASE:=		4
+PKG_RELEASE:=		5
 PKG_MD5SUM:=		c9e21b88a2b3e6e12ea7ba0f3b271fc3
 PKG_DESCR:=		sound library
 PKG_SECTION:=		libs/audio
@@ -32,9 +32,14 @@ HOST_STYLE:=		auto
 CONFIGURE_ARGS+=	--disable-python
 
 alsa-lib-install:
-	${INSTALL_DIR} ${IDIR_ALSA_LIB}/usr/lib ${IDIR_ALSA_LIB}/usr/share/alsa
+	${INSTALL_DIR} ${IDIR_ALSA_LIB}/usr/lib 
+	${INSTALL_DIR} ${IDIR_ALSA_LIB}/usr/share/alsa/{cards,pcm}
 	${CP} ${WRKINST}/usr/lib/libasound.so* ${IDIR_ALSA_LIB}/usr/lib
 	${CP} ${WRKINST}/usr/share/alsa/alsa.conf ${IDIR_ALSA_LIB}/usr/share/alsa
+	${CP} ${WRKINST}//usr/share/alsa/cards/aliases.conf \
+		${IDIR_ALSA_LIB}/usr/share/alsa/cards
+	${CP} ${WRKINST}//usr/share/alsa/pcm/*.conf \
+		${IDIR_ALSA_LIB}/usr/share/alsa/pcm
 
 include ${ADK_TOPDIR}/mk/host-bottom.mk
 include ${ADK_TOPDIR}/mk/pkg-bottom.mk

+ 1 - 0
target/arm/kernel/raspberry-pi

@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_FIQ=y
 CONFIG_ARM_PATCH_PHYS_VIRT=y
 CONFIG_KUSER_HELPERS=y
+CONFIG_ARCH_MULTI_V6=y
 CONFIG_ARCH_BCM2708=y
 CONFIG_MACH_BCM2708=y
 CONFIG_BCM2708_GPIO=y

+ 46 - 51
target/linux/config/Config.in.audio

@@ -8,84 +8,84 @@ config ADK_KERNEL_SND_USB
 	boolean
 
 config ADK_KERNEL_SND_SOC
-	tristate
+	boolean
 
 config ADK_KERNEL_SND_ARM
 	boolean
 
 config ADK_KERNEL_SND_SOC_GENERIC_DMAENGINE_PCM
-	tristate
+	boolean
 
 config ADK_KERNEL_SND_DMAENGINE_PCM
-	tristate
+	boolean
 
 config ADK_KERNEL_SND_SOC_SPDIF
-	tristate
+	boolean
 
 config ADK_KERNEL_SND_SOC_FSL_ASRC
-	tristate
+	boolean
 
 config ADK_KERNEL_SND_SOC_FSL_SPDIF
-	tristate
+	boolean
 
 config ADK_KERNEL_SND_SOC_IMX_SGTL5000
-	tristate
+	boolean
 
 config ADK_KERNEL_SND_SOC_IMX_PCM_DMA
-	tristate
+	boolean
 
 config ADK_KERNEL_SND_SOC_IMX_HDMI_DMA
-	tristate
+	boolean
 
 config ADK_KERNEL_SND_SOC_IMX_SPDIF
-	tristate
+	boolean
 
 config ADK_KERNEL_SND_SOC_IMX_HDMI
-	tristate
+	boolean
 
 config ADK_KERNEL_SND_PXA2XX_AC97
-	tristate
+	boolean
 
 config ADK_KERNEL_SND_PXA2XX_SOC
-	tristate
+	boolean
 
 config ADK_KERNEL_SND_TIMER
-	tristate
+	boolean
 
 config ADK_KERNEL_SND_PCM
 	select ADK_KERNEL_SND_TIMER
 	select ADK_KERNEL_SND_DMAENGINE_PCM
 	select ADK_KERNEL_SND_PCM_DMAENGINE
-	tristate
+	boolean
 
 config ADK_KERNEL_SND_HWDEP
-	tristate
+	boolean
 
 config ADK_KERNEL_SOUND
-	tristate
+	boolean
 
 config ADK_KERNEL_SND_RAWMIDI
-	tristate
+	boolean
 
 config ADK_KERNEL_SND_AC97_CODEC
-	tristate
+	boolean
 
 config ADK_KERNEL_SND_SOC_I2C_AND_SPI
 	boolean
 
 config ADK_KERNEL_SND_SOC_WM8804
-	tristate
+	boolean
 	select ADK_KERNEL_SND_SOC_I2C_AND_SPI
 
 config ADK_KERNEL_SND_SOC_PCM5102A
-	tristate
+	boolean
 	select ADK_KERNEL_SND_SOC_I2C_AND_SPI
 
 config ADK_KERNEL_SND_PCM_DMAENGINE
-	tristate
+	boolean
 
 config ADK_KERNEL_SND
-	tristate
+	boolean
 	select ADK_KERNEL_SOUND
 	select ADK_KERNEL_SND_PCM
 	select ADK_KERNEL_SND_HWDEP
@@ -93,12 +93,12 @@ config ADK_KERNEL_SND
 
 config ADK_KERNEL_SND_INTEL8X0
 	prompt "Intel AC97 driver"
-	tristate
+	boolean
 	select ADK_KERNEL_SND
 	select ADK_KERNEL_SND_PCI
 	select ADK_KERNEL_SND_AC97_CODEC
-	default m if ADK_TARGET_SYSTEM_IBM_X40
-	default m if ADK_TARGET_QEMU_WITH_AUDIO
+	default y if ADK_TARGET_SYSTEM_IBM_X40
+	default y if ADK_TARGET_QEMU_WITH_AUDIO
 	default n
 	depends on ADK_TARGET_WITH_PCI || ADK_TARGET_QEMU_SYSTEM_X86 || ADK_TARGET_QEMU_SYSTEM_X86_64
 	help
@@ -106,7 +106,7 @@ config ADK_KERNEL_SND_INTEL8X0
 
 config ADK_KERNEL_SND_VIA82XX
 	prompt "VIA82XX driver"
-	tristate
+	boolean
 	select ADK_KERNEL_SND
 	default n
 	depends on ADK_TARGET_WITH_PCI
@@ -115,7 +115,7 @@ config ADK_KERNEL_SND_VIA82XX
 
 config ADK_KERNEL_SND_ENS1370
 	prompt "Ensoniq 1370 driver"
-	tristate
+	boolean
 	select ADK_KERNEL_SND
 	default n
 	depends on ADK_TARGET_WITH_PCI
@@ -124,12 +124,12 @@ config ADK_KERNEL_SND_ENS1370
 
 config ADK_KERNEL_SND_CS5535AUDIO
 	prompt "AMD CS5535 driver"
-	tristate
+	boolean
 	select ADK_KERNEL_SND_PCI
 	select ADK_KERNEL_SND_AC97_CODEC
 	select ADK_KERNEL_SND
-	default m if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
-	default m if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
+	default y if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
 	default n
 	depends on ADK_TARGET_WITH_PCI
 	help
@@ -137,7 +137,7 @@ config ADK_KERNEL_SND_CS5535AUDIO
 
 config ADK_KERNEL_SND_PXA2XX_SOC_SPITZ
 	prompt "Sharp Zaurus SoC"
-	tristate
+	boolean
 	select ADK_KERNEL_SND
 	select ADK_KERNEL_SND_ARM
 	select ADK_KERNEL_SND_PXA2XX_AC97
@@ -145,21 +145,20 @@ config ADK_KERNEL_SND_PXA2XX_SOC_SPITZ
 	select ADK_KERNEL_SND_SOC
 	select ADK_KERNEL_SND_PXA2XX_SOC
 	depends on ADK_TARGET_SYSTEM_SHARP_ZAURUS
-	default m if ADK_TARGET_SYSTEM_SHARP_ZAURUS
+	default y if ADK_TARGET_SYSTEM_SHARP_ZAURUS
 	default n
 
 config ADK_KERNEL_SND_BCM2835
-	prompt "Raspberry PI SoC"
-	tristate
+	prompt "Raspberry PI onboard soundcard"
+	boolean
 	select ADK_KERNEL_SND
 	select ADK_KERNEL_SND_ARM
 	depends on ADK_TARGET_SYSTEM_RASPBERRY_PI
-	default m if ADK_TARGET_SYSTEM_RASPBERRY_PI
+	default y if ADK_TARGET_SYSTEM_RASPBERRY_PI
 	default n
 
 config ADK_KERNEL_SND_BCM2708_SOC_I2S
-	prompt "Raspberry PI I2S driver"
-	tristate
+	boolean
 	select ADK_KERNEL_SND
 	select ADK_KERNEL_SND_ARM
 	select ADK_KERNEL_SND_SOC
@@ -172,19 +171,17 @@ config ADK_KERNEL_SND_BCM2708_SOC_I2S
 
 config ADK_KERNEL_SND_BCM2708_SOC_HIFIBERRY_DAC
 	prompt "Raspberry PI hifiberry DAC"
-	tristate
+	boolean
 	select ADK_KERNEL_DMA_BCM2708
-	select ADK_KERNEL_REGMAP_MMIO
 	select ADK_KERNEL_SND_BCM2708_SOC_I2S
 	depends on ADK_TARGET_SYSTEM_RASPBERRY_PI
-	default m if ADK_PKG_MPDBOX
+	default y if ADK_PKG_MPDBOX
 	default n
 
 config ADK_KERNEL_SND_BCM2708_SOC_HIFIBERRY_DIGI
 	prompt "Raspberry PI hifiberry DIGI"
-	tristate
+	boolean
 	select ADK_KERNEL_DMA_BCM2708
-	select ADK_KERNEL_REGMAP_MMIO
 	select ADK_KERNEL_SND_BCM2708_SOC_I2S
 	select ADK_KERNEL_SND_SOC_WM8804
 	depends on ADK_TARGET_SYSTEM_RASPBERRY_PI
@@ -192,27 +189,25 @@ config ADK_KERNEL_SND_BCM2708_SOC_HIFIBERRY_DIGI
 
 config ADK_KERNEL_SND_BCM2708_SOC_RPI_DAC
 	prompt "Raspberry PI RPI-DAC"
-	tristate
+	boolean
 	select ADK_KERNEL_DMA_BCM2708
-	select ADK_KERNEL_REGMAP_MMIO
 	select ADK_KERNEL_SND_BCM2708_SOC_I2S
 	depends on ADK_TARGET_SYSTEM_RASPBERRY_PI
-	default m if ADK_PKG_MPDBOX
+	default y if ADK_PKG_MPDBOX
 	default n
 
 config ADK_KERNEL_SND_BCM2708_SOC_IQAUDIO_DAC
 	prompt "Raspberry PI IQAudio-DAC"
-	tristate
+	boolean
 	select ADK_KERNEL_DMA_BCM2708
-	select ADK_KERNEL_REGMAP_MMIO
 	select ADK_KERNEL_SND_BCM2708_SOC_I2S
 	depends on ADK_TARGET_SYSTEM_RASPBERRY_PI
-	default m if ADK_PKG_MPDBOX
+	default y if ADK_PKG_MPDBOX
 	default n
 
 config ADK_KERNEL_SND_IMX_SOC
 	prompt "Solidrun SoC sound chip"
-	tristate
+	boolean
 	select ADK_KERNEL_SND
 	select ADK_KERNEL_SND_SOC
 	select ADK_KERNEL_SND_SOC_GENERIC_DMAENGINE_PCM
@@ -229,7 +224,7 @@ config ADK_KERNEL_SND_IMX_SOC
 	select ADK_KERNEL_SND_PCM_DMAENGINE
 	depends on ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
 	depends on ADK_KERNEL_VERSION_3_14
-	default m if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
+	default y if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
 	default n
 
 endmenu

+ 1 - 1
target/linux/config/Config.in.dma

@@ -2,7 +2,7 @@ config ADK_KERNEL_DMADEVICES
 	boolean
 
 config ADK_KERNEL_DMA_BCM2708
-        tristate
+        boolean
         select ADK_KERNEL_DMADEVICES
 
 config ADK_KERNEL_IMX_SDMA