[package] kmod-ipt-nathelper-extra: Fix kmod-textsearch dependency (#5665)
[openwrt.git] / package / kernel / modules / wireless.mk
index 625e152..b47a70a 100644 (file)
@@ -4,7 +4,6 @@
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
-# $Id$
 
 WIRELESS_MENU:=Wireless Drivers
 
@@ -13,7 +12,7 @@ WIRELESS_MENU:=Wireless Drivers
 define KernelPackage/ieee80211
   SUBMENU:=$(WIRELESS_MENU)
   TITLE:=802.11 Networking stack
-  DEPENDS:=+kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic
+  DEPENDS:=+kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic @LINUX_2_4||@LINUX_2_6_21||LINUX_2_6_23||LINUX_2_6_24||LINUX_2_6_25||LINUX_2_6_26||LINUX_2_6_27||LINUX_2_6_28
   KCONFIG:= \
        CONFIG_IEEE80211 \
        CONFIG_IEEE80211_CRYPT_WEP \
@@ -47,46 +46,66 @@ endef
 $(eval $(call KernelPackage,ieee80211))
 
 
-define KernelPackage/ieee80211-softmac
+define KernelPackage/lib80211
   SUBMENU:=$(WIRELESS_MENU)
-  TITLE:=ieee80211 SoftMAC support
-  DEPENDS:=+kmod-ieee80211
-  KCONFIG:=CONFIG_IEEE80211_SOFTMAC
-  FILES:=$(LINUX_DIR)/net/ieee80211/softmac/ieee80211softmac.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,20,ieee80211softmac)
+  TITLE:=802.11 Networking stack
+  DEPENDS:=@LINUX_2_6_30
+  KCONFIG:= \
+       CONFIG_LIB80211 \
+       CONFIG_LIB80211_CRYPT_WEP \
+       CONFIG_LIB80211_CRYPT_TKIP \
+       CONFIG_LIB80211_CRYPT_CCMP
+  FILES:= \
+       $(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, \
+       lib80211 \
+       lib80211_crypt_wep \
+       lib80211_crypt_ccmp \
+       lib80211_crypt_tkip \
+  )
 endef
 
-define KernelPackage/ieee80211-softmac/description
- Kernel modules for 802.11 SoftMAC support
+define KernelPackage/lib80211/description
+ Kernel modules for 802.11 Networking stack
+ Includes:
+ - lib80211
+ - lib80211_crypt_wep
+ - lib80211_crypt_tkip
+ - lib80211_crytp_ccmp
 endef
 
-$(eval $(call KernelPackage,ieee80211-softmac))
+$(eval $(call KernelPackage,lib80211))
 
 
-define KernelPackage/net-bcm43xx
+ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.29)),1)
+  IPW_DIR:=ipw2x00/
+endif
+
+define KernelPackage/net-libipw
   SUBMENU:=$(WIRELESS_MENU)
-  TITLE:=Broadcom BCM43xx driver
-  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)
+  TITLE:=libipw for ipw2100 and ipw2200
+  DEPENDS:=@PCI_SUPPORT +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 @LINUX_2_6_30
+  KCONFIG:=CONFIG_LIBIPW
+  FILES:=$(LINUX_DIR)/drivers/net/wireless/$(IPW_DIR)libipw.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,49,libipw)
 endef
 
-define KernelPackage/net-bcm43xx/description
- Kernel support for Broadcom BCM43xx
- Includes:
- - bcm43xx
+define KernelPackage/net-libipw/description
+ Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
 endef
 
-$(eval $(call KernelPackage,net-bcm43xx))
+$(eval $(call KernelPackage,net-libipw))
 
 
 define KernelPackage/net-ipw2100
   SUBMENU:=$(WIRELESS_MENU)
   TITLE:=Intel IPW2100 driver
-  DEPENDS:=@PCI_SUPPORT +kmod-ieee80211
+  DEPENDS:=@PCI_SUPPORT +!LINUX_2_6_30:kmod-ieee80211 +LINUX_2_6_30:kmod-net-libipw
   KCONFIG:=CONFIG_IPW2100
-  FILES:=$(LINUX_DIR)/drivers/net/wireless/ipw2100.$(LINUX_KMOD_SUFFIX)
+  FILES:=$(LINUX_DIR)/drivers/net/wireless/$(IPW_DIR)ipw2100.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,50,ipw2100)
 endef
 
@@ -102,9 +121,9 @@ $(eval $(call KernelPackage,net-ipw2100))
 define KernelPackage/net-ipw2200
   SUBMENU:=$(WIRELESS_MENU)
   TITLE:=Intel IPW2200 driver
-  DEPENDS:=@PCI_SUPPORT +kmod-ieee80211
+  DEPENDS:=@PCI_SUPPORT +!LINUX_2_6_30:kmod-ieee80211 +LINUX_2_6_30:kmod-net-libipw
   KCONFIG:=CONFIG_IPW2200
-  FILES:=$(LINUX_DIR)/drivers/net/wireless/ipw2200.$(LINUX_KMOD_SUFFIX)
+  FILES:=$(LINUX_DIR)/drivers/net/wireless/$(IPW_DIR)ipw2200.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,50,ipw2200)
 endef
 
@@ -133,15 +152,34 @@ endef
 $(eval $(call KernelPackage,net-airo))
 
 
+ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.29)),1)
+  ORINOCO_DIR:=orinoco/
+endif
+
 define KernelPackage/net-hermes
   SUBMENU:=$(WIRELESS_MENU)
   TITLE:=Hermes 802.11b chipset support
   DEPENDS:=@LINUX_2_6 @PCI_SUPPORT||PCMCIA_SUPPORT
-  KCONFIG:=CONFIG_HERMES
+  KCONFIG:=CONFIG_HERMES \
+       CONFIG_HERMES_CACHE_FW_ON_INIT=n
+ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.30)),1)
+  FILES:= \
+       $(LINUX_DIR)/drivers/net/wireless/$(ORINOCO_DIR)orinoco.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,50,orinoco)
+else
+ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.28)),1)
+  FILES:= \
+       $(LINUX_DIR)/drivers/net/wireless/$(ORINOCO_DIR)hermes.$(LINUX_KMOD_SUFFIX) \
+       $(LINUX_DIR)/drivers/net/wireless/$(ORINOCO_DIR)orinoco.$(LINUX_KMOD_SUFFIX) \
+    $(LINUX_DIR)/drivers/net/wireless/$(ORINOCO_DIR)hermes_dld.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,50,hermes hermes_dld orinoco)
+else
   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)
+endif
+endif
 endef
 
 define KernelPackage/net-hermes/description
@@ -154,7 +192,7 @@ $(eval $(call KernelPackage,net-hermes))
 define KernelPackage/net-hermes-pci
   SUBMENU:=$(WIRELESS_MENU)
   TITLE:=Intersil Prism 2.5 PCI support
-  DEPENDS:=@PCI_SUPPORT 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)
@@ -170,7 +208,7 @@ $(eval $(call KernelPackage,net-hermes-pci))
 define KernelPackage/net-hermes-plx
   SUBMENU:=$(WIRELESS_MENU)
   TITLE:=PLX9052 based PCI adaptor
-  DEPENDS:=@PCI_SUPPORT 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)
@@ -196,20 +234,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:=$(WIRELESS_MENU)
-  TITLE:=Zydas ZD1211 support
-  DEPENDS:=@LINUX_2_6 @USB_SUPPORT +kmod-ieee80211-softmac +zd1211-firmware
-  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))
+
This page took 0.032176 seconds and 4 git commands to generate.