mac80211: fix a few more minstrel_ht bugs (thx to Christian Lamparter)
[openwrt.git] / package / mac80211 / Makefile
index 5e99342..fffed37 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2007-2009 OpenWrt.org
+# Copyright (C) 2007-2010 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -10,18 +10,22 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=mac80211
 
-PKG_VERSION:=2009-11-03
-PKG_RELEASE:=1
-PKG_SOURCE_URL:= \
-       http://www.orbit-lab.org/kernel/compat-wireless-2.6/2009/11 \
-       http://wireless.kernel.org/download/compat-wireless-2.6
-PKG_MD5SUM:=f8434790c9552abb9c98926d7ae616fe
+PKG_VERSION:=2010-03-03
+PKG_RELEASE:=3
+PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
+#      http://www.orbit-lab.org/kernel/compat-wireless-2.6/2010/11 \
+#      http://wireless.kernel.org/download/compat-wireless-2.6
+PKG_MD5SUM:=af8da65ca4c25b1b69e3d2896d2bbb2f
 
 PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
 
 PKG_CONFIG_DEPENDS:= \
        CONFIG_PACKAGE_kmod-mac80211 \
+       CONFIG_PACKAGE_MAC80211_DEBUGFS \
+       CONFIG_PACKAGE_ATH9K_USE_MINSTREL \
+       CONFIG_PACKAGE_ATH_DEBUG \
+       CONFIG_ATH_USER_REGD \
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -30,17 +34,29 @@ WMENU:=Wireless Drivers
 define KernelPackage/mac80211/Default
   SUBMENU:=$(WMENU)
   URL:=http://linuxwireless.org/
-  DEPENDS:=@LINUX_2_6 @!TARGET_avr32
+  MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
+  DEPENDS:=@LINUX_2_6 @!TARGET_avr32 @(!(TARGET_ep93xx||TARGET_ps3||TARGET_pxcab)||BROKEN)
 endef
 
 define KernelPackage/mac80211
   $(call KernelPackage/mac80211/Default)
   TITLE:=Linux 802.11 Wireless Networking Stack
-  DEPENDS+= +kmod-crypto-arc4 +kmod-crypto-aes +wireless-tools +@PACKAGE_iw @!LINUX_2_6_21 @!LINUX_2_6_25
+  DEPENDS+= +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +wireless-tools +iw @!LINUX_2_6_25
+ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.33)),1) 
   FILES:= \
+       $(PKG_BUILD_DIR)/compat/compat.$(LINUX_KMOD_SUFFIX) \
        $(PKG_BUILD_DIR)/net/mac80211/mac80211.$(LINUX_KMOD_SUFFIX) \
        $(PKG_BUILD_DIR)/net/wireless/cfg80211.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,20,cfg80211 mac80211)
+  AUTOLOAD:=$(call AutoLoad,20,compat cfg80211 mac80211)
+else 
+  FILES:= \
+       $(PKG_BUILD_DIR)/compat/compat.$(LINUX_KMOD_SUFFIX) \
+       $(PKG_BUILD_DIR)/compat/compat_firmware_class.$(LINUX_KMOD_SUFFIX) \
+       $(PKG_BUILD_DIR)/net/mac80211/mac80211.$(LINUX_KMOD_SUFFIX) \
+       $(PKG_BUILD_DIR)/net/wireless/cfg80211.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,20,compat compat_firmware_class cfg80211 mac80211)
+endif
+
 endef
 
 define KernelPackage/mac80211/config
@@ -53,12 +69,12 @@ endef
 
 # Prism54 drivers
 P54PCIFW:=2.13.12.0.arm
-P54USBFW:=2.13.24.0.lm86.arm
+P54USBFW:=2.13.24.0.lm87.arm
 
 define Download/p54usb
   FILE:=$(P54USBFW)
   URL:=http://daemonizer.de/prism54/prism54-fw/fw-usb
-  MD5SUM:=2efd50eab43c0d0376765576a54b7a30
+  MD5SUM:=8e8ab005a4f8f0123bcdc51bc25b47f6
 endef
 $(eval $(call Download,p54usb))
 
@@ -152,10 +168,10 @@ endef
 
 define KernelPackage/rt2x00-lib
 $(call KernelPackage/rt2x00/Default)
-  DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT +kmod-mac80211 +kmod-crc-itu-t
+  DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT) +kmod-mac80211 +kmod-crc-itu-t
   TITLE+= (LIB)
   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00lib.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,25,blkcipher ecb arc4 rt2x00lib)
