finally kill KMOD_template - removes a big chunk of legacy build code
authorFelix Fietkau <nbd@openwrt.org>
Thu, 19 Oct 2006 04:35:29 +0000 (04:35 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Thu, 19 Oct 2006 04:35:29 +0000 (04:35 +0000)
SVN-Revision: 5222

Config.in
include/kernel-build.mk
include/kernel.mk
include/modules-2.4.mk
include/modules-2.6.mk
package/kernel/Makefile
package/kernel/modules/network.mk
package/kernel/modules/other.mk
package/kernel/modules/usb.mk
package/kernel/modules/wireless.mk
target/linux/Config.in [deleted file]

index f53d71d..cfd0b5f 100644 (file)
--- a/Config.in
+++ b/Config.in
@@ -102,6 +102,5 @@ source "target/image/*/Config.in"
 
 endmenu
 
-source "target/linux/Config.in"
 source ".config.in"
 
index 251e985..0697b79 100644 (file)
@@ -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)
 
index 7a36cee..af5d945 100644 (file)
@@ -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
-
index 8a23634..bd44b5f 100644 (file)
@@ -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))
index 60ade6f..087d425 100644 (file)
@@ -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))
-
 
index 37cb13e..a030ad7 100644 (file)
@@ -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
index 16a8d69..4c82c4c 100644 (file)
@@ -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))
+
 
 
 
index 97cfddb..cf66dee 100644 (file)
@@ -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))
+
+
+
index 0f196b6..b172252 100644 (file)
@@ -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))
+
+
+
+
index 73ee125..413e353 100644 (file)
 
 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 (file)
index a6153ce..0000000
+++ /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