summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--target/linux/Config.in8
-rw-r--r--target/linux/control/kmod-usb-audio.control1
-rw-r--r--target/linux/linux-2.4/Makefile6
-rw-r--r--target/linux/package/Config.in1
-rw-r--r--target/linux/package/Makefile2
-rw-r--r--target/linux/package/alsa/Config.in8
-rw-r--r--target/linux/package/alsa/Makefile47
-rw-r--r--target/linux/package/alsa/files/alsa.modules10
-rw-r--r--target/linux/package/alsa/ipkg/kmod-alsa.control7
-rw-r--r--target/linux/package/alsa/patches/100-kernel_cflags.patch12
10 files changed, 100 insertions, 2 deletions
diff --git a/target/linux/Config.in b/target/linux/Config.in
index f5cf16679f..402c1573f1 100644
--- a/target/linux/Config.in
+++ b/target/linux/Config.in
@@ -162,6 +162,13 @@ config BR2_PACKAGE_KMOD_CIFS
help
Kernel modules for CIFS support
+config BR2_PACKAGE_KMOD_SOUNDCORE
+ tristate "Soundcard support"
+ default n
+ help
+ Base support for soundcards
+ Requires either USB soundcard support (OSS) or ALSA package to be useful
+
config BR2_PACKAGE_KMOD_USB
tristate "USB support"
default m
@@ -228,6 +235,7 @@ config BR2_PACKAGE_KMOD_USB_AUDIO
tristate "Support for USB soundcards"
default m
depends BR2_PACKAGE_KMOD_USB_CONTROLLER
+ select BR2_PACKAGE_KMOD_SOUNDCORE
config BR2_PACKAGE_KMOD_USB_ACM
tristate "Support for USB modems/isdn controllers"
diff --git a/target/linux/control/kmod-usb-audio.control b/target/linux/control/kmod-usb-audio.control
index 31f35728f3..367c590570 100644
--- a/target/linux/control/kmod-usb-audio.control
+++ b/target/linux/control/kmod-usb-audio.control
@@ -3,4 +3,5 @@ Priority: optional
Section: sys
Maintainer: David Collett <daveco@users.sourceforge.net>
Source: buildroot internal
+Depends: kmod-soundcore
Description: Kernel Support for USB Soundcards
diff --git a/target/linux/linux-2.4/Makefile b/target/linux/linux-2.4/Makefile
index e5e25d6ab7..9c56a0b2b4 100644
--- a/target/linux/linux-2.4/Makefile
+++ b/target/linux/linux-2.4/Makefile
@@ -91,6 +91,9 @@ $(eval $(call KMOD_template,NFS,nfs,\
$(MODULES_DIR)/kernel/fs/nfs/*.o \
$(MODULES_DIR)/kernel/net/sunrpc/*.o \
,CONFIG_NFS_FS,,30,sunrpc lockd nfs))
+$(eval $(call KMOD_template,SOUNDCORE,soundcore,\
+ $(MODULES_DIR)/kernel/drivers/sound/soundcore.o \
+,CONFIG_SOUND,,30,soundcore))
$(eval $(call KMOD_template,USB,usb-core,\
$(MODULES_DIR)/kernel/drivers/usb/usbcore.o \
,CONFIG_USB,,50,usbcore))
@@ -128,9 +131,8 @@ $(eval $(call KMOD_template,USB_PRINTER,usb-printer,\
$(MODULES_DIR)/kernel/drivers/usb/printer.o \
,CONFIG_USB_PRINTER,kmod-usb-core,60,printer))
$(eval $(call KMOD_template,USB_AUDIO,usb-audio,\
- $(MODULES_DIR)/kernel/drivers/sound/soundcore.o \
$(MODULES_DIR)/kernel/drivers/usb/audio.o \
-,CONFIG_USB_AUDIO,kmod-usb-core,60,soundcore audio))
+,CONFIG_USB_AUDIO,kmod-soundcore kmod-usb-core,61,audio))
$(eval $(call KMOD_template,IDE,ide,\
$(MODULES_DIR)/kernel/drivers/ide/*.o \
$(MODULES_DIR)/kernel/drivers/ide/*/*.o \
diff --git a/target/linux/package/Config.in b/target/linux/package/Config.in
index b08debb777..2425f42236 100644
--- a/target/linux/package/Config.in
+++ b/target/linux/package/Config.in
@@ -1,6 +1,7 @@
source "target/linux/package/wlcompat/Config.in"
source "target/linux/package/diag/Config.in"
source "target/linux/package/madwifi/Config.in"
+source "target/linux/package/alsa/Config.in"
source "target/linux/package/fuse/Config.in"
source "target/linux/package/mini_fo/Config.in"
source "target/linux/package/shfs/Config.in"
diff --git a/target/linux/package/Makefile b/target/linux/package/Makefile
index d1cf0f7832..72eea1f691 100644
--- a/target/linux/package/Makefile
+++ b/target/linux/package/Makefile
@@ -1,6 +1,7 @@
# Main makefile for the packages
include $(TOPDIR)/rules.mk
+package-$(BR2_PACKAGE_KMOD_ALSA) += alsa
package-$(BR2_PACKAGE_KMOD_FUSE) += fuse
package-$(BR2_PACKAGE_KMOD_MINI_FO) += mini_fo
package-$(BR2_PACKAGE_KMOD_SHFS) += shfs
@@ -16,6 +17,7 @@ endif
all: compile install
clean: $(patsubst %,%-clean,$(package-) $(package-y) $(package-m))
+prepare: $(patsubst %,%-prepare,$(package-y) $(package-m))
compile: $(patsubst %,%-compile,$(package-y) $(package-m))
install: $(patsubst %,%-install,$(package-y))
diff --git a/target/linux/package/alsa/Config.in b/target/linux/package/alsa/Config.in
new file mode 100644
index 0000000000..5396542d10
--- /dev/null
+++ b/target/linux/package/alsa/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_KMOD_ALSA
+ prompt "kmod-alsa - Alsa Sound Drivers"
+ tristate
+ default m if CONFIG_DEVEL
+ depends BR2_PACKAGE_KMOD_USB_CONTROLLER
+ select BR2_PACKAGE_KMOD_SOUNDCORE
+ help
+ Alsa Drivers for USB Soundcards
diff --git a/target/linux/package/alsa/Makefile b/target/linux/package/alsa/Makefile
new file mode 100644
index 0000000000..16b9aed29f
--- /dev/null
+++ b/target/linux/package/alsa/Makefile
@@ -0,0 +1,47 @@
+# $Id$
+
+include $(TOPDIR)/rules.mk
+include ../../rules.mk
+
+PKG_NAME:=alsa-driver
+PKG_VERSION:=1.0.10rc1
+PKG_RELEASE:=1
+PKG_MD5SUM:=0fb6b4163c3ed8f4930f00791b8a25c1
+
+PKG_SOURCE_URL:=ftp://ftp.alsa-project.org/pub/driver/
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_CAT:=bzcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+
+ifeq ($(KERNEL_DIR),)
+KERNEL_DIR:=$(LINUX_DIR)
+endif
+
+include $(TOPDIR)/package/rules.mk
+
+$(eval $(call PKG_template,KMOD_ALSA,kmod-alsa,$(LINUX_VERSION)$(BOARD)+$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH),kernel-$(LINUX_VERSION)-$(BOARD) ($(KERNEL_RELEASE))))
+
+$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.prepared
+ (cd $(PKG_BUILD_DIR); \
+ ./configure \
+ --with-kernel=$(KERNEL_DIR) \
+ --with-cross=$(KERNEL_CROSS) \
+ --with-oss=yes \
+ --with-isapnp=no \
+ --with-sequencer=no \
+ --with-cards=usb-audio \
+ );
+ touch $@
+
+$(PKG_BUILD_DIR)/.built:
+ $(MAKE) -C $(PKG_BUILD_DIR)
+ touch $@
+
+$(IPKG_KMOD_ALSA):
+ install -d -m0755 $(IDIR_KMOD_ALSA)/etc/modules.d
+ install -m0644 ./files/alsa.modules $(IDIR_KMOD_ALSA)/etc/modules.d/70-alsa
+ install -d -m0755 $(IDIR_KMOD_ALSA)/lib/modules/$(LINUX_VERSION)
+ install -m0644 $(PKG_BUILD_DIR)/modules/*.o \
+ $(IDIR_KMOD_ALSA)/lib/modules/$(LINUX_VERSION)/
+ $(IPKG_BUILD) $(IDIR_KMOD_ALSA) $(PACKAGE_DIR)
diff --git a/target/linux/package/alsa/files/alsa.modules b/target/linux/package/alsa/files/alsa.modules
new file mode 100644
index 0000000000..6b16c8c586
--- /dev/null
+++ b/target/linux/package/alsa/files/alsa.modules
@@ -0,0 +1,10 @@
+snd-page-alloc
+snd
+snd-timer
+snd-pcm
+snd-rawmidi
+snd-usb-lib
+snd-hwdep
+snd-usb-audio
+snd-mixer-oss
+snd-pcm-oss
diff --git a/target/linux/package/alsa/ipkg/kmod-alsa.control b/target/linux/package/alsa/ipkg/kmod-alsa.control
new file mode 100644
index 0000000000..8868c2fdb4
--- /dev/null
+++ b/target/linux/package/alsa/ipkg/kmod-alsa.control
@@ -0,0 +1,7 @@
+Package: kmod-alsa
+Priority: optional
+Section: kernel
+Maintainer: OpenWrt Developers Team <openwrt-devel@openwrt.org>, David Collett <daveco@users.sourceforge.net>
+Source: buildroot internal
+Depends: kmod-usb-audio
+Description: Alsa Drivers for USB Soundcards
diff --git a/target/linux/package/alsa/patches/100-kernel_cflags.patch b/target/linux/package/alsa/patches/100-kernel_cflags.patch
new file mode 100644
index 0000000000..08ed6ad28c
--- /dev/null
+++ b/target/linux/package/alsa/patches/100-kernel_cflags.patch
@@ -0,0 +1,12 @@
+diff -rNu alsa-driver-1.0.9b/Makefile.conf.in alsa-driver-1.0.9b.new/Makefile.conf.in
+--- alsa-driver-1.0.9b/Makefile.conf.in 2005-04-15 23:09:33.000000000 +1000
++++ alsa-driver-1.0.9b.new/Makefile.conf.in 2005-09-04 11:29:15.000000000 +1000
+@@ -53,6 +53,8 @@
+ INCLUDE = -I$(TOPDIR)/include @EXTRA_INCLUDES@ @KERNEL_INC@
+ CFLAGS = $(MODFLAGS) $(INCLUDE) $(c_opts) -Wall -Wstrict-prototypes \
+ -fomit-frame-pointer -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common \
++ -mno-abicalls -fno-pic -finline-limit=100000 -mabi=32 -march=mips32 \
++ -Wa,-32 -Wa,-march=mips32 -Wa,-mips32 -Wa,--trap -mlong-calls \
+ -pipe -DALSA_BUILD -nostdinc -iwithprefix include
+ ifdef CONFIG_SND_MVERSION
+ CFLAGS += -DMODVERSIONS -include $(CONFIG_SND_KERNELDIR)/include/linux/modversions.h