+  AUTOLOAD:=$(call AutoLoad,25,rt2x00lib)
 endef
 
 define KernelPackage/rt2x00-pci
@@ -174,6 +190,14 @@ $(call KernelPackage/rt2x00/Default)
   AUTOLOAD:=$(call AutoLoad,26,rt2x00usb)
 endef
 
+define KernelPackage/rt2800-lib
+$(call KernelPackage/rt2x00/Default)
+  DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT) +kmod-rt2x00-lib +USB_SUPPORT:kmod-rt2x00-usb
+  TITLE+= (rt2800 LIB)
+  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800lib.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,27,rt2800lib)
+endef
+
 define KernelPackage/rt2400-pci
 $(call KernelPackage/rt2x00/Default)
   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
@@ -216,18 +240,18 @@ endef
 
 define KernelPackage/rt2800-pci
 $(call KernelPackage/rt2x00/Default)
-  DEPENDS+= +kmod-rt2x00-pci +kmod-crc-ccitt
+  DEPENDS+= +kmod-rt2x00-pci +kmod-rt2800-lib +kmod-crc-ccitt
   TITLE+= (RT2860 PCI)
   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800pci.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,27,rt2800pci)
+  AUTOLOAD:=$(call AutoLoad,28,rt2800pci)
 endef
 
 define KernelPackage/rt2800-usb
 $(call KernelPackage/rt2x00/Default)
-  DEPENDS+= +kmod-rt2x00-usb +kmod-crc-ccitt
+  DEPENDS+= +kmod-rt2x00-usb +kmod-rt2800-lib +kmod-crc-ccitt
   TITLE+= (RT2870 USB)
   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800usb.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,27,rt2800usb)
+  AUTOLOAD:=$(call AutoLoad,28,rt2800usb)
 endef
 
 define KernelPackage/rtl818x/Default
@@ -278,10 +302,17 @@ config ATH_USER_REGD
        help
                Atheros' idea of regulatory handling is that the EEPROM of the card defines
                the regulatory limits and the user is only allowed to restrict the settings
-               even further, even if the country allows frequencies or power levels that 
+               even further, even if the country allows frequencies or power levels that
                are forbidden by the EEPROM settings.
                Select this option if you want the driver to respect the user's decision about
                regulatory settings.
+
+config PACKAGE_ATH_DEBUG
+       bool "Atheros wireless debugging"
+       depends on PACKAGE_kmod-ath
+       help
+               Say Y, if you want to debug atheros wireless drivers.
+               Right now only ath9k makes use of this.
 endef
 
 define KernelPackage/ath
@@ -316,9 +347,10 @@ define KernelPackage/ath9k
   URL:=http://linuxwireless.org/en/users/Drivers/ath9k
   DEPENDS+= +kmod-ath
   FILES:= \
+       $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.$(LINUX_KMOD_SUFFIX) \
        $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.$(LINUX_KMOD_SUFFIX) \
        $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,27,ath9k_hw ath9k)
+  AUTOLOAD:=$(call AutoLoad,27,ath9k_hw ath9k_common ath9k)
 endef
 
 define KernelPackage/ath9k/description
@@ -478,6 +510,10 @@ $(call KernelPackage/b43-common)
   AUTOLOAD:=$(call AutoLoad,30,b43legacy)
 endef
 
+define KernelPackage/b43legacy/config
+       source "$(SOURCE)/Config.in.b43legacy"
+endef
+
 define KernelPackage/b43legacy/description
 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
 endef
@@ -490,10 +526,11 @@ BUILDFLAGS:= \
        $(if $(CONFIG_PCI),-DCONFIG_SSB_SPROM) \
        $(if $(CONFIG_LEDS_TRIGGERS), -DCONFIG_MAC80211_LEDS -DCONFIG_LEDS_TRIGGERS -DCONFIG_B43_LEDS -DCONFIG_B43LEGACY_LEDS -DCONFIG_AR9170_LEDS) \
        -DCONFIG_B43_HWRNG -DCONFIG_B43LEGACY_HWRNG \
-       $(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),-DCONFIG_MAC80211_DEBUGFS) \
-       $(if $(CONFIG_PACKAGE_ATH9K_DEBUG),-DCONFIG_ATH9K_DEBUG) \
+       $(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),-DCONFIG_MAC80211_DEBUGFS -DCONFIG_ATH9K_DEBUGFS) \
+       $(if $(CONFIG_PACKAGE_ATH_DEBUG),-DCONFIG_ATH_DEBUG) \
        -D__CONFIG_MAC80211_RC_DEFAULT=minstrel \
