فهرست منبع

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 10 سال پیش
والد
کامیت
746bcde605
5فایلهای تغییر یافته به همراه55 افزوده شده و 182 حذف شده
  1. 0 128
      mk/modules.mk
  2. 7 2
      package/alsa-lib/Makefile
  3. 1 0
      target/arm/kernel/raspberry-pi
  4. 46 51
      target/linux/config/Config.in.audio
  5. 1 1
      target/linux/config/Config.in.dma

+ 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