get rid of $Id$ - it has never helped us and it has broken too many patches ;)
[openwrt.git] / package / kernel / modules / wireless.mk
index e63039a..9f55003 100644 (file)
@@ -1,17 +1,18 @@
-# 
-# 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.
 #
-# $Id$
 
-WIMENU:=Wireless Drivers
+WIRELESS_MENU:=Wireless Drivers
 
+# NOTE: dependency on 2.6 was removed since it was inherited by kmod-hostap
+#       and prevented it from even showing up in menuconfig on 2.4
 define KernelPackage/ieee80211
-  SUBMENU:=$(WIMENU)
+  SUBMENU:=$(WIRELESS_MENU)
   TITLE:=802.11 Networking stack
-  DEPENDS:=@LINUX_2_6 +kmod-crypto
+  DEPENDS:=+kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic
   KCONFIG:= \
        CONFIG_IEEE80211 \
        CONFIG_IEEE80211_CRYPT_WEP \
@@ -34,11 +35,11 @@ endef
 
 define KernelPackage/ieee80211/description
  Kernel modules for 802.11 Networking stack
- Includes:  
- - ieee80211_crypt  
- - ieee80211  
- - ieee80211_crypt_wep  
- - ieee80211_crypt_tkip  
+ Includes:
+ - ieee80211_crypt
+ - ieee80211
+ - ieee80211_crypt_wep
+ - ieee80211_crypt_tkip
  - ieee80211_crytp_ccmp
 endef
 
@@ -46,9 +47,9 @@ $(eval $(call KernelPackage,ieee80211))
 
 
 define KernelPackage/ieee80211-softmac
-  SUBMENU:=$(WIMENU)
+  SUBMENU:=$(WIRELESS_MENU)
   TITLE:=ieee80211 SoftMAC support
-  DEPENDS:=kmod-ieee80211
+  DEPENDS:=+kmod-ieee80211 @LINUX_2_6_21||@LINUX_2_6_23||@LINUX_2_6_24||@LINUX_2_6_25
   KCONFIG:=CONFIG_IEEE80211_SOFTMAC
   FILES:=$(LINUX_DIR)/net/ieee80211/softmac/ieee80211softmac.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,20,ieee80211softmac)
@@ -62,9 +63,9 @@ $(eval $(call KernelPackage,ieee80211-softmac))
 
 
 define KernelPackage/net-bcm43xx
-  SUBMENU:=$(WIMENU)
+  SUBMENU:=$(WIRELESS_MENU)
   TITLE:=Broadcom BCM43xx driver
-  DEPENDS:=kmod-ieee80211-softmac
+  DEPENDS:=@TARGET_brcm47xx||TARGET_brcm63xx +kmod-ieee80211-softmac
   KCONFIG:=CONFIG_BCM43XX
   FILES:=$(LINUX_DIR)/drivers/net/wireless/bcm43xx/bcm43xx.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,50,bcm43xx)
@@ -72,7 +73,7 @@ endef
 
 define KernelPackage/net-bcm43xx/description
  Kernel support for Broadcom BCM43xx
- Includes:  
+ Includes:
  - bcm43xx
 endef
 
@@ -80,9 +81,9 @@ $(eval $(call KernelPackage,net-bcm43xx))
 
 
 define KernelPackage/net-ipw2100
-  SUBMENU:=$(WIMENU)
+  SUBMENU:=$(WIRELESS_MENU)
   TITLE:=Intel IPW2100 driver
-  DEPENDS:=kmod-ieee80211
+  DEPENDS:=@PCI_SUPPORT +kmod-ieee80211
   KCONFIG:=CONFIG_IPW2100
   FILES:=$(LINUX_DIR)/drivers/net/wireless/ipw2100.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,50,ipw2100)
@@ -90,7 +91,7 @@ endef
 
 define KernelPackage/net-ipw2100/description
  Kernel support for Intel IPW2100
- Includes:  
+ Includes:
  - ipw2100
 endef
 
@@ -98,9 +99,9 @@ $(eval $(call KernelPackage,net-ipw2100))
 
 
 define KernelPackage/net-ipw2200
-  SUBMENU:=$(WIMENU)
+  SUBMENU:=$(WIRELESS_MENU)
   TITLE:=Intel IPW2200 driver
-  DEPENDS:=kmod-ieee80211
+  DEPENDS:=@PCI_SUPPORT +kmod-ieee80211
   KCONFIG:=CONFIG_IPW2200
   FILES:=$(LINUX_DIR)/drivers/net/wireless/ipw2200.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,50,ipw2200)
@@ -108,7 +109,7 @@ endef
 
 define KernelPackage/net-ipw2200/description
  Kernel support for Intel IPW2200
- Includes:  
+ Includes:
  - ipw2200
 endef
 
@@ -116,8 +117,9 @@ $(eval $(call KernelPackage,net-ipw2200))
 
 
 define KernelPackage/net-airo
-  SUBMENU:=$(WIMENU)
+  SUBMENU:=$(WIRELESS_MENU)
   TITLE:=Cisco Aironet driver
