summaryrefslogtreecommitdiffstats
path: root/target/linux/package
diff options
context:
space:
mode:
authornico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-09-29 07:18:31 +0000
committernico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-09-29 07:18:31 +0000
commit2f632513f2a6570354631dc09f1663c8b766acb8 (patch)
tree88ba5b48b9fefa4d45a36a1558527c9824721b0c /target/linux/package
parent1241032b014375e84d28fcb3630f98a8f8432f59 (diff)
add alsa kernel driver (thanks to David Collet)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@1997 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/package')
-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
7 files changed, 87 insertions, 0 deletions
diff --git a/target/linux/package/Config.in b/target/linux/package/Config.in
index b08debb77..2425f4223 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 d1cf0f783..72eea1f69 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 000000000..5396542d1
--- /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 000000000..16b9aed29
--- /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 000000000..6b16c8c58
--- /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 000000000..8868c2fdb
--- /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 000000000..08ed6ad28
--- /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