kernel: load after its dependencies
[openwrt.git] / package / kernel / modules / wireless.mk
index 5be9556..9f498ee 100644 (file)
-# 
-# Copyright (C) 2006 OpenWrt.org
+#
+# Copyright (C) 2006-2008 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
-# $Id$
 
 
-WIMENU:=Wireless Drivers
+WIRELESS_MENU:=Wireless Drivers
 
 
-define KernelPackage/ieee80211
+define KernelPackage/lib80211
+  SUBMENU:=$(WIRELESS_MENU)
   TITLE:=802.11 Networking stack
   TITLE:=802.11 Networking stack
-  DESCRIPTION:=\\\
-       \\\
-       Includes: \\\
-       - ieee80211_crypt \\\
-       - ieee80211 \\\
-       - ieee80211_crypt_wep \\\
-       - ieee80211_crypt_tkip \\\
-       - ieee80211_crytp_ccmp \\\
-  DEPENDS:=@LINUX_2_6 +kmod-crypto
-  KCONFIG:=$(CONFIG_IEEE80211)
+  DEPENDS:=@!LINUX_2_4
+  KCONFIG:= \
+       CONFIG_LIB80211 \
+       CONFIG_LIB80211_CRYPT_WEP \
+       CONFIG_LIB80211_CRYPT_TKIP \
+       CONFIG_LIB80211_CRYPT_CCMP
   FILES:= \
   FILES:= \
