From c041f53b8d82a8521eec659b4618e6d268f44218 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 19 Oct 2006 04:35:29 +0000 Subject: [PATCH] finally kill KMOD_template - removes a big chunk of legacy build code SVN-Revision: 5222 --- Config.in | 1 - include/kernel-build.mk | 32 +----- include/kernel.mk | 47 -------- include/modules-2.4.mk | 60 ---------- include/modules-2.6.mk | 67 ----------- package/kernel/Makefile | 22 ++++ package/kernel/modules/network.mk | 36 ++---- package/kernel/modules/other.mk | 100 ++++++++++++++++ package/kernel/modules/usb.mk | 23 +++- package/kernel/modules/wireless.mk | 109 ++++++++++++++++-- target/linux/Config.in | 177 ----------------------------- 11 files changed, 255 insertions(+), 419 deletions(-) delete mode 100644 target/linux/Config.in diff --git a/Config.in b/Config.in index f53d71de00e0..cfd0b5ffea53 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 251e985e8bb2..0697b79a53e9 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 7a36cee1a5c0..af5d9455fa31 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 8a23634813d9..bd44b5f38ad3 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 60ade6f232a4..087d425fc8cc 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 37cb13e167c3..a030ad7236d1 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 16a8d69b39f4..4c82c4cc04a7 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 97cfddb9e658..cf66deea486a 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 0f196b6ce2ef..b172252c75a9 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 73ee125fc1cf..413e353f5435 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 a6153cebf505..000000000000 --- 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 . - 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: - . - - 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 -- 2.30.2