diff options
Diffstat (limited to 'package/mac80211/patches/000-linux_3.0_support.patch')
-rw-r--r-- | package/mac80211/patches/000-linux_3.0_support.patch | 537 |
1 files changed, 537 insertions, 0 deletions
diff --git a/package/mac80211/patches/000-linux_3.0_support.patch b/package/mac80211/patches/000-linux_3.0_support.patch new file mode 100644 index 0000000000..226d511817 --- /dev/null +++ b/package/mac80211/patches/000-linux_3.0_support.patch @@ -0,0 +1,537 @@ +--- a/compat/Makefile ++++ b/compat/Makefile +@@ -6,31 +6,31 @@ obj-$(CONFIG_COMPAT_FIRMWARE_CLASS) += c + compat-y += main.o + + # Compat kernel compatibility code +-compat-$(CONFIG_COMPAT_KERNEL_14) += compat-2.6.14.o +-compat-$(CONFIG_COMPAT_KERNEL_18) += compat-2.6.18.o +-compat-$(CONFIG_COMPAT_KERNEL_19) += compat-2.6.19.o +-compat-$(CONFIG_COMPAT_KERNEL_21) += compat-2.6.21.o +-compat-$(CONFIG_COMPAT_KERNEL_22) += compat-2.6.22.o +-compat-$(CONFIG_COMPAT_KERNEL_23) += compat-2.6.23.o +-compat-$(CONFIG_COMPAT_KERNEL_24) += compat-2.6.24.o +-compat-$(CONFIG_COMPAT_KERNEL_25) += \ ++compat-$(CONFIG_COMPAT_KERNEL_2_6_14) += compat-2.6.14.o ++compat-$(CONFIG_COMPAT_KERNEL_2_6_18) += compat-2.6.18.o ++compat-$(CONFIG_COMPAT_KERNEL_2_6_19) += compat-2.6.19.o ++compat-$(CONFIG_COMPAT_KERNEL_2_6_21) += compat-2.6.21.o ++compat-$(CONFIG_COMPAT_KERNEL_2_6_22) += compat-2.6.22.o ++compat-$(CONFIG_COMPAT_KERNEL_2_6_23) += compat-2.6.23.o ++compat-$(CONFIG_COMPAT_KERNEL_2_6_24) += compat-2.6.24.o ++compat-$(CONFIG_COMPAT_KERNEL_2_6_25) += \ + compat-2.6.25.o \ + pm_qos_params.o + +-compat-$(CONFIG_COMPAT_KERNEL_26) += compat-2.6.26.o +-compat-$(CONFIG_COMPAT_KERNEL_27) += compat-2.6.27.o +-compat-$(CONFIG_COMPAT_KERNEL_28) += compat-2.6.28.o +-compat-$(CONFIG_COMPAT_KERNEL_29) += compat-2.6.29.o +-compat-$(CONFIG_COMPAT_KERNEL_32) += compat-2.6.32.o +-compat-$(CONFIG_COMPAT_KERNEL_33) += compat-2.6.33.o +-compat-$(CONFIG_COMPAT_KERNEL_35) += compat-2.6.35.o +-compat-$(CONFIG_COMPAT_KERNEL_36) += \ ++compat-$(CONFIG_COMPAT_KERNEL_2_6_26) += compat-2.6.26.o ++compat-$(CONFIG_COMPAT_KERNEL_2_6_27) += compat-2.6.27.o ++compat-$(CONFIG_COMPAT_KERNEL_2_6_28) += compat-2.6.28.o ++compat-$(CONFIG_COMPAT_KERNEL_2_6_29) += compat-2.6.29.o ++compat-$(CONFIG_COMPAT_KERNEL_2_6_32) += compat-2.6.32.o ++compat-$(CONFIG_COMPAT_KERNEL_2_6_33) += compat-2.6.33.o ++compat-$(CONFIG_COMPAT_KERNEL_2_6_35) += compat-2.6.35.o ++compat-$(CONFIG_COMPAT_KERNEL_2_6_36) += \ + compat-2.6.36.o \ + kfifo.o + +-compat-$(CONFIG_COMPAT_KERNEL_37) += compat-2.6.37.o +-compat-$(CONFIG_COMPAT_KERNEL_38) += compat-2.6.38.o +-compat-$(CONFIG_COMPAT_KERNEL_39) += \ ++compat-$(CONFIG_COMPAT_KERNEL_2_6_37) += compat-2.6.37.o ++compat-$(CONFIG_COMPAT_KERNEL_2_6_38) += compat-2.6.38.o ++compat-$(CONFIG_COMPAT_KERNEL_2_6_39) += \ + compat-2.6.39.o \ + kstrtox.o + +--- a/include/linux/compat-2.6.34.h ++++ b/include/linux/compat-2.6.34.h +@@ -251,6 +251,8 @@ static inline int usb_disable_autosuspen + + #define rcu_dereference_raw(p) rcu_dereference(p) + ++#define KEY_WPS_BUTTON 0x211 /* WiFi Protected Setup key */ ++ + #endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,34)) */ + + #endif /* LINUX_26_34_COMPAT_H */ +--- a/include/linux/compat-2.6.40.h ++++ /dev/null +@@ -1,29 +0,0 @@ +-#ifndef LINUX_26_40_COMPAT_H +-#define LINUX_26_40_COMPAT_H +- +-#include <linux/version.h> +- +-#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,40)) +- +-#include <linux/rcupdate.h> +- +-/* +- * This is not part of The 2.6.37 kernel yet but we +- * we use it to optimize the backport code we +- * need to implement. Instead of using ifdefs +- * to check what version of the check we use +- * we just replace all checks on current code +- * with this. I'll submit this upstream too, that +- * way all we'd have to do is to implement this +- * for older kernels, then we would not have to +- * edit the upstrema code for backport efforts. +- */ +-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36)) +-#define br_port_exists(dev) (dev->priv_flags & IFF_BRIDGE_PORT) +-#else +-#define br_port_exists(dev) (dev->br_port) +-#endif +- +-#endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,40)) */ +- +-#endif /* LINUX_26_40_COMPAT_H */ +--- a/include/linux/compat-2.6.h ++++ b/include/linux/compat-2.6.h +@@ -32,6 +32,7 @@ + #include <linux/compat-2.6.37.h> + #include <linux/compat-2.6.38.h> + #include <linux/compat-2.6.39.h> +-#include <linux/compat-2.6.40.h> ++#include <linux/compat-3.0.h> ++#include <linux/compat-3.1.h> + + #endif /* LINUX_26_COMPAT_H */ +--- /dev/null ++++ b/include/linux/compat-3.0.h +@@ -0,0 +1,31 @@ ++#ifndef LINUX_3_0_COMPAT_H ++#define LINUX_3_0_COMPAT_H ++ ++#include <linux/version.h> ++ ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,0,0)) ++ ++/* ++ * since commit 1c5cae815d19ffe02bdfda1260949ef2b1806171 ++ * "net: call dev_alloc_name from register_netdevice" dev_alloc_name is ++ * called automatically. This is not implemented in older kernel ++ * versions so it will result in device wrong names. ++ */ ++static inline int register_netdevice_name(struct net_device *dev) ++{ ++ int err; ++ ++ if (strchr(dev->name, '%')) { ++ err = dev_alloc_name(dev, dev->name); ++ if (err < 0) ++ return err; ++ } ++ ++ return register_netdevice(dev); ++} ++ ++#define register_netdevice(dev) register_netdevice_name(dev) ++ ++#endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(3,0,0)) */ ++ ++#endif /* LINUX_3_0_COMPAT_H */ +--- /dev/null ++++ b/include/linux/compat-3.1.h +@@ -0,0 +1,27 @@ ++#ifndef LINUX_3_1_COMPAT_H ++#define LINUX_3_1_COMPAT_H ++ ++#include <linux/version.h> ++ ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0)) ++ ++/* ++ * This is not part of The 2.6.37 kernel yet but we ++ * we use it to optimize the backport code we ++ * need to implement. Instead of using ifdefs ++ * to check what version of the check we use ++ * we just replace all checks on current code ++ * with this. I'll submit this upstream too, that ++ * way all we'd have to do is to implement this ++ * for older kernels, then we would not have to ++ * edit the upstrema code for backport efforts. ++ */ ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36)) ++#define br_port_exists(dev) (dev->priv_flags & IFF_BRIDGE_PORT) ++#else ++#define br_port_exists(dev) (dev->br_port) ++#endif ++ ++#endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0)) */ ++ ++#endif /* LINUX_3_1_COMPAT_H */ +--- a/config.mk ++++ b/config.mk +@@ -14,20 +14,28 @@ else + include $(KLIB_BUILD)/.config + endif + +-# We will warn when you don't have MQ support or NET_SCHED enabled. +-# +-# We could consider just quiting if MQ and NET_SCHED is disabled +-# as I suspect all users of this package want 802.11e (WME) and +-# 802.11n (HT) support. + ifneq ($(wildcard $(KLIB_BUILD)/Makefile),) +-COMPAT_LATEST_VERSION = 39 +-KERNEL_SUBLEVEL := $(shell $(MAKE) -C $(KLIB_BUILD) kernelversion | sed -n 's/^2\.6\.\([0-9]\+\).*/\1/p') ++ ++COMPAT_LATEST_VERSION = 1 ++ ++KERNEL_VERSION := $(shell $(MAKE) -C $(KLIB_BUILD) kernelversion | sed -n 's/^\([0-9]\)\..*/\1/p') ++ ++ifneq ($(KERNEL_VERSION),2) ++KERNEL_SUBLEVEL := $(shell $(MAKE) -C $(KLIB_BUILD) kernelversion | sed -n 's/^3\.\([0-9]\+\).*/\1/p') ++else ++COMPAT_26LATEST_VERSION = 39 ++KERNEL_26SUBLEVEL := $(shell $(MAKE) -C $(KLIB_BUILD) kernelversion | sed -n 's/^2\.6\.\([0-9]\+\).*/\1/p') ++COMPAT_26VERSIONS := $(shell I=$(COMPAT_26LATEST_VERSION); while [ "$$I" -gt $(KERNEL_26SUBLEVEL) ]; do echo $$I; I=$$(($$I - 1)); done) ++$(foreach ver,$(COMPAT_26VERSIONS),$(eval CONFIG_COMPAT_KERNEL_2_6_$(ver)=y)) ++KERNEL_SUBLEVEL := -1 ++endif ++ + COMPAT_VERSIONS := $(shell I=$(COMPAT_LATEST_VERSION); while [ "$$I" -gt $(KERNEL_SUBLEVEL) ]; do echo $$I; I=$$(($$I - 1)); done) +-$(foreach ver,$(COMPAT_VERSIONS),$(eval CONFIG_COMPAT_KERNEL_$(ver)=y)) ++$(foreach ver,$(COMPAT_VERSIONS),$(eval CONFIG_COMPAT_KERNEL_3_$(ver)=y)) + +-ifdef CONFIG_COMPAT_KERNEL_24 ++ifdef CONFIG_COMPAT_KERNEL_2_6_24 + $(error "ERROR: compat-wireless by default supports kernels >= 2.6.24, try enabling only one driver though") +-endif #CONFIG_COMPAT_KERNEL_24 ++endif #CONFIG_COMPAT_KERNEL_2_6_24 + + ifeq ($(CONFIG_CFG80211),y) + $(error "ERROR: your kernel has CONFIG_CFG80211=y, you should have it CONFIG_CFG80211=m if you want to use this thing.") +@@ -37,7 +45,7 @@ endif + # 2.6.27 has FTRACE_DYNAMIC borked, so we will complain if + # you have it enabled, otherwise you will very likely run into + # a kernel panic. +-ifeq ($(KERNEL_SUBLEVEL),27) ++ifeq ($(shell test $(KERNEL_VERSION) -eq 2 -a $(KERNEL_SUBLEVEL) -eq 27 && echo yes),yes) + ifeq ($(CONFIG_DYNAMIC_FTRACE),y) + $(error "ERROR: Your 2.6.27 kernel has CONFIG_DYNAMIC_FTRACE, please upgrade your distribution kernel as newer ones should not have this enabled (and if so report a bug) or remove this warning if you know what you are doing") + endif +@@ -54,7 +62,7 @@ endif + # + # In kernel 2.6.32 both attributes were removed. + # +-ifeq ($(shell test $(KERNEL_SUBLEVEL) -ge 27 -a $(KERNEL_SUBLEVEL) -le 31 && echo yes),yes) ++ifeq ($(shell test $(KERNEL_VERSION) -eq 2 -a $(KERNEL_SUBLEVEL) -ge 27 -a $(KERNEL_SUBLEVEL) -le 31 && echo yes),yes) + ifeq ($(CONFIG_MAC80211),) + $(error "ERROR: Your >=2.6.27 and <= 2.6.31 kernel has CONFIG_MAC80211 disabled, you should have it CONFIG_MAC80211=m if you want to use this thing.") + endif +@@ -62,6 +70,11 @@ endif + + ifneq ($(KERNELRELEASE),) # This prevents a warning + ++# We will warn when you don't have MQ support or NET_SCHED enabled. ++# ++# We could consider just quiting if MQ and NET_SCHED is disabled ++# as I suspect all users of this package want 802.11e (WME) and ++# 802.11n (HT) support. + ifeq ($(CONFIG_NET_SCHED),) + QOS_REQS_MISSING+=CONFIG_NET_SCHED + endif +@@ -92,20 +105,20 @@ else + endif + + # The Bluetooth compatibility only builds on kernels >= 2.6.27 for now +-ifndef CONFIG_COMPAT_KERNEL_27 ++ifndef CONFIG_COMPAT_KERNEL_2_6_27 + ifeq ($(CONFIG_BT),y) + # we'll ignore compiling bluetooth + else + CONFIG_COMPAT_BLUETOOTH=y + CONFIG_COMPAT_BLUETOOTH_MODULES=m + endif +-endif #CONFIG_COMPAT_KERNEL_27 ++endif #CONFIG_COMPAT_KERNEL_2_6_27 + +-ifdef CONFIG_COMPAT_KERNEL_33 ++ifdef CONFIG_COMPAT_KERNEL_2_6_33 + ifdef CONFIG_FW_LOADER + CONFIG_COMPAT_FIRMWARE_CLASS=m + endif #CONFIG_FW_LOADER +-endif #CONFIG_COMPAT_KERNEL_33 ++endif #CONFIG_COMPAT_KERNEL_2_6_33 + + # Wireless subsystem stuff + CONFIG_MAC80211=m +@@ -165,9 +178,9 @@ CONFIG_BT_BNEP_PROTO_FILTER=y + ifdef CONFIG_ISDN_CAPI + CONFIG_BT_CMTP=m + endif #CONFIG_ISDN_CAPI +-ifndef CONFIG_COMPAT_KERNEL_28 ++ifndef CONFIG_COMPAT_KERNEL_2_6_28 + CONFIG_COMPAT_BT_HIDP=m +-endif #CONFIG_COMPAT_KERNEL_28 ++endif #CONFIG_COMPAT_KERNEL_2_6_28 + + CONFIG_BT_HCIUART=M + CONFIG_BT_HCIUART_H4=y +@@ -345,11 +358,11 @@ CONFIG_MWL8K=m + CONFIG_ATL1=m + CONFIG_ATL2=m + CONFIG_ATL1E=m +-ifdef CONFIG_COMPAT_KERNEL_27 ++ifdef CONFIG_COMPAT_KERNEL_2_6_27 + CONFIG_ATL1C=n +-else #CONFIG_COMPAT_KERNEL_27 ++else #CONFIG_COMPAT_KERNEL_2_6_27 + CONFIG_ATL1C=m +-endif #CONFIG_COMPAT_KERNEL_27 ++endif #CONFIG_COMPAT_KERNEL_2_6_27 + + ifdef CONFIG_WIRELESS_EXT + CONFIG_HERMES=m +@@ -379,13 +392,13 @@ endif #CONFIG_PCI + + ifdef CONFIG_PCMCIA + +-ifdef CONFIG_COMPAT_KERNEL_27 ++ifdef CONFIG_COMPAT_KERNEL_2_6_27 + CONFIG_LIBERTAS=n + CONFIG_LIBERTAS_CS=n +-else #CONFIG_COMPAT_KERNEL_27 ++else #CONFIG_COMPAT_KERNEL_2_6_27 + CONFIG_LIBERTAS_CS=m + NEED_LIBERTAS=y +-endif #CONFIG_COMPAT_KERNEL_27 ++endif #CONFIG_COMPAT_KERNEL_2_6_27 + + endif #CONFIG_PCMCIA + ## end of PCMCIA +@@ -395,10 +408,10 @@ CONFIG_EEPROM_93CX6=m + + # USB Drivers + ifdef CONFIG_USB +-ifndef CONFIG_COMPAT_KERNEL_29 ++ifndef CONFIG_COMPAT_KERNEL_2_6_29 + CONFIG_COMPAT_ZD1211RW=m + # CONFIG_ZD1211RW_DEBUG=y +-endif #CONFIG_COMPAT_KERNEL_29 ++endif #CONFIG_COMPAT_KERNEL_2_6_29 + + # Sorry, rndis_wlan uses cancel_work_sync which is new and can't be done in compat... + +@@ -407,12 +420,12 @@ endif #CONFIG_COMPAT_KERNEL_29 + # is only wireless RNDIS chip known to date. + # Note: this depends on CONFIG_USB_NET_RNDIS_HOST and CONFIG_USB_NET_CDCETHER + # it also requires new RNDIS_HOST and CDC_ETHER modules which we add +-ifdef CONFIG_COMPAT_KERNEL_29 ++ifdef CONFIG_COMPAT_KERNEL_2_6_29 + CONFIG_USB_COMPAT_USBNET=n + CONFIG_USB_NET_COMPAT_RNDIS_HOST=n + CONFIG_USB_NET_COMPAT_RNDIS_WLAN=n + CONFIG_USB_NET_COMPAT_CDCETHER=n +-else #CONFIG_COMPAT_KERNEL_29 ++else #CONFIG_COMPAT_KERNEL_2_6_29 + CONFIG_USB_COMPAT_USBNET=m + ifdef CONFIG_USB_NET_CDCETHER + CONFIG_USB_NET_COMPAT_RNDIS_HOST=m +@@ -423,7 +436,7 @@ CONFIG_USB_NET_COMPAT_RNDIS_HOST=m + CONFIG_USB_NET_COMPAT_RNDIS_WLAN=m + endif #CONFIG_USB_NET_CDCETHER + CONFIG_USB_NET_COMPAT_CDCETHER=m +-endif #CONFIG_COMPAT_KERNEL_29 ++endif #CONFIG_COMPAT_KERNEL_2_6_29 + + + CONFIG_P54_USB=m +@@ -434,14 +447,14 @@ endif #CONFIG_MAC80211_LEDS + + CONFIG_AT76C50X_USB=m + +-ifndef CONFIG_COMPAT_KERNEL_29 ++ifndef CONFIG_COMPAT_KERNEL_2_6_29 + CONFIG_CARL9170=m + ifdef CONFIG_MAC80211_LEDS + CONFIG_CARL9170_LEDS=y + endif #CONFIG_MAC80211_LEDS + # CONFIG_CARL9170_DEBUGFS=y + # CONFIG_CARL9170_WPC=y +-endif #CONFIG_COMPAT_KERNEL_29 ++endif #CONFIG_COMPAT_KERNEL_2_6_29 + + # This activates a threading fix for usb urb. + # this is mainline commit: b3e670443b7fb8a2d29831b62b44a039c283e351 +@@ -467,15 +480,15 @@ ifdef CONFIG_CRC_ITU_T + CONFIG_RT73USB=m + endif #CONFIG_CRC_ITU_T + +-ifdef CONFIG_COMPAT_KERNEL_27 ++ifdef CONFIG_COMPAT_KERNEL_2_6_27 + CONFIG_LIBERTAS_THINFIRM_USB=n + CONFIG_LIBERTAS_USB=n + NEED_LIBERTAS=n +-else #CONFIG_COMPAT_KERNEL_27 ++else #CONFIG_COMPAT_KERNEL_2_6_27 + CONFIG_LIBERTAS_THINFIRM_USB=m + CONFIG_LIBERTAS_USB=m + NEED_LIBERTAS=y +-endif #CONFIG_COMPAT_KERNEL_27 ++endif #CONFIG_COMPAT_KERNEL_2_6_27 + + CONFIG_ORINOCO_USB=m + +@@ -490,7 +503,7 @@ CONFIG_RTL8192CU=m + endif #CONFIG_USB end of USB driver list + + ifdef CONFIG_SPI_MASTER +-ifndef CONFIG_COMPAT_KERNEL_25 ++ifndef CONFIG_COMPAT_KERNEL_2_6_25 + + ifdef CONFIG_CRC7 + CONFIG_WL1251_SPI=m +@@ -498,15 +511,15 @@ CONFIG_WL12XX_SPI=m + endif #CONFIG_CRC7 + CONFIG_P54_SPI=m + +-ifdef CONFIG_COMPAT_KERNEL_27 ++ifdef CONFIG_COMPAT_KERNEL_2_6_27 + CONFIG_LIBERTAS_SPI=n + NEED_LIBERTAS=n +-else #CONFIG_COMPAT_KERNEL_27 ++else #CONFIG_COMPAT_KERNEL_2_6_27 + CONFIG_LIBERTAS_SPI=m + NEED_LIBERTAS=y +-endif #CONFIG_COMPAT_KERNEL_27 ++endif #CONFIG_COMPAT_KERNEL_2_6_27 + +-endif #CONFIG_COMPAT_KERNEL_25 ++endif #CONFIG_COMPAT_KERNEL_2_6_25 + endif #CONFIG_SPI_MASTER end of SPI driver list + + ifdef CONFIG_MMC +@@ -519,23 +532,23 @@ ifdef CONFIG_WL12XX_PLATFORM_DATA + CONFIG_COMPAT_WL1251_SDIO=m + endif #CONFIG_WL12XX_PLATFORM_DATA + +-ifndef CONFIG_COMPAT_KERNEL_32 ++ifndef CONFIG_COMPAT_KERNEL_2_6_32 + ifdef CONFIG_WL12XX_PLATFORM_DATA + CONFIG_COMPAT_WL12XX_SDIO=m + endif #CONFIG_WL12XX_PLATFORM_DATA +-endif #CONFIG_COMPAT_KERNEL_32 ++endif #CONFIG_COMPAT_KERNEL_2_6_32 + + endif #CONFIG_CRC7 + + CONFIG_MWIFIEX_SDIO=m + +-ifdef CONFIG_COMPAT_KERNEL_27 ++ifdef CONFIG_COMPAT_KERNEL_2_6_27 + CONFIG_LIBERTAS_SDIO=n + NEED_LIBERTAS=n +-else #CONFIG_COMPAT_KERNEL_27 ++else #CONFIG_COMPAT_KERNEL_2_6_27 + CONFIG_LIBERTAS_SDIO=m + NEED_LIBERTAS=y +-endif #CONFIG_COMPAT_KERNEL_27 ++endif #CONFIG_COMPAT_KERNEL_2_6_27 + + CONFIG_IWM=m + # CONFIG_IWM_DEBUG=y +@@ -574,13 +587,13 @@ CONFIG_RT2800_LIB=m + CONFIG_RT2X00_LIB_FIRMWARE=y + CONFIG_RT2X00_LIB_CRYPTO=y + # CONFIG_RT2X00_LIB_SOC=y +-ifdef CONFIG_COMPAT_KERNEL_25 ++ifdef CONFIG_COMPAT_KERNEL_2_6_25 + CONFIG_RT2X00_LIB_LEDS=n +-else #CONFIG_COMPAT_KERNEL_25 ++else #CONFIG_COMPAT_KERNEL_2_6_25 + ifdef CONFIG_LEDS_CLASS + CONFIG_RT2X00_LIB_LEDS=y + endif #CONFIG_LEDS_CLASS +-endif #CONFIG_COMPAT_KERNEL_25 ++endif #CONFIG_COMPAT_KERNEL_2_6_25 + # CONFIG_RT2X00_DEBUG=y + # CONFIG_RT2X00_LIB_DEBUGFS + endif +@@ -608,24 +621,24 @@ endif #CONFIG_CRC7 + + CONFIG_MWIFIEX=m + +-ifdef CONFIG_COMPAT_KERNEL_27 ++ifdef CONFIG_COMPAT_KERNEL_2_6_27 + CONFIG_LIBERTAS=n +-else #CONFIG_COMPAT_KERNEL_27 ++else #CONFIG_COMPAT_KERNEL_2_6_27 + ifeq ($(NEED_LIBERTAS),y) + CONFIG_LIBERTAS_THINFIRM=m + CONFIG_LIBERTAS=m + CONFIG_LIBERTAS_MESH=y + # CONFIG_LIBERTAS_DEBUG=y + endif +-endif #CONFIG_COMPAT_KERNEL_27 ++endif #CONFIG_COMPAT_KERNEL_2_6_27 + + # We need the backported rfkill module on kernel < 2.6.31. + # In more recent kernel versions use the in kernel rfkill module. +-ifdef CONFIG_COMPAT_KERNEL_31 ++ifdef CONFIG_COMPAT_KERNEL_2_6_31 + CONFIG_RFKILL_BACKPORT=m + ifdef CONFIG_LEDS_TRIGGERS + CONFIG_RFKILL_BACKPORT_LEDS=y + endif #CONFIG_LEDS_TRIGGERS + CONFIG_RFKILL_BACKPORT_INPUT=y +-endif #CONFIG_COMPAT_KERNEL_31 ++endif #CONFIG_COMPAT_KERNEL_2_6_31 + +--- a/scripts/admin-update.sh ++++ b/scripts/admin-update.sh +@@ -18,7 +18,7 @@ + GIT_URL="git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git" + GIT_COMPAT_URL="git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/compat.git" + +-INCLUDE_NET_BT="hci_core.h l2cap.h bluetooth.h rfcomm.h hci.h mgmt.h" ++INCLUDE_NET_BT="hci_core.h l2cap.h bluetooth.h rfcomm.h hci.h mgmt.h smp.h" + NET_BT_DIRS="bluetooth bluetooth/bnep bluetooth/cmtp bluetooth/rfcomm bluetooth/hidp" + + INCLUDE_LINUX="ieee80211.h nl80211.h" +@@ -259,7 +259,7 @@ DRIVERS_BT="drivers/bluetooth" + # Drivers that belong the the wireless directory + DRIVER_FILES="adm8211.c adm8211.h" + DRIVER_FILES="$DRIVER_FILES rndis_wlan.c" +-DRIVER_FILES="$DRIVER_FILES mac80211_hwsim.c" ++DRIVER_FILES="$DRIVER_FILES mac80211_hwsim.c mac80211_hwsim.h" + DRIVER_FILES="$DRIVER_FILES at76c50x-usb.c at76c50x-usb.h" + DRIVER_FILES="$DRIVER_FILES mwl8k.c" + +--- a/scripts/gen-compat-autoconf.sh ++++ b/scripts/gen-compat-autoconf.sh +@@ -148,11 +148,11 @@ kernel_version_req $OLDEST_KERNEL_SUPPOR + for i in $(egrep '^CONFIG_|^ifdef CONFIG_|^ifndef CONFIG_|^endif #CONFIG_|^else #CONFIG_' $COMPAT_CONFIG | sed 's/ /+/'); do + case $i in + 'ifdef+CONFIG_'* ) +- echo "#$i" | sed -e 's/+/ /' -e 's/\(ifdef CONFIG_COMPAT_KERNEL_\)\([0-9]*\)/if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,\2))/' -e 's/\(#ifdef \)\(CONFIG_[^:space:]*\)/#if defined(\2) || defined(\2_MODULE)/' ++ echo "#$i" | sed -e 's/+/ /' -e 's/\(ifdef CONFIG_COMPAT_KERNEL_3_\)\([0-9]*\)/if (LINUX_VERSION_CODE < KERNEL_VERSION(3,\2,0))/' -e 's/\(ifdef CONFIG_COMPAT_KERNEL_2_6_\)\([0-9]*\)/if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,\2))/' -e 's/\(#ifdef \)\(CONFIG_[^:space:]*\)/#if defined(\2) || defined(\2_MODULE)/' + continue + ;; + 'ifndef+CONFIG_'* ) +- echo "#$i" | sed -e 's/+/ /' -e 's/\(ifndef CONFIG_COMPAT_KERNEL_\)\([0-9]*\)/if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,\2))/' -e 's/\(#ifndef \)\(CONFIG_[^:space:]*\)/#if !defined(\2) && !defined(\2_MODULE)/' ++ echo "#$i" | sed -e 's/+/ /' -e 's/\(ifndef CONFIG_COMPAT_KERNEL_3_\)\([0-9]*\)/if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,\2,0))/' -e 's/\(ifndef CONFIG_COMPAT_KERNEL_2_6_\)\([0-9]*\)/if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,\2))/' -e 's/\(#ifndef \)\(CONFIG_[^:space:]*\)/#if !defined(\2) && !defined(\2_MODULE)/' + continue + ;; + 'else+#CONFIG_'* | 'endif+#CONFIG_'* ) +@@ -184,8 +184,9 @@ done + # Deal with special cases. CONFIG_MAC80211_QOS is such a case. + # We handle this specially for different kernels we support. + if [ -f $KLIB_BUILD/Makefile ]; then +- SUBLEVEL=$(make -C $KLIB_BUILD kernelversion | sed -n 's/^2\.6\.\([0-9]\+\).*/\1/p') +- if [ $SUBLEVEL -le 22 ]; then ++ MAJORLEVEL=$(make -C $KLIB_BUILD kernelversion | sed -n 's/^\([0-9]\)\..*/\1/p') ++ SUBLEVEL=$(make -C $KLIB_BUILD kernelversion | sed -n 's/^\(2\.6\|[3-9]\)\.\([0-9]\+\).*/\2/p') ++ if [ $MAJORLEVEL -eq 2 -a $SUBLEVEL -le 22 ]; then + define_config CONFIG_MAC80211_QOS y + else # kernel >= 2.6.23 + # CONFIG_MAC80211_QOS on these kernels requires |