-       $(if $(CONFIG_ATH_USER_REGD),-DATH_USER_REGD=1)
+       $(if $(CONFIG_ATH_USER_REGD),-DATH_USER_REGD=1) \
+       $(if $(CONFIG_PACKAGE_ATH9K_USE_MINSTREL),-DATH9K_USE_MINSTREL)
 
 MAKE_OPTS:= \
        CROSS_COMPILE="$(KERNEL_CROSS)" \
@@ -518,15 +555,17 @@ MAKE_OPTS:= \
        CONFIG_B43=$(if $(CONFIG_PACKAGE_kmod-b43),m) \
        CONFIG_B43LEGACY=$(if $(CONFIG_PACKAGE_kmod-b43legacy),m) \
        CONFIG_ATH_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath),m) \
+       CONFIG_ATH_DEBUG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
        CONFIG_ATH5K=$(if $(CONFIG_PACKAGE_kmod-ath5k),m) \
        CONFIG_ATH9K=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
-       CONFIG_ATH9K_DEBUG=$(if $(CONFIG_PACKAGE_ATH9K_DEBUG),y) \
+       CONFIG_ATH9K_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
        CONFIG_ZD1211RW=$(if $(CONFIG_PACKAGE_kmod-zd1211rw),m) \
        CONFIG_P54_COMMON=$(if $(CONFIG_PACKAGE_kmod-p54-common),m) \
        CONFIG_P54_PCI=$(if $(CONFIG_PACKAGE_kmod-p54-pci),m) \
        CONFIG_P54_USB=$(if $(CONFIG_PACKAGE_kmod-p54-usb),m) \
        CONFIG_P54_SPI= \
        CONFIG_RT2X00=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
+       CONFIG_RT2X00_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
        CONFIG_RT2X00_LIB_PCI=$(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),m) \
        CONFIG_RT2X00_LIB_USB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),m) \
        CONFIG_RT2400PCI=$(if $(CONFIG_PACKAGE_kmod-rt2400-pci),m) \
@@ -534,6 +573,7 @@ MAKE_OPTS:= \
        CONFIG_RT2500USB=$(if $(CONFIG_PACKAGE_kmod-rt2500-usb),m) \
        CONFIG_RT61PCI=$(if $(CONFIG_PACKAGE_kmod-rt61-pci),m) \
        CONFIG_RT73USB=$(if $(CONFIG_PACKAGE_kmod-rt73-usb),m) \
+       CONFIG_RT2800_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2800-lib),m) \
        CONFIG_RT2800PCI=$(if $(CONFIG_PACKAGE_kmod-rt2800-pci),m) \
        CONFIG_RT2800USB=$(if $(CONFIG_PACKAGE_kmod-rt2800-usb),m) \
        CONFIG_RTL8180=$(if $(CONFIG_PACKAGE_kmod-rtl8180),m) \
@@ -603,9 +643,13 @@ define Build/Compile
 endef
 
 define Build/InstallDev
-       mkdir -p $(1)/usr/include/mac80211 $(1)/usr/include/net/mac80211
+       mkdir -p \
+               $(1)/usr/include/mac80211 \
+               $(1)/usr/include/mac80211/ath \
+               $(1)/usr/include/net/mac80211
        $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
        $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
+       $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
 endef
 
 define KernelPackage/libertas/install
@@ -625,7 +669,7 @@ endef
 
 define KernelPackage/p54-usb/install
        $(INSTALL_DIR) $(1)/lib/firmware
-       $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3886usb
+       $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
 endef
 
 define KernelPackage/rt61-pci/install
@@ -700,6 +744,9 @@ define KernelPackage/b43legacy/install
        $(INSTALL_DIR) $(1)/lib/firmware/
 
        b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
+ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
+       b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy"
+endif
 endef
 
 $(eval $(call KernelPackage,ath5k))
@@ -711,6 +758,7 @@ $(eval $(call KernelPackage,p54-usb))
 $(eval $(call KernelPackage,rt2x00-lib))
 $(eval $(call KernelPackage,rt2x00-pci))
 $(eval $(call KernelPackage,rt2x00-usb))
+$(eval $(call KernelPackage,rt2800-lib))
 $(eval $(call KernelPackage,rt2400-pci))
 $(eval $(call KernelPackage,rt2500-pci))
 $(eval $(call KernelPackage,rt2500-usb))
This page took 0.028354 seconds and 4 git commands to generate.