summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-10-19 04:35:29 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-10-19 04:35:29 +0000
commit4c98f8465d7b207b150b3c67705e35297d7804be (patch)
tree5a337e497d0d20261e5b4c22d43436323f601fef
parent00b9fc10fe104cb6b4c835fdf19f739121722ed6 (diff)
finally kill KMOD_template - removes a big chunk of legacy build code
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@5222 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--Config.in1
-rw-r--r--include/kernel-build.mk32
-rw-r--r--include/kernel.mk47
-rw-r--r--include/modules-2.4.mk60
-rw-r--r--include/modules-2.6.mk67
-rw-r--r--package/kernel/Makefile22
-rw-r--r--package/kernel/modules/network.mk36
-rw-r--r--package/kernel/modules/other.mk100
-rw-r--r--package/kernel/modules/usb.mk23
-rw-r--r--package/kernel/modules/wireless.mk109
-rw-r--r--target/linux/Config.in177
11 files changed, 255 insertions, 419 deletions
diff --git a/Config.in b/Config.in
index f53d71de00..cfd0b5ffea 100644
--- a/Config.in
+++ b/Config.in
@@ -102,6 +102,5 @@ source "target/image/*/Config.in"
endmenu
-source "target/linux/Config.in"
source ".config.in"
diff --git a/include/kernel-build.mk b/include/kernel-build.mk
index 251e985e8b..0697b79a53 100644
--- a/include/kernel-build.mk
+++ b/include/kernel-build.mk
@@ -5,7 +5,6 @@
# See /LICENSE for more information.
#
include $(INCLUDE_DIR)/host.mk
--include $(INCLUDE_DIR)/modules-$(KERNEL).mk
LINUX_SOURCE:=linux-$(LINUX_VERSION).tar.bz2
LINUX_SITE=http://www.us.kernel.org/pub/linux/kernel/v$(KERNEL) \
@@ -13,11 +12,6 @@ LINUX_SITE=http://www.us.kernel.org/pub/linux/kernel/v$(KERNEL) \
http://www.kernel.org/pub/linux/kernel/v$(KERNEL) \
http://www.de.kernel.org/pub/linux/kernel/v$(KERNEL)
-KERNEL_IDIR:=$(KERNEL_BUILD_DIR)/kernel-ipkg
-KERNEL_IPKG:=$(KERNEL_BUILD_DIR)/kernel_$(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE)_$(ARCH).ipk
-TARGETS += $(KERNEL_IPKG)
-INSTALL_TARGETS += $(KERNEL_IPKG)
-
ifneq (,$(findstring uml,$(BOARD)))
LINUX_KARCH:=um
else
@@ -39,11 +33,6 @@ ifneq (,$(findstring ppc,$(BOARD)))
endif
-$(TARGETS): $(PACKAGE_DIR)
-
-$(PACKAGE_DIR):
- mkdir -p $@
-
$(DL_DIR)/$(LINUX_SOURCE):
-mkdir -p $(DL_DIR)
$(SCRIPT_DIR)/download.pl $(DL_DIR) $(LINUX_SOURCE) $(LINUX_KERNEL_MD5SUM) $(LINUX_SITE)
@@ -84,7 +73,7 @@ else
echo 'CONFIG_INITRAMFS_SOURCE=""' >> $(LINUX_DIR)/.config
endif
-$(LINUX_DIR)/vmlinux: $(LINUX_DIR)/.linux-compile pkg-install ramdisk-config
+$(LINUX_DIR)/vmlinux: $(LINUX_DIR)/.linux-compile ramdisk-config
$(MAKE) -j$(CONFIG_JLEVEL) -C $(LINUX_DIR) CROSS_COMPILE="$(KERNEL_CROSS)" CC="$(KERNEL_CC)" ARCH=$(LINUX_KARCH) $(KERNELNAME)
$(LINUX_KERNEL): $(LINUX_DIR)/vmlinux
@@ -98,7 +87,6 @@ $(LINUX_DIR)/.modules_done:
touch $(LINUX_DIR)/.modules_done
modules: $(LINUX_DIR)/.modules_done
-packages: $(TARGETS)
$(LINUX_DIR)/.linux-compile:
@rm -f $(BUILD_DIR)/linux
@@ -106,15 +94,6 @@ $(LINUX_DIR)/.linux-compile:
@$(MAKE) modules
touch $@
-$(KERNEL_IPKG):
- rm -rf $(KERNEL_IDIR)
- mkdir -p $(KERNEL_IDIR)/etc
- $(SCRIPT_DIR)/make-ipkg-dir.sh $(KERNEL_IDIR) ../control/kernel.control $(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE) $(ARCH)
- if [ -f ./config/$(BOARD).modules ]; then \
- cp ./config/$(BOARD).modules $(KERNEL_IDIR)/etc/modules; \
- fi
- $(IPKG_BUILD) $(KERNEL_IDIR) $(KERNEL_BUILD_DIR)
-
$(TOPDIR)/.kernel.mk: $(TOPDIR)/target/linux/$(BOARD)-$(KERNEL)/Makefile
echo "CONFIG_BOARD:=$(BOARD)" > $@
echo "CONFIG_KERNEL:=$(KERNEL)" >> $@
@@ -122,17 +101,11 @@ $(TOPDIR)/.kernel.mk: $(TOPDIR)/target/linux/$(BOARD)-$(KERNEL)/Makefile
echo "CONFIG_LINUX_RELEASE:=$(LINUX_RELEASE)" >> $@
echo "CONFIG_LINUX_KARCH:=$(LINUX_KARCH)" >> $@
-pkg-install: FORCE
- @for pkg in $(INSTALL_TARGETS); do \
- $(IPKG) install $$pkg || echo; \
- done
-
download: $(DL_DIR)/$(LINUX_SOURCE)
prepare: $(LINUX_DIR)/.configured
- @mkdir -p $(LINUX_DIR) $(PACKAGE_DIR)
+ @mkdir -p $(LINUX_DIR)
compile: prepare $(LINUX_DIR)/.linux-compile
- @$(MAKE) packages
install: compile $(LINUX_KERNEL)
@@ -153,5 +126,4 @@ rebuild: FORCE
clean: FORCE
rm -f $(STAMP_DIR)/.linux-compile
rm -rf $(KERNEL_BUILD_DIR)
- rm -f $(TARGETS)
diff --git a/include/kernel.mk b/include/kernel.mk
index 7a36cee1a5..af5d9455fa 100644
--- a/include/kernel.mk
+++ b/include/kernel.mk
@@ -45,7 +45,6 @@ else
MODULES_SUBDIR:=lib/modules/$(LINUX_VERSION)
MODULES_DIR := $(KERNEL_BUILD_DIR)/modules/$(MODULES_SUBDIR)
TARGET_MODULES_DIR := $(LINUX_TARGET_DIR)/$(MODULES_SUBDIR)
- KMOD_BUILD_DIR := $(KERNEL_BUILD_DIR)/linux-modules
LINUX_KERNEL:=$(KERNEL_BUILD_DIR)/vmlinux
endif
@@ -116,49 +115,3 @@ define AutoLoad
add_module $(1) "$(2)";
endef
-
-# FIXME: remove this crap
-define KMOD_template
-ifeq ($$(strip $(4)),)
-KDEPEND_$(1):=m
-else
-KDEPEND_$(1):=$($(4))
-endif
-
-IDEPEND_$(1):=kernel ($(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE)) $(foreach pkg,$(5),", $(pkg)")
-
-PKG_$(1) := $(PACKAGE_DIR)/kmod-$(2)_$(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE)_$(ARCH).ipk
-I_$(1) := $(KMOD_BUILD_DIR)/ipkg/$(2)
-
-ifeq ($$(KDEPEND_$(1)),m)
-ifneq ($$(CONFIG_PACKAGE_KMOD_$(1)),)
-TARGETS += $$(PKG_$(1))
-endif
-ifeq ($$(CONFIG_PACKAGE_KMOD_$(1)),y)
-INSTALL_TARGETS += $$(PKG_$(1))
-endif
-endif
-
-$$(PKG_$(1)): $(LINUX_DIR)/.modules_done
- rm -rf $$(I_$(1))
- $(SCRIPT_DIR)/make-ipkg-dir.sh $$(I_$(1)) ../control/kmod-$(2).control $(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE) $(ARCH)
- echo "Depends: $$(IDEPEND_$(1))" >> $$(I_$(1))/CONTROL/control
-ifneq ($(strip $(3)),)
- mkdir -p $$(I_$(1))/lib/modules/$(LINUX_VERSION)
- $(CP) $(3) $$(I_$(1))/lib/modules/$(LINUX_VERSION)
-endif
-ifneq ($(6),)
- mkdir -p $$(I_$(1))/etc/modules.d
- for module in $(7); do \
- echo $$$$module >> $$(I_$(1))/etc/modules.d/$(6)-$(2); \
- done
- echo "#!/bin/sh" >> $$(I_$(1))/CONTROL/postinst
- echo "[ -z \"\$$$$IPKG_INSTROOT\" ] || exit" >> $$(I_$(1))/CONTROL/postinst
- echo ". /etc/functions.sh" >> $$(I_$(1))/CONTROL/postinst
- echo "load_modules /etc/modules.d/$(6)-$(2)" >> $$(I_$(1))/CONTROL/postinst
- chmod 0755 $$(I_$(1))/CONTROL/postinst
-endif
- $(8)
- $(IPKG_BUILD) $$(I_$(1)) $(PACKAGE_DIR)
-endef
-
diff --git a/include/modules-2.4.mk b/include/modules-2.4.mk
index 8a23634813..bd44b5f38a 100644
--- a/include/modules-2.4.mk
+++ b/include/modules-2.4.mk
@@ -4,70 +4,10 @@
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
-include $(INCLUDE_DIR)/netfilter.mk
-
-
-# Multimedia
-
-$(eval $(call KMOD_template,PWC,pwc,\
- $(MODULES_DIR)/kernel/drivers/usb/pwc.o \
-,CONFIG_USB_PWC,kmod-videodev,63,pwc))
-
-$(eval $(call KMOD_template,VIDEODEV,videodev,\
- $(MODULES_DIR)/kernel/drivers/media/video/videodev.o \
-,CONFIG_VIDEO_DEV,,62,videodev))
-
-
-# Network devices
-
-$(eval $(call KMOD_template,NET_AIRO,net-airo,\
- $(MODULES_DIR)/kernel/drivers/net/wireless/airo.o \
-,CONFIG_AIRO,,10,airo))
-
-$(eval $(call KMOD_template,NET_HERMES,net-hermes,\
- $(MODULES_DIR)/kernel/drivers/net/wireless/hermes.o \
- $(MODULES_DIR)/kernel/drivers/net/wireless/orinoco.o \
-,CONFIG_HERMES,,10,hermes orinoco))
-
-$(eval $(call KMOD_template,NET_HERMES_PCI,net-hermes-pci,\
- $(MODULES_DIR)/kernel/drivers/net/wireless/orinoco_pci.o \
-,CONFIG_PCI_HERMES,kmod-net-hermes,11,orinoco_pci))
-
-$(eval $(call KMOD_template,NET_HERMES_PCI,net-hermes-plx,\
- $(MODULES_DIR)/kernel/drivers/net/wireless/orinoco_plx.o \
-,CONFIG_PLX_HERMES,kmod-net-hermes,11,orinoco_plx))
-
-$(eval $(call KMOD_template,NET_PRISM54,net-prism54,\
- $(MODULES_DIR)/kernel/drivers/net/wireless/prism54/prism54.o \
-,CONFIG_PRISM54,,10,prism54))
-
-
-# PCMCIA/CardBus
-
-$(eval $(call KMOD_template,PCMCIA_CORE,pcmcia-core,\
- $(MODULES_DIR)/kernel/drivers/pcmcia/pcmcia_core.o \
- $(MODULES_DIR)/kernel/drivers/pcmcia/yenta_socket.o \
- $(MODULES_DIR)/kernel/drivers/pcmcia/ds.o \
-,CONFIG_PCMCIA,,50,pcmcia_core yenta_socket ds))
-
-$(eval $(call KMOD_template,PCMCIA_SERIAL,pcmcia-serial,\
- $(MODULES_DIR)/kernel/drivers/char/pcmcia/serial_cs.o \
-,CONFIG_PCMCIA_SERIAL_CS,kmod-pcmcia-core,51,serial_cs))
# Misc. devices
-$(eval $(call KMOD_template,AX25,ax25,\
- $(MODULES_DIR)/kernel/net/ax25/ax25.o \
- $(MODULES_DIR)/kernel/drivers/net/hamradio/mkiss.o \
-,CONFIG_AX25,,90,ax25 mkiss))
-
-$(eval $(call KMOD_template,BLUETOOTH,bluetooth,\
- $(MODULES_DIR)/kernel/net/bluetooth/*.o \
- $(MODULES_DIR)/kernel/net/bluetooth/rfcomm/*.o \
- $(MODULES_DIR)/kernel/drivers/bluetooth/*.o \
-,CONFIG_BLUEZ))
-
$(eval $(call KMOD_template,SOFTDOG,softdog,\
$(MODULES_DIR)/kernel/drivers/char/softdog.o \
,CONFIG_SOFT_WATCHDOG,,95,softdog))
diff --git a/include/modules-2.6.mk b/include/modules-2.6.mk
index 60ade6f232..087d425fc8 100644
--- a/include/modules-2.6.mk
+++ b/include/modules-2.6.mk
@@ -4,74 +4,7 @@
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
-NF_2_6:=1
-include $(INCLUDE_DIR)/netfilter.mk
-
-# Multimedia
-
-$(eval $(call KMOD_template,PWC,pwc,\
- $(MODULES_DIR)/kernel/drivers/usb/media/pwc/pwc.ko \
-,CONFIG_USB_PWC,kmod-videodev,63,pwc))
-
-$(eval $(call KMOD_template,VIDEODEV,videodev,\
- $(MODULES_DIR)/kernel/drivers/media/video/v4l1-compat.ko \
- $(MODULES_DIR)/kernel/drivers/media/video/v4l2-common.ko \
- $(MODULES_DIR)/kernel/drivers/media/video/videodev.ko \
-,CONFIG_VIDEO_DEV,,62,videodev))
-
-
-# Network devices
-
-$(eval $(call KMOD_template,NET_AIRO,net-airo,\
- $(MODULES_DIR)/kernel/drivers/net/wireless/airo.ko \
-,CONFIG_AIRO,,10,airo))
-
-$(eval $(call KMOD_template,NET_HERMES,net-hermes,\
- $(MODULES_DIR)/kernel/drivers/net/wireless/hermes.ko \
- $(MODULES_DIR)/kernel/drivers/net/wireless/orinoco.ko \
-,CONFIG_HERMES,,10,hermes orinoco))
-
-$(eval $(call KMOD_template,NET_HERMES_PCI,net-hermes-pci,\
- $(MODULES_DIR)/kernel/drivers/net/wireless/orinoco_pci.ko \
-,CONFIG_PCI_HERMES,kmod-net-hermes,11,orinoco_pci))
-
-$(eval $(call KMOD_template,NET_HERMES_PCI,net-hermes-plx,\
- $(MODULES_DIR)/kernel/drivers/net/wireless/orinoco_plx.ko \
-,CONFIG_PLX_HERMES,kmod-net-hermes,11,orinoco_plx))
-
-$(eval $(call KMOD_template,NET_PRISM54,net-prism54,\
- $(MODULES_DIR)/kernel/drivers/net/wireless/prism54/prism54.ko \
-,CONFIG_PRISM54,,10,prism54))
-
-
-# PCMCIA/CardBus
-
-$(eval $(call KMOD_template,PCMCIA_CORE,pcmcia-core,\
- $(MODULES_DIR)/kernel/drivers/pcmcia/pcmcia.ko \
- $(MODULES_DIR)/kernel/drivers/pcmcia/pcmcia_core.ko \
- $(MODULES_DIR)/kernel/drivers/pcmcia/yenta_socket.ko \
- $(MODULES_DIR)/kernel/drivers/pcmcia/rsrc_nonstatic.ko \
-,CONFIG_PCMCIA,,50,pcmcia_core pcmcia yenta_socket rsrc_nonstatic))
-
-$(eval $(call KMOD_template,PCMCIA_SERIAL,pcmcia-serial,\
- $(MODULES_DIR)/kernel/drivers/serial/serial_cs.ko \
-,CONFIG_SERIAL_8250_CS))
-
# Misc. devices
-$(eval $(call KMOD_template,AX25,ax25,\
- $(MODULES_DIR)/kernel/net/ax25/ax25.ko \
- $(MODULES_DIR)/kernel/drivers/net/hamradio/mkiss.ko \
-,CONFIG_AX25,,90,ax25 mkiss))
-
-$(eval $(call KMOD_template,BLUETOOTH,bluetooth,\
- $(MODULES_DIR)/kernel/net/bluetooth/bluetooth.ko \
- $(MODULES_DIR)/kernel/net/bluetooth/l2cap.ko \
- $(MODULES_DIR)/kernel/net/bluetooth/sco.ko \
- $(MODULES_DIR)/kernel/net/bluetooth/rfcomm/rfcomm.ko \
- $(MODULES_DIR)/kernel/drivers/bluetooth/hci_uart.ko \
- $(MODULES_DIR)/kernel/drivers/bluetooth/hci_usb.ko \
-,CONFIG_BT))
-
diff --git a/package/kernel/Makefile b/package/kernel/Makefile
index 37cb13e167..a030ad7236 100644
--- a/package/kernel/Makefile
+++ b/package/kernel/Makefile
@@ -32,5 +32,27 @@ endef
define Build/Compile
endef
+CONFIG_PACKAGE_kernel=y
+define Package/kernel
+ SECTION:=sys
+ CATEGORY:=Kernel
+ DEFAULT:=y
+ TITLE:=Virtual kernel package
+ DESCRIPTION:=Virtual kernel package
+ VERSION:=$(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE)
+endef
+
+define Package/kernel/install
+ # nothing to do
+endef
+
+# this is more robust than ifdef around eval/call
+ifneq ($(DUMP),1)
+ define BuildKernel
+ $(call BuildPackage,kernel)
+ endef
+endif
+$(eval $(call BuildKernel))
+
include $(TOPDIR)/target/linux/*/modules.mk
include ./modules/*.mk
diff --git a/package/kernel/modules/network.mk b/package/kernel/modules/network.mk
index 16a8d69b39..4c82c4cc04 100644
--- a/package/kernel/modules/network.mk
+++ b/package/kernel/modules/network.mk
@@ -219,33 +219,19 @@ endef
$(eval $(call KernelPackage,sched))
-define KernelPackage/ieee80211softmac
- TITLE:=802.11 Networking stack
- DESCRIPTION:=\\\
- \\\
- Includes: \\\
- - ieee80211_crypt \\\
- - ieee80211 \\\
- - ieee80211_crypt_wep \\\
- - ieee80211_crypt_tkip \\\
- - ieee80211_crytp_ccmp \\\
- - ieee80211softmac
- DEPENDS:=@LINUX_2_6
- KCONFIG:=$(CONFIG_IEEE80211_SOFTMAC)
- FILES:= \
- $(MODULES_DIR)/kernel/net/ieee80211/*.$(LINUX_KMOD_SUFFIX) \
- $(MODULES_DIR)/kernel/net/ieee80211/softmac/*.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,10, \
- ieee80211_crypt \
- ieee80211 \
- ieee80211_crypt_wep \
- ieee80211_crypt_tkip \
- ieee80211_crypt_ccmp \
- ieee80211softmac \
- )
+
+define KernelPackage/ax25
+ TITLE:=AX25 support
+ DESCRIPTION:=Kernel modules for AX25 support
SUBMENU:=$(NSMENU)
+ KCONFIG:=$(CONFIG_AX25)
+ FILES:= \
+ $(MODULES_DIR)/kernel/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
+ $(MODULES_DIR)/kernel/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
endef
-$(eval $(call KernelPackage,ieee80211softmac))
+$(eval $(call KernelPackage,ax25))
+
diff --git a/package/kernel/modules/other.mk b/package/kernel/modules/other.mk
index 97cfddb9e6..cf66deea48 100644
--- a/package/kernel/modules/other.mk
+++ b/package/kernel/modules/other.mk
@@ -120,3 +120,103 @@ endef
$(eval $(call KernelPackage,nbd))
+define KernelPackage/pcmcia-core
+ TITLE:=PCMCIA/CardBus support
+ DESCRIPTION:=Kernel support for PCMCIA/CardBus controllers
+ SUBMENU:=$(EMENU)
+ KCONFIG:=$(CONFIG_PCMCIA)
+endef
+
+define KernelPackage/pcmcia-core/2.4
+ FILES:= \
+ $(MODULES_DIR)/kernel/drivers/pcmcia/pcmcia_core.$(LINUX_KMOD_SUFFIX) \
+ $(MODULES_DIR)/kernel/drivers/pcmcia/yenta_socket.$(LINUX_KMOD_SUFFIX) \
+ $(MODULES_DIR)/kernel/drivers/pcmcia/ds.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,40,pcmcia_core yenta_socket ds)
+endef
+
+define KernelPackage/pcmcia-core/2.6
+ FILES:= \
+ $(MODULES_DIR)/kernel/drivers/pcmcia/pcmcia_core.$(LINUX_KMOD_SUFFIX) \
+ $(MODULES_DIR)/kernel/drivers/pcmcia/pcmcia.$(LINUX_KMOD_SUFFIX) \
+ $(MODULES_DIR)/kernel/drivers/pcmcia/yenta_socket.$(LINUX_KMOD_SUFFIX) \
+ $(MODULES_DIR)/kernel/drivers/pcmcia/rsrc_nonstatic.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,40,pcmcia_core pcmcia yenta_socket rsrc_nonstatic)
+endef
+$(eval $(call KernelPackage,pcmcia-core))
+
+
+define KernelPackage/pcmcia-serial
+ TITLE:=Serial devices support
+ DESCRIPTION:=Kernel support for PCMCIA/CardBus serial devices
+ DEPENDS:=kmod-pcmcia-core
+ SUBMENU:=$(EMENU)
+ AUTOLOAD:=$(call AutoLoad,45,serial_cs)
+endef
+
+define KernelPackage/pcmcia-serial/2.4
+ KCONFIG:=$(CONFIG_PCMCIA_SERIAL_CS)
+ FILES:=$(MODULES_DIR)/kernel/drivers/char/pcmcia/serial_cs.$(LINUX_KMOD_SUFFIX)
+endef
+
+define KernelPackage/pcmcia-serial/2.6
+ KCONFIG:=$(CONFIG_SERIAL_8250_CS)
+ FILES:=$(MODULES_DIR)/kernel/drivers/serial/serial_cs.$(LINUX_KMOD_SUFFIX)
+endef
+$(eval $(call KernelPackage,pcmcia-serial))
+
+
+define KernelPackage/bluetooth
+ TITLE:=Bluetooth support
+ DESCRIPTION:=Kernel support for Bluetooth devices
+ SUBMENU:=$(EMENU)
+ FILES:= \
+ $(MODULES_DIR)/kernel/net/bluetooth/bluetooth.ko \
+ $(MODULES_DIR)/kernel/net/bluetooth/l2cap.ko \
+ $(MODULES_DIR)/kernel/net/bluetooth/sco.ko \
+ $(MODULES_DIR)/kernel/net/bluetooth/rfcomm/rfcomm.ko \
+ $(MODULES_DIR)/kernel/drivers/bluetooth/hci_uart.ko \
+ $(MODULES_DIR)/kernel/drivers/bluetooth/hci_usb.ko
+ AUTOLOAD:=$(call AutoLoad,90,bluetooth l2cap sco rfcomm hci_uart hci_usb)
+endef
+
+define KernelPackage/bluetooth/2.4
+ KCONFIG:=$(CONFIG_BLUEZ)
+endef
+
+define KernelPackage/bluetooth/2.6
+ KCONFIG:=$(CONFIG_BT)
+endef
+$(eval $(call KernelPackage,bluetooth))
+
+
+define KernelPackage/softdog
+ TITLE:=Software watchdog driver
+ DESCRIPTION:=Software watchdog driver
+ SUBMENU:=$(EMENU)
+ KCONFIG:=$(CONFIG_SOFT_WATCHDOG)
+ FILES:=$(MODULES_DIR)/kernel/drivers/char/softdog.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,50,softdog)
+endef
+$(eval $(call KernelPackage,softdog))
+
+
+define KernelPackage/videodev
+ TITLE=Video4Linux support
+ DESCRIPTION:=Kernel modules for Video4Linux support
+ SUBMENU:=$(EMENU)
+ KCONFIG:=$(CONFIG_VIDEO_DEV)
+ FILES:=$(MODULES_DIR)/kernel/drivers/media/video/*.$(LINUX_KMOD_SUFFIX)
+endef
+
+define KernelPackage/videodev/2.4
+ AUTOLOAD:=$(call AutoLoad,60,videodev)
+endef
+
+define KernelPackage/videodev/2.6
+ AUTOLOAD:=$(call AutoLoad,60,v4l2-common videodev)
+endef
+$(eval $(call KernelPackage,videodev))
+
+
+
diff --git a/package/kernel/modules/usb.mk b/package/kernel/modules/usb.mk
index 0f196b6ce2..b172252c75 100644
--- a/package/kernel/modules/usb.mk
+++ b/package/kernel/modules/usb.mk
@@ -243,4 +243,25 @@ define KernelPackage/usb-speedtouch
AUTOLOAD:=$(call AutoLoad,70,usbatm speedtch)
endef
$(eval $(call KernelPackage,usb-speedtouch))
-
+
+
+define KernelPackage/usb-pwc
+ $(call usbdep,+kmod-videodev)
+ TITLE:=Philips WebCam driver
+ DESCRIPTION:=Kernel modules for supporting Philips WebCam USB devices
+ KCONFIG:=$(CONFIG_USB_PWC)
+ AUTOLOAD:=$(call AutoLoad,70,pwc)
+endef
+
+define KernelPackage/usb-pwc/2.4
+ FILES:=$(MODULES_DIR)/kernel/drivers/usb/pwc.$(LINUX_KMOD_SUFFIX)
+endef
+
+define KernelPackage/usb-pwc/2.6
+ FILES:=$(MODULES_DIR)/kernel/drivers/usb/media/pwc.$(LINUX_KMOD_SUFFIX)
+endef
+$(eval $(call KernelPackage,usb-pwc))
+
+
+
+
diff --git a/package/kernel/modules/wireless.mk b/package/kernel/modules/wireless.mk
index 73ee125fc1..413e353f54 100644
--- a/package/kernel/modules/wireless.mk
+++ b/package/kernel/modules/wireless.mk
@@ -8,47 +8,134 @@
WIMENU:=Wireless Drivers
-define KernelPackage/bcm43xx
+define KernelPackage/ieee80211
+ TITLE:=802.11 Networking stack
+ DESCRIPTION:=\\\
+ \\\
+ Includes: \\\
+ - ieee80211_crypt \\\
+ - ieee80211 \\\
+ - ieee80211_crypt_wep \\\
+ - ieee80211_crypt_tkip \\\
+ - ieee80211_crytp_ccmp \\\
+ - ieee80211softmac
+ DEPENDS:=@LINUX_2_6
+ KCONFIG:=$(CONFIG_IEEE80211_SOFTMAC)
+ FILES:= \
+ $(MODULES_DIR)/kernel/net/ieee80211/*.$(LINUX_KMOD_SUFFIX) \
+ $(MODULES_DIR)/kernel/net/ieee80211/softmac/*.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,10, \
+ ieee80211_crypt \
+ ieee80211 \
+ ieee80211_crypt_wep \
+ ieee80211_crypt_tkip \
+ ieee80211_crypt_ccmp \
+ ieee80211softmac \
+ )
+ SUBMENU:=$(WIMENU)
+endef
+$(eval $(call KernelPackage,ieee80211))
+
+
+define KernelPackage/net-bcm43xx
TITLE:=Broadcom BCM43xx driver
DESCRIPTION:=\\\
\\\
Includes: \\\
- bcm43xx
- DEPENDS:=kmod-ieee80211softmac
+ DEPENDS:=kmod-ieee80211
KCONFIG:=$(CONFIG_BCM43XX)
FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/bcm43xx/bcm43xx.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call Autoload,50,bcm43xx)
SUBMENU:=$(WIMENU)
endef
-$(eval $(call KernelPackage,bcm43xx))
+$(eval $(call KernelPackage,net-bcm43xx))
-define KernelPackage/ipw2100
- TITLE:=Intel IPw2100 driver
+define KernelPackage/net-ipw2100
+ TITLE:=Intel IPW2100 driver
DESCRIPTION:=\\\
\\\
Includes: \\\
- ipw2100
- DEPENDS:=kmod-ieee80211softmac
+ DEPENDS:=kmod-ieee80211
KCONFIG:=$(CONFIG_IPW2100)
FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/ipw2100.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call Autoload,50,ipw2100)
SUBMENU:=$(WIMENU)
endef
-$(eval $(call KernelPackage,ipw2100))
+$(eval $(call KernelPackage,net-ipw2100))
-define KernelPackage/ipw2200
- TITLE:=Intel IPw2200 driver
+define KernelPackage/net-ipw2200
+ TITLE:=Intel IPW2200 driver
DESCRIPTION:=\\\
\\\
Includes: \\\
- ipw2200
- DEPENDS:=kmod-ieee80211softmac
+ DEPENDS:=kmod-ieee80211
KCONFIG:=$(CONFIG_IPW2200)
FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/ipw2200.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call Autoload,50,ipw2200)
SUBMENU:=$(WIMENU)
endef
-$(eval $(call KernelPackage,ipw2200))
+$(eval $(call KernelPackage,net-ipw2200))
+
+
+define KernelPackage/net-airo
+ TITLE:=Cisco Aironet driver
+ DESCRIPTION:=Driver for Cisco Aironet cards
+ KCONFIG:=$(CONFIG_AIRO)
+ SUBMENU:=$(WIMENU)
+ FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/airo.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,50,airo)
+endef
+$(eval $(call KernelPackage,net-airo))
+
+
+define KernelPackage/net-hermes
+ TITLE:=Hermes 802.11b chipset support
+ DESCRIPTION:=Kernel support for Hermes 802.11b chipsets
+ KCONFIG:=$(CONFIG_HERMES)
+ SUBMENU:=$(WIMENU)
+ FILES:= \
+ $(MODULES_DIR)/kernel/drivers/net/wireless/hermes.$(LINUX_KMOD_SUFFIX) \
+ $(MODULES_DIR)/kernel/drivers/net/wireless/orinoco.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,50,hermes orinoco)
+endef
+$(eval $(call KernelPackage,net-hermes))
+
+
+define KernelPackage/net-hermes-pci
+ TITLE:=Intersil Prism 2.5 PCI support
+ DESCRIPTION:=Kernel modules for Intersil Prism 2.5 PCI support
+ KCONFIG:=$(CONFIG_PCI_HERMES)
+ DEPENDS:=kmod-net-hermes
+ SUBMENU:=$(WIMENU)
+ FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/orinoco_pci.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,55,orinoco_pci)
+endef
+$(eval $(call KernelPackage,net-hermes-pci))
+
+define KernelPackage/net-hermes-plx
+ TITLE:=PLX9052 based PCI adaptor
+ DESCRIPTION:=Kernel modules for Hermes in PLX9052 based PCI adaptors
+ KCONFIG:=$(CONFIG_PLX_HERMES)
+ DEPENDS:=kmod-net-hermes
+ SUBMENU:=$(WIMENU)
+ FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/orinoco_plx.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,55,orinoco_plx)
+endef
+$(eval $(call KernelPackage,net-hermes-plx))
+
+
+define KernelPackage/net-prism54
+ TITLE:=Intersil Prism54 support
+ DESCRIPTION:=Kernel modules for Intersil Prism54 support
+ KCONFIG:=$(CONFIG_PRISM54)
+ SUBMENU:=$(WIMENU)
+ FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/prism54/prism54.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,prism54)
+endef
+$(eval $(call KernelPackage,net-prism54))
diff --git a/target/linux/Config.in b/target/linux/Config.in
deleted file mode 100644
index a6153cebf5..0000000000
--- a/target/linux/Config.in
+++ /dev/null
@@ -1,177 +0,0 @@
-menu "Kernel Configuration / Device Support"
-
-comment "Kernel modules"
-
-menu "Multimedia devices support"
-
-config PACKAGE_KMOD_PWC
- prompt "kmod-pwc.......................... Kernel driver for USB Philips Cameras"
- tristate
- depends PACKAGE_kmod-usb-core
- default m
-
-config PACKAGE_KMOD_VIDEODEV
- prompt "kmod-videodev..................... Video (For Linux) kernel support"
- tristate
- default m
-
-endmenu
-
-
-menu "Network devices support"
- depends LINUX_2_4_X86 || LINUX_2_6_X86
-
-config PACKAGE_KMOD_NET_AIRO
- prompt "kmod-net-airo..................... Cisco/Aironet 34X/35X/4500/4800 ISA and PCI cards kernel support"
- tristate
- depends LINUX_2_4_X86 || LINUX_2_6_X86
- default m
- help
- This is the standard Linux driver to support Cisco/Aironet ISA and
- PCI 802.11 wireless cards.
- It supports the new 802.11b cards from Cisco (Cisco 34X, Cisco 35X
- - with or without encryption) as well as card before the Cisco
- acquisition (Aironet 4500, Aironet 4800, Aironet 4800B).
-
- This driver support both the standard Linux Wireless Extensions
- and Cisco proprietary API, so both the Linux Wireless Tools and the
- Cisco Linux utilities can be used to configure the card.
-
-
-config PACKAGE_KMOD_NET_HERMES
- prompt "kmod-net-hermes................... Hermes chipset 802.11b support (Orinoco/Prism2/Symbol) kernel support"
- tristate
- depends LINUX_2_4_X86 || LINUX_2_6_X86
- default m
- help
- A driver for 802.11b wireless cards based based on the "Hermes" or
- Intersil HFA384x (Prism 2) MAC controller. This includes the vast
- majority of the PCMCIA 802.11b cards (which are nearly all rebadges)
- - except for the Cisco/Aironet cards. Cards supported include the
- Apple Airport (not a PCMCIA card), WavelanIEEE/Orinoco,
- Cabletron/EnteraSys Roamabout, ELSA AirLancer, MELCO Buffalo, Avaya,
- IBM High Rate Wireless, Farralon Syyline, Samsung MagicLAN, Netgear
- MA401, LinkSys WPC-11, D-Link DWL-650, 3Com AirConnect, Intel
- PRO/Wireless, and Symbol Spectrum24 High Rate amongst others.
-
-config PACKAGE_KMOD_NET_HERMES_PCI
- prompt "kmod-net-hermes-pci............. Intersil Prism 2.5 PCI 802.11b adaptor support"
- tristate
- default m
- depends PACKAGE_KMOD_NET_HERMES
- help
- Enable support for PCI and mini-PCI 802.11b wireless NICs based on
- the Prism 2.5 chipset. These are true PCI cards, not the 802.11b
- PCMCIA cards bundled with PCI<->PCMCIA adaptors which are also
- common. Some of the built-in wireless adaptors in laptops are of
- this variety.
-
-config PACKAGE_KMOD_NET_HERMES_PLX
- prompt "kmod-net-hermes-plx............. Hermes in PLX9052 based PCI adaptor (Netgear MA301, etc.) kernel support"
- tristate
- default m
- depends PACKAGE_KMOD_NET_HERMES
- help
- Enable support for PCMCIA cards supported by the "Hermes" (aka
- orinoco_cs) driver when used in PLX9052 based PCI adaptors. These
- adaptors are not a full PCMCIA controller but act as a more limited
- PCI <-> PCMCIA bridge. Several vendors sell such adaptors so that
- 802.11b PCMCIA cards can be used in desktop machines. The Netgear
- MA301 is such an adaptor.
-
-
-
-config PACKAGE_KMOD_NET_PRISM54
- prompt "kmod-net-prism54.................. Intersil Prism GT/Duette/Indigo PCI/PCMCIA cards kernel support"
- tristate
- depends LINUX_2_4_X86 || LINUX_2_6_X86 || LINUX_2_4_BRCM || LINUX_2_6_BRCM
- default m
- help
- Enable PCI and Cardbus support for the following chipset based cards:
-
- * ISL3880 - Prism GT 802.11 b/g
- * ISL3877 - Prism Indigo 802.11 a
- * ISL3890 - Prism Duette 802.11 a/b/g
-
- For a complete list of supported cards visit <http://prism54.org>.
- Here is the latest confirmed list of supported cards:
-
- * 3com OfficeConnect 11g Cardbus Card aka 3CRWE154G72
- * Allnet ALL0271 PCI Card
- * Compex WL54G Cardbus Card
- * Corega CG-WLCB54GT Cardbus Card
- * D-Link Air Plus Xtreme G A1 Cardbus Card aka DWL-g650
- * I-O Data WN-G54/CB Cardbus Card
- * Kobishi XG-300 aka Z-Com Cardbus Card
- * Netgear WG511 Cardbus Card
- * Ovislink WL-5400PCI PCI Card
- * Peabird WLG-PCI PCI Card
- * Sitecom WL-100i Cardbus Card
- * Sitecom WL-110i PCI Card
- * SMC2802W - EZ Connect g 2.4GHz 54 Mbps Wireless PCI Card
- * SMC2835W - EZ Connect g 2.4GHz 54 Mbps Wireless Cardbus Card
- * Z-Com XG-900 PCI Card
- * Zyxel G-100 Cardbus Card
-
- If you enable this, you require a firmware file as well.
- You will need to copy this to /usr/lib/hotplug/firmware/isl3890.
- You can get this non-GPL'd firmware file from the Prism54 project page:
- <http://prism54.org>.
-
- Note: You need a motherboard with DMA support to use any of these cards.
-
-endmenu
-
-menu "PCMCIA/CardBus support"
- depends PCMCIA_SUPPORT
-
-config PACKAGE_KMOD_PCMCIA_CORE
- prompt "kmod-pcmcia-core.................. PCMCIA/CardBus support"
- tristate
- default m
-
-config PACKAGE_KMOD_PCMCIA_SERIAL
- prompt "kmod-pcmcia-serial.............. PCMCIA/CardBus serial device support"
- tristate
- default m
- depends PACKAGE_KMOD_PCMCIA_CORE
-
-endmenu
-
-
-menu "Misc. devices support"
-
-config PACKAGE_KMOD_AX25
- prompt "kmod-ax25......................... AX25 support"
- tristate
- default m
- help
- Kernel modules for AX25 protocol family
-
- This package contains both the AX25 layer 2 support (ax25) and AX25 KISS driver (mkiss)
-
-config PACKAGE_KMOD_BLUETOOTH
- prompt "kmod-bluetooth.................... Bluetooth drivers and network stack"
- tristate
- depends PCI_SUPPORT || USB_SUPPORT
- default m
- help
- Bluetooth drivers and network stack
-
-config PACKAGE_KMOD_LP
- prompt "kmod-lp........................... Parallel port and lp support"
- tristate
- default m
- help
- Kernel modules for line printer and parallel port support
-
-config PACKAGE_KMOD_SOFTDOG
- prompt "kmod-softdog...................... Software watchdog"
- tristate
- default m
- help
- Kernel modules for software watchdog driver
-
-endmenu
-
-endmenu