+  DEPENDS:=@PCI_SUPPORT
   KCONFIG:=CONFIG_AIRO
   FILES:=$(LINUX_DIR)/drivers/net/wireless/airo.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,50,airo)
@@ -131,14 +133,15 @@ $(eval $(call KernelPackage,net-airo))
 
 
 define KernelPackage/net-hermes
-  SUBMENU:=$(WIMENU)
+  SUBMENU:=$(WIRELESS_MENU)
   TITLE:=Hermes 802.11b chipset support
-  DEPENDS:=@LINUX_2_6
+  DEPENDS:=@LINUX_2_6 @PCI_SUPPORT||PCMCIA_SUPPORT
   KCONFIG:=CONFIG_HERMES
   FILES:= \
        $(LINUX_DIR)/drivers/net/wireless/hermes.$(LINUX_KMOD_SUFFIX) \
-       $(LINUX_DIR)/drivers/net/wireless/orinoco.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,50,hermes orinoco)
+       $(LINUX_DIR)/drivers/net/wireless/orinoco.$(LINUX_KMOD_SUFFIX) \
+    $(if $(CONFIG_LINUX_2_6_28),$(LINUX_DIR)/drivers/net/wireless/hermes_dld.$(LINUX_KMOD_SUFFIX))
+  AUTOLOAD:=$(if $(CONFIG_LINUX_2_6_28),$(call AutoLoad,50,hermes hermes_dld orinoco),$(call AutoLoad,50,hermes orinoco))
 endef
 
 define KernelPackage/net-hermes/description
@@ -149,9 +152,9 @@ $(eval $(call KernelPackage,net-hermes))
 
 
 define KernelPackage/net-hermes-pci
-  SUBMENU:=$(WIMENU)
+  SUBMENU:=$(WIRELESS_MENU)
   TITLE:=Intersil Prism 2.5 PCI support
-  DEPENDS:=kmod-net-hermes
+  DEPENDS:=@PCI_SUPPORT kmod-net-hermes
   KCONFIG:=CONFIG_PCI_HERMES
   FILES:=$(LINUX_DIR)/drivers/net/wireless/orinoco_pci.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,55,orinoco_pci)
@@ -165,9 +168,9 @@ $(eval $(call KernelPackage,net-hermes-pci))
 
 
 define KernelPackage/net-hermes-plx
-  SUBMENU:=$(WIMENU)
+  SUBMENU:=$(WIRELESS_MENU)
   TITLE:=PLX9052 based PCI adaptor
-  DEPENDS:=kmod-net-hermes
+  DEPENDS:=@PCI_SUPPORT kmod-net-hermes
   KCONFIG:=CONFIG_PLX_HERMES
   FILES:=$(LINUX_DIR)/drivers/net/wireless/orinoco_plx.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,55,orinoco_plx)
@@ -181,8 +184,9 @@ $(eval $(call KernelPackage,net-hermes-plx))
 
 
 define KernelPackage/net-prism54
-  SUBMENU:=$(WIMENU)
+  SUBMENU:=$(WIRELESS_MENU)
   TITLE:=Intersil Prism54 support
+  DEPENDS:=@PCI_SUPPORT
   KCONFIG:=CONFIG_PRISM54
   FILES:=$(LINUX_DIR)/drivers/net/wireless/prism54/prism54.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,60,prism54)
@@ -192,20 +196,20 @@ define KernelPackage/net-prism54/description
  Kernel modules for Intersil Prism54 support
 endef
 
-$(eval $(call KernelPackage,net-prism54))
-
+# Prism54 FullMAC firmware (jbnore.free.fr seems to be rather slow, so we use daemonizer.de)
+PRISM54_FW:=1.0.4.3.arm
 
-define KernelPackage/net-zd1211rw
-  SUBMENU:=$(WIMENU)
-  TITLE:=Zydas ZD1211 support
-  DEPENDS:=+kmod-ieee80211 +zd1211-firmware @LINUX_2_6
-  KCONFIG:=CONFIG_ZD1211RW
-  FILES:=$(LINUX_DIR)/drivers/net/wireless/zd1211rw/zd1211rw.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,60,zd1211rw)
+define Download/net-prism54
+  FILE:=$(PRISM54_FW)
+  URL:=http://daemonizer.de/prism54/prism54-fw/fw-fullmac/
+  MD5SUM:=8bd4310971772a486b9784c77f8a6df9
 endef
 
-define KernelPackage/net-zd1211rw/description
- Kernel modules for Zydas ZD1211 support, kernel version
+define KernelPackage/net-prism54/install
+       $(INSTALL_DIR) $(1)/lib/firmware
+       $(INSTALL_DATA) $(DL_DIR)/$(PRISM54_FW) $(1)/lib/firmware/isl3890
 endef
 
-$(eval $(call KernelPackage,net-zd1211rw))
+$(eval $(call Download,net-prism54))
+$(eval $(call KernelPackage,net-prism54))
+