-       $(MODULES_DIR)/kernel/net/ieee80211/*.$(LINUX_KMOD_SUFFIX)
+       $(LINUX_DIR)/net/wireless/lib80211.$(LINUX_KMOD_SUFFIX) \
+       $(LINUX_DIR)/net/wireless/lib80211_crypt_wep.$(LINUX_KMOD_SUFFIX) \
+       $(LINUX_DIR)/net/wireless/lib80211_crypt_ccmp.$(LINUX_KMOD_SUFFIX) \
+       $(LINUX_DIR)/net/wireless/lib80211_crypt_tkip.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,10, \
   AUTOLOAD:=$(call AutoLoad,10, \
-       ieee80211_crypt \
-       ieee80211 \
-       ieee80211_crypt_wep \
-       ieee80211_crypt_tkip \
-       ieee80211_crypt_ccmp \
+       lib80211 \
+       lib80211_crypt_wep \
+       lib80211_crypt_ccmp \
+       lib80211_crypt_tkip \
   )
   )
-  SUBMENU:=$(WIMENU)
 endef
 endef
-$(eval $(call KernelPackage,ieee80211))
-
 
 
-define KernelPackage/ieee80211-softmac
-  TITLE:=ieee80211 SoftMAC support
-  DEPENDS:=kmod-ieee80211
-  KCONFIG:=$(CONFIG_IEEE80211_SOFTMAC)
-  FILES:= \
-       $(MODULES_DIR)/kernel/net/ieee80211/softmac/*.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,20,ieee80211softmac)
-  SUBMENU:=$(WIMENU)
-endef
-$(eval $(call KernelPackage,ieee80211-softmac))
-
-
-define KernelPackage/net-bcm43xx
-  TITLE:=Broadcom BCM43xx driver
-  DESCRIPTION:=\\\
-       \\\
-       Includes: \\\
-       - bcm43xx
-  DEPENDS:=kmod-ieee80211-softmac
-  KCONFIG:=$(CONFIG_BCM43XX)
-  FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/bcm43xx/bcm43xx.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,50,bcm43xx)
-  SUBMENU:=$(WIMENU)
+define KernelPackage/lib80211/description
+ Kernel modules for 802.11 Networking stack
+ Includes:
+ - lib80211
+ - lib80211_crypt_wep
+ - lib80211_crypt_tkip
+ - lib80211_crytp_ccmp
 endef
 endef
-$(eval $(call KernelPackage,net-bcm43xx))
-
-define KernelPackage/net-ipw2100
-  TITLE:=Intel IPW2100 driver
-  DESCRIPTION:=\\\
-       \\\
-       Includes: \\\
-       - ipw2100
-  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,net-ipw2100))
-
-define KernelPackage/net-ipw2200
-  TITLE:=Intel IPW2200 driver
-  DESCRIPTION:=\\\
-       \\\
-       Includes: \\\
-       - ipw2200
-  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,net-ipw2200))
 
 
+$(eval $(call KernelPackage,lib80211))
 
 define KernelPackage/net-airo
 
 define KernelPackage/net-airo
+  SUBMENU:=$(WIRELESS_MENU)
   TITLE:=Cisco Aironet driver
   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)
+  DEPENDS:=@PCI_SUPPORT
+  KCONFIG:=CONFIG_AIRO
+  FILES:=$(LINUX_DIR)/drivers/net/wireless/airo.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,50,airo)
 endef
   AUTOLOAD:=$(call AutoLoad,50,airo)
 endef
+
+define KernelPackage/net-airo/description
+ Kernel support for Cisco Aironet cards
+endef
+
 $(eval $(call KernelPackage,net-airo))
 
 
 define KernelPackage/net-hermes
 $(eval $(call KernelPackage,net-airo))
 
 
 define KernelPackage/net-hermes
+  SUBMENU:=$(WIRELESS_MENU)
   TITLE:=Hermes 802.11b chipset support
   TITLE:=Hermes 802.11b chipset support
-  DESCRIPTION:=Kernel support for Hermes 802.11b chipsets
-  KCONFIG:=$(CONFIG_HERMES)
-  SUBMENU:=$(WIMENU)
+  DEPENDS:=@LINUX_2_6 @PCI_SUPPORT||PCMCIA_SUPPORT
+  KCONFIG:=CONFIG_HERMES \
+       CONFIG_HERMES_CACHE_FW_ON_INIT=n
   FILES:= \
   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)
+       $(LINUX_DIR)/drivers/net/wireless/orinoco/orinoco.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,50,orinoco)
+endef
+
+define KernelPackage/net-hermes/description
+ Kernel support for Hermes 802.11b chipsets
 endef
 endef
+
 $(eval $(call KernelPackage,net-hermes))
 
 
 define KernelPackage/net-hermes-pci
 $(eval $(call KernelPackage,net-hermes))
 
 
 define KernelPackage/net-hermes-pci
+  SUBMENU:=$(WIRELESS_MENU)
   TITLE:=Intersil Prism 2.5 PCI support
   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)
+  DEPENDS:=@PCI_SUPPORT +kmod-net-hermes
+  KCONFIG:=CONFIG_PCI_HERMES
+  FILES:=$(LINUX_DIR)/drivers/net/wireless/orinoco/orinoco_pci.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,55,orinoco_pci)
 endef
   AUTOLOAD:=$(call AutoLoad,55,orinoco_pci)
 endef
+
+define KernelPackage/net-hermes-pci/description
+ Kernel modules for Intersil Prism 2.5 PCI support
+endef
+
 $(eval $(call KernelPackage,net-hermes-pci))
 
 
 define KernelPackage/net-hermes-plx
 $(eval $(call KernelPackage,net-hermes-pci))
 
 
 define KernelPackage/net-hermes-plx
+  SUBMENU:=$(WIRELESS_MENU)
   TITLE:=PLX9052 based PCI adaptor
   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)
+  DEPENDS:=@PCI_SUPPORT +kmod-net-hermes
+  KCONFIG:=CONFIG_PLX_HERMES
+  FILES:=$(LINUX_DIR)/drivers/net/wireless/orinoco/orinoco_plx.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,55,orinoco_plx)
 endef
   AUTOLOAD:=$(call AutoLoad,55,orinoco_plx)
 endef
+
+define KernelPackage/net-hermes-plx/description
+ Kernel modules for Hermes in PLX9052 based PCI adaptors
+endef
+
 $(eval $(call KernelPackage,net-hermes-plx))
 
 
 define KernelPackage/net-prism54
 $(eval $(call KernelPackage,net-hermes-plx))
 
 
 define KernelPackage/net-prism54
+  SUBMENU:=$(WIRELESS_MENU)
   TITLE:=Intersil Prism54 support
   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)
+  DEPENDS:=@PCI_SUPPORT
+  KCONFIG:=CONFIG_PRISM54
+  FILES:=$(LINUX_DIR)/drivers/net/wireless/prism54/prism54.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,60,prism54)
 endef
   AUTOLOAD:=$(call AutoLoad,60,prism54)
 endef
-$(eval $(call KernelPackage,net-prism54))
 
 
+define KernelPackage/net-prism54/description
+ Kernel modules for Intersil Prism54 support
+endef
 
 
-define KernelPackage/net-zd1211rw
-  TITLE:=Zydas ZD1211 support
-  DESCRIPTION:=Kernel modules Zydas ZD1211 support, kernel version
-  KCONFIG:=$(CONFIG_ZD1211RW)
-  DEPENDS:=kmod-ieee80211
-  SUBMENU:=$(WIMENU)
-  FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/zd1211rw/zdd1211rw.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,60,zd1211rw)
+# Prism54 FullMAC firmware (jbnore.free.fr seems to be rather slow, so we use daemonizer.de)
+PRISM54_FW:=1.0.4.3.arm
+
+define Download/net-prism54
+  FILE:=$(PRISM54_FW)
+  URL:=http://daemonizer.de/prism54/prism54-fw/fw-fullmac/
+  MD5SUM:=8bd4310971772a486b9784c77f8a6df9
+endef
+
+define KernelPackage/net-prism54/install
+       $(INSTALL_DIR) $(1)/lib/firmware
+       $(INSTALL_DATA) $(DL_DIR)/$(PRISM54_FW) $(1)/lib/firmware/isl3890
 endef
 endef
+
+$(eval $(call Download,net-prism54))
+$(eval $(call KernelPackage,net-prism54))
+
This page took 0.026933 seconds and 4 git commands to generate.