package/mac80211: Add linux 3.0 compatibility

Add patches from Hauke adding linux 3.0 compatibility.

Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com>

SVN-Revision: 27187
lede-17.01
Hauke Mehrtens 2011-06-15 21:16:38 +00:00
parent cd3bd6e13e
commit dfcd340721
53 changed files with 626 additions and 190 deletions

View File

@ -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

View File

@ -1,6 +1,6 @@
--- a/config.mk
+++ b/config.mk
@@ -314,8 +314,8 @@ endif #CONFIG_SSB
@@ -327,8 +327,8 @@ endif #CONFIG_SSB
CONFIG_P54_PCI=m

View File

@ -1,6 +1,6 @@
--- a/config.mk
+++ b/config.mk
@@ -74,7 +74,7 @@ endif # build check
@@ -87,7 +87,7 @@ endif # build check
endif # kernel Makefile check
# These both are needed by compat-wireless || compat-bluetooth so enable them
@ -9,10 +9,10 @@
ifeq ($(CONFIG_MAC80211),y)
$(error "ERROR: you have MAC80211 compiled into the kernel, CONFIG_MAC80211=y, as such you cannot replace its mac80211 driver. You need this set to CONFIG_MAC80211=m. If you are using Fedora upgrade your kernel as later version should this set as modular. For further information on Fedora see https://bugzilla.redhat.com/show_bug.cgi?id=470143. If you are using your own kernel recompile it and make mac80211 modular")
@@ -622,10 +622,10 @@ endif #CONFIG_COMPAT_KERNEL_27
@@ -635,10 +635,10 @@ 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
+# CONFIG_RFKILL_BACKPORT=m
ifdef CONFIG_LEDS_TRIGGERS
@ -21,7 +21,7 @@
endif #CONFIG_LEDS_TRIGGERS
-CONFIG_RFKILL_BACKPORT_INPUT=y
+# CONFIG_RFKILL_BACKPORT_INPUT=y
endif #CONFIG_COMPAT_KERNEL_31
endif #CONFIG_COMPAT_KERNEL_2_6_31
--- a/include/linux/rfkill.h
+++ b/include/linux/rfkill.h

View File

@ -1,6 +1,6 @@
--- a/config.mk
+++ b/config.mk
@@ -96,8 +96,8 @@ ifndef CONFIG_COMPAT_KERNEL_27
@@ -109,8 +109,8 @@ ifndef CONFIG_COMPAT_KERNEL_2_6_27
ifeq ($(CONFIG_BT),y)
# we'll ignore compiling bluetooth
else
@ -9,5 +9,5 @@
+# CONFIG_COMPAT_BLUETOOTH=y
+# CONFIG_COMPAT_BLUETOOTH_MODULES=m
endif
endif #CONFIG_COMPAT_KERNEL_27
endif #CONFIG_COMPAT_KERNEL_2_6_27

View File

@ -19,7 +19,7 @@
else
include $(KLIB_BUILD)/.config
endif
@@ -298,19 +297,18 @@ CONFIG_IPW2200_QOS=y
@@ -311,19 +310,18 @@ CONFIG_IPW2200_QOS=y
# % echo 1 > /sys/bus/pci/drivers/ipw2200/*/rtap_iface
endif #CONFIG_WIRELESS_EXT
@ -51,7 +51,7 @@
CONFIG_P54_PCI=m
@@ -511,7 +509,6 @@ endif #CONFIG_SPI_MASTER end of SPI driv
@@ -524,7 +522,6 @@ endif #CONFIG_SPI_MASTER end of SPI driv
ifdef CONFIG_MMC

View File

@ -1,6 +1,6 @@
--- a/config.mk
+++ b/config.mk
@@ -199,7 +199,7 @@ $(warning "WARNING: CONFIG_CFG80211_WEXT
@@ -212,7 +212,7 @@ $(warning "WARNING: CONFIG_CFG80211_WEXT
endif #CONFIG_WIRELESS_EXT
ifdef CONFIG_STAGING
@ -9,7 +9,7 @@
endif #CONFIG_STAGING
# mac80211 test driver
@@ -340,13 +340,13 @@ endif #CONFIG_CRC_ITU_T
@@ -353,13 +353,13 @@ endif #CONFIG_CRC_ITU_T
CONFIG_MWL8K=m
# Ethernet drivers go here
@ -19,19 +19,19 @@
+# CONFIG_ATL1=m
+# CONFIG_ATL2=m
+# CONFIG_ATL1E=m
ifdef CONFIG_COMPAT_KERNEL_27
ifdef CONFIG_COMPAT_KERNEL_2_6_27
-CONFIG_ATL1C=n
+# CONFIG_ATL1C=n
else #CONFIG_COMPAT_KERNEL_27
else #CONFIG_COMPAT_KERNEL_2_6_27
-CONFIG_ATL1C=m
+# CONFIG_ATL1C=m
endif #CONFIG_COMPAT_KERNEL_27
endif #CONFIG_COMPAT_KERNEL_2_6_27
ifdef CONFIG_WIRELESS_EXT
@@ -406,21 +406,21 @@ endif #CONFIG_COMPAT_KERNEL_29
@@ -419,21 +419,21 @@ endif #CONFIG_COMPAT_KERNEL_2_6_29
# 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
@ -40,7 +40,7 @@
+# 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
+# CONFIG_USB_COMPAT_USBNET=m
ifdef CONFIG_USB_NET_CDCETHER
@ -57,6 +57,6 @@
endif #CONFIG_USB_NET_CDCETHER
-CONFIG_USB_NET_COMPAT_CDCETHER=m
+# CONFIG_USB_NET_COMPAT_CDCETHER=m
endif #CONFIG_COMPAT_KERNEL_29
endif #CONFIG_COMPAT_KERNEL_2_6_29

View File

@ -1,6 +1,6 @@
--- a/config.mk
+++ b/config.mk
@@ -42,23 +42,6 @@ $(error "ERROR: Your 2.6.27 kernel has C
@@ -50,23 +50,6 @@ $(error "ERROR: Your 2.6.27 kernel has C
endif
endif
@ -15,7 +15,7 @@
-#
-# 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
@ -23,4 +23,4 @@
-
ifneq ($(KERNELRELEASE),) # This prevents a warning
ifeq ($(CONFIG_NET_SCHED),)
# We will warn when you don't have MQ support or NET_SCHED enabled.

View File

@ -9,7 +9,7 @@
else
include $(KLIB_BUILD)/.config
endif
@@ -232,7 +232,7 @@ CONFIG_B43=m
@@ -245,7 +245,7 @@ CONFIG_B43=m
CONFIG_B43_HWRNG=y
CONFIG_B43_PCI_AUTOSELECT=y
ifdef CONFIG_PCMCIA

View File

@ -1,6 +1,6 @@
--- a/config.mk
+++ b/config.mk
@@ -492,7 +492,7 @@ endif #CONFIG_SPI_MASTER end of SPI driv
@@ -505,7 +505,7 @@ endif #CONFIG_SPI_MASTER end of SPI driv
ifdef CONFIG_MMC

View File

@ -1,6 +1,6 @@
--- a/config.mk
+++ b/config.mk
@@ -238,7 +238,7 @@ ifdef CONFIG_MAC80211_LEDS
@@ -251,7 +251,7 @@ ifdef CONFIG_MAC80211_LEDS
CONFIG_B43_LEDS=y
endif #CONFIG_MAC80211_LEDS
CONFIG_B43_PHY_LP=y

View File

@ -1,6 +1,6 @@
--- a/config.mk
+++ b/config.mk
@@ -302,7 +302,7 @@ CONFIG_RTL8180=m
@@ -315,7 +315,7 @@ CONFIG_RTL8180=m
CONFIG_ADM8211=m
@ -9,7 +9,7 @@
CONFIG_RT2400PCI=m
CONFIG_RT2500PCI=m
ifdef CONFIG_CRC_CCITT
@@ -441,7 +441,7 @@ CONFIG_RT2800USB_RT33XX=y
@@ -454,7 +454,7 @@ CONFIG_RT2800USB_RT33XX=y
# CONFIG_RT2800USB_RT53XX=y
CONFIG_RT2800USB_UNKNOWN=y
endif #CONFIG_CRC_CCITT

View File

@ -1,6 +1,6 @@
--- a/config.mk
+++ b/config.mk
@@ -111,7 +111,7 @@ CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
@@ -124,7 +124,7 @@ CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
# This is the one used by our compat-wireless net/mac80211/rate.c
# in case you have and old kernel which is overriding this to pid.
CONFIG_COMPAT_MAC80211_RC_DEFAULT=minstrel_ht

View File

@ -1,6 +1,6 @@
--- a/config.mk
+++ b/config.mk
@@ -205,7 +205,7 @@ CONFIG_ATH9K_COMMON=m
@@ -218,7 +218,7 @@ CONFIG_ATH9K_COMMON=m
# as default once we get minstrel properly tested and blessed by
# our systems engineering team. CCK rates also need to be used
# for long range considerations.

View File

@ -1,6 +1,6 @@
--- a/config.mk
+++ b/config.mk
@@ -210,7 +210,7 @@ CONFIG_ATH9K_COMMON=m
@@ -223,7 +223,7 @@ CONFIG_ATH9K_COMMON=m
# PCI Drivers
ifdef CONFIG_PCI

View File

@ -33,7 +33,7 @@
#endif
--- a/config.mk
+++ b/config.mk
@@ -427,7 +427,7 @@ endif #CONFIG_COMPAT_KERNEL_29
@@ -440,7 +440,7 @@ endif #CONFIG_COMPAT_KERNEL_2_6_29
# This activates a threading fix for usb urb.
# this is mainline commit: b3e670443b7fb8a2d29831b62b44a039c283e351
# This fix will be included in some stable releases.

View File

@ -102,7 +102,7 @@
for (i = 0; i < ATH_TXFIFO_DEPTH; i++) {
snprintf(tmp, sizeof(tmp) - 1, "txq_fifo[%i] empty: ", i);
PRQLE(tmp, txq_fifo[i]);
@@ -807,7 +807,10 @@ void ath_debug_stat_tx(struct ath_softc
@@ -807,7 +807,10 @@ void ath_debug_stat_tx(struct ath_softc
else
TX_STAT_INC(qnum, a_completed);
} else {
@ -139,7 +139,7 @@
static void ath_buf_set_rate(struct ath_softc *sc, struct ath_buf *bf, int len);
static void ath_tx_rc_status(struct ath_softc *sc, struct ath_buf *bf,
struct ath_tx_status *ts, int nframes, int nbad,
@@ -377,8 +377,7 @@ static void ath_tx_complete_aggr(struct
@@ -377,8 +377,7 @@ static void ath_tx_complete_aggr(struct
bf_next = bf->bf_next;
bf->bf_state.bf_type |= BUF_XRETRY;
@ -149,7 +149,7 @@
list_move_tail(&bf->list, &bf_head);
ath_tx_rc_status(sc, bf, ts, 1, 1, 0, false);
@@ -463,20 +462,14 @@ static void ath_tx_complete_aggr(struct
@@ -463,20 +462,14 @@ static void ath_tx_complete_aggr(struct
}
}
@ -219,7 +219,7 @@
{
struct ath_buf *bf, *lastbf;
struct list_head bf_head;
@@ -1170,93 +1157,63 @@ void ath_draintxq(struct ath_softc *sc,
@@ -1170,93 +1157,63 @@ void ath_draintxq(struct ath_softc *sc,
memset(&ts, 0, sizeof(ts));
INIT_LIST_HEAD(&bf_head);
@ -857,7 +857,7 @@
static void ieee80211_iface_work(struct work_struct *work)
{
struct ieee80211_sub_if_data *sdata =
@@ -822,6 +863,9 @@ static void ieee80211_iface_work(struct
@@ -822,6 +863,9 @@ static void ieee80211_iface_work(struct
break;
ieee80211_mesh_rx_queued_mgmt(sdata, skb);
break;

View File

@ -8,7 +8,7 @@
#include <asm/unaligned.h>
#include "hw.h"
@@ -434,8 +435,16 @@ static int ath9k_hw_init_macaddr(struct
@@ -434,8 +435,16 @@ static int ath9k_hw_init_macaddr(struct
common->macaddr[2 * i] = eeval >> 8;
common->macaddr[2 * i + 1] = eeval & 0xff;
}

View File

@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/ath5k/mac80211-ops.c
+++ b/drivers/net/wireless/ath/ath5k/mac80211-ops.c
@@ -97,13 +97,8 @@ ath5k_add_interface(struct ieee80211_hw
@@ -97,13 +97,8 @@ ath5k_add_interface(struct ieee80211_hw
goto end;
}

View File

@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/ath5k/reset.c
+++ b/drivers/net/wireless/ath/ath5k/reset.c
@@ -1035,6 +1035,7 @@ int ath5k_hw_reset(struct ath5k_hw *ah,
@@ -1035,6 +1035,7 @@ int ath5k_hw_reset(struct ath5k_hw *ah,
tsf_lo = 0;
mode = 0;
@ -8,7 +8,7 @@
/*
* Sanity check for fast flag
* Fast channel change only available
@@ -1042,6 +1043,7 @@ int ath5k_hw_reset(struct ath5k_hw *ah,
@@ -1042,6 +1043,7 @@ int ath5k_hw_reset(struct ath5k_hw *ah,
*/
if (fast && (ah->ah_radio != AR5K_RF2413) &&
(ah->ah_radio != AR5K_RF5413))

View File

@ -11,7 +11,7 @@
#define IEEE80211_MS_TO_TU(x) (((x) * 1000) / 1024)
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -355,8 +355,8 @@ static void ath9k_hw_init_config(struct
@@ -355,8 +355,8 @@ static void ath9k_hw_init_config(struct
{
int i;

View File

@ -58,7 +58,7 @@
struct ar5416Stats stats;
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -163,7 +163,7 @@ static void ath_update_survey_nf(struct
@@ -163,7 +163,7 @@ static void ath_update_survey_nf(struct
if (chan->noisefloor) {
survey->filled |= SURVEY_INFO_NOISE_DBM;

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 1be7c8b..05c2ba2 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -551,6 +551,7 @@ static int __ath9k_hw_init(struct ath_hw *ah)
@@ -560,6 +560,7 @@ static int __ath9k_hw_init(struct ath_hw
case AR_SREV_VERSION_9287:
case AR_SREV_VERSION_9271:
case AR_SREV_VERSION_9300:
@ -10,7 +8,7 @@ index 1be7c8b..05c2ba2 100644
case AR_SREV_VERSION_9485:
case AR_SREV_VERSION_9340:
break;
@@ -561,7 +562,8 @@ static int __ath9k_hw_init(struct ath_hw *ah)
@@ -570,7 +571,8 @@ static int __ath9k_hw_init(struct ath_hw
return -EOPNOTSUPP;
}
@ -20,7 +18,7 @@ index 1be7c8b..05c2ba2 100644
ah->is_pciexpress = false;
ah->hw_version.phyRev = REG_READ(ah, AR_PHY_CHIP_ID);
@@ -2574,6 +2576,7 @@ static struct {
@@ -2584,6 +2586,7 @@ static struct {
{ AR_SREV_VERSION_9287, "9287" },
{ AR_SREV_VERSION_9271, "9271" },
{ AR_SREV_VERSION_9300, "9300" },
@ -28,8 +26,6 @@ index 1be7c8b..05c2ba2 100644
{ AR_SREV_VERSION_9485, "9485" },
};
diff --git a/drivers/net/wireless/ath/ath9k/reg.h b/drivers/net/wireless/ath/ath9k/reg.h
index c18ee99..a483388 100644
--- a/drivers/net/wireless/ath/ath9k/reg.h
+++ b/drivers/net/wireless/ath/ath9k/reg.h
@@ -788,6 +788,10 @@

View File

@ -1,5 +1,3 @@
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h
index 4b157c5..9f23451 100644
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -45,6 +45,7 @@

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 05c2ba2..ade8655 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -251,6 +251,15 @@ static void ath9k_hw_read_revisions(struct ath_hw *ah)
@@ -252,6 +252,15 @@ static void ath9k_hw_read_revisions(stru
case AR5416_AR9100_DEVID:
ah->hw_version.macVersion = AR_SREV_VERSION_9100;
break;
@ -18,8 +16,6 @@ index 05c2ba2..ade8655 100644
case AR9300_DEVID_AR9340:
ah->hw_version.macVersion = AR_SREV_VERSION_9340;
val = REG_READ(ah, AR_SREV);
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h
index 9f23451..8d9ac49 100644
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -863,6 +863,7 @@ struct ath_hw {
@ -30,11 +26,9 @@ index 9f23451..8d9ac49 100644
};
struct ath_bus_ops {
diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
index 45c585a..c2defa2 100644
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -575,6 +575,7 @@ static int ath9k_init_softc(u16 devid, struct ath_softc *sc, u16 subsysid,
@@ -575,6 +575,7 @@ static int ath9k_init_softc(u16 devid, s
sc->sc_ah->gpio_val = pdata->gpio_val;
sc->sc_ah->led_pin = pdata->led_pin;
ah->is_clk_25mhz = pdata->is_clk_25mhz;
@ -42,8 +36,6 @@ index 45c585a..c2defa2 100644
}
common = ath9k_hw_common(ah);
diff --git a/include/linux/ath9k_platform.h b/include/linux/ath9k_platform.h
index 60a7c49..c207607 100644
--- a/include/linux/ath9k_platform.h
+++ b/include/linux/ath9k_platform.h
@@ -30,6 +30,7 @@ struct ath9k_platform_data {
@ -54,4 +46,3 @@ index 60a7c49..c207607 100644
};
#endif /* _LINUX_ATH9K_PLATFORM_H */

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/ahb.c b/drivers/net/wireless/ath/ath9k/ahb.c
index 5b49cd0..0b36fcf 100644
--- a/drivers/net/wireless/ath/ath9k/ahb.c
+++ b/drivers/net/wireless/ath/ath9k/ahb.c
@@ -27,6 +27,10 @@ static const struct platform_device_id ath9k_platform_id_table[] = {
@@ -27,6 +27,10 @@ static const struct platform_device_id a
.driver_data = AR5416_AR9100_DEVID,
},
{

View File

@ -1,6 +1,3 @@
diff --git a/drivers/net/wireless/ath/ath9k/ar9330_1p1_initvals.h b/drivers/net/wireless/ath/ath9k/ar9330_1p1_initvals.h
new file mode 100644
index 0000000..9593333
--- /dev/null
+++ b/drivers/net/wireless/ath/ath9k/ar9330_1p1_initvals.h
@@ -0,0 +1,1303 @@
@ -1307,9 +1304,6 @@ index 0000000..9593333
+};
+
+#endif /* INITVALS_9330_1P1_H */
diff --git a/drivers/net/wireless/ath/ath9k/ar9330_1p2_initvals.h b/drivers/net/wireless/ath/ath9k/ar9330_1p2_initvals.h
new file mode 100644
index 0000000..968ccc2
--- /dev/null
+++ b/drivers/net/wireless/ath/ath9k/ar9330_1p2_initvals.h
@@ -0,0 +1,1236 @@

View File

@ -1,5 +1,3 @@
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_hw.c b/drivers/net/wireless/ath/ath9k/ar9003_hw.c
index 392bf0f..dc0ad4a 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_hw.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_hw.c
@@ -19,6 +19,8 @@
@ -126,11 +124,9 @@ index 392bf0f..dc0ad4a 100644
/* mac */
INIT_INI_ARRAY(&ah->iniMac[ATH_INI_PRE], NULL, 0, 0);
INIT_INI_ARRAY(&ah->iniMac[ATH_INI_CORE],
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_phy.c b/drivers/net/wireless/ath/ath9k/ar9003_phy.c
index 892c48b..48893f1 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_phy.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.c
@@ -659,6 +659,9 @@ static int ar9003_hw_process_ini(struct ath_hw *ah,
@@ -659,6 +659,9 @@ static int ar9003_hw_process_ini(struct
REG_WRITE_ARRAY(&ah->iniModesAdditional,
modesIndex, regWrites);

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_hw.c b/drivers/net/wireless/ath/ath9k/ar9003_hw.c
index dc0ad4a..264a7ea 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_hw.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_hw.c
@@ -328,7 +328,17 @@ static void ar9003_tx_gain_table_apply(struct ath_hw *ah)
@@ -328,7 +328,17 @@ static void ar9003_tx_gain_table_apply(s
switch (ar9003_hw_get_tx_gain_idx(ah)) {
case 0:
default:
@ -21,7 +19,7 @@ index dc0ad4a..264a7ea 100644
INIT_INI_ARRAY(&ah->iniModesTxGain,
ar9340Modes_lowest_ob_db_tx_gain_table_1p0,
ARRAY_SIZE(ar9340Modes_lowest_ob_db_tx_gain_table_1p0),
@@ -345,7 +355,17 @@ static void ar9003_tx_gain_table_apply(struct ath_hw *ah)
@@ -345,7 +355,17 @@ static void ar9003_tx_gain_table_apply(s
5);
break;
case 1:
@ -40,7 +38,7 @@ index dc0ad4a..264a7ea 100644
INIT_INI_ARRAY(&ah->iniModesTxGain,
ar9340Modes_lowest_ob_db_tx_gain_table_1p0,
ARRAY_SIZE(ar9340Modes_lowest_ob_db_tx_gain_table_1p0),
@@ -362,7 +382,17 @@ static void ar9003_tx_gain_table_apply(struct ath_hw *ah)
@@ -362,7 +382,17 @@ static void ar9003_tx_gain_table_apply(s
5);
break;
case 2:
@ -59,7 +57,7 @@ index dc0ad4a..264a7ea 100644
INIT_INI_ARRAY(&ah->iniModesTxGain,
ar9340Modes_lowest_ob_db_tx_gain_table_1p0,
ARRAY_SIZE(ar9340Modes_lowest_ob_db_tx_gain_table_1p0),
@@ -379,7 +409,17 @@ static void ar9003_tx_gain_table_apply(struct ath_hw *ah)
@@ -379,7 +409,17 @@ static void ar9003_tx_gain_table_apply(s
5);
break;
case 3:
@ -78,4 +76,3 @@ index dc0ad4a..264a7ea 100644
INIT_INI_ARRAY(&ah->iniModesTxGain,
ar9340Modes_lowest_ob_db_tx_gain_table_1p0,
ARRAY_SIZE(ar9340Modes_lowest_ob_db_tx_gain_table_1p0),

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_hw.c b/drivers/net/wireless/ath/ath9k/ar9003_hw.c
index 264a7ea..8efdec2 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_hw.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_hw.c
@@ -443,7 +443,17 @@ static void ar9003_rx_gain_table_apply(struct ath_hw *ah)
@@ -443,7 +443,17 @@ static void ar9003_rx_gain_table_apply(s
switch (ar9003_hw_get_rx_gain_idx(ah)) {
case 0:
default:
@ -21,7 +19,7 @@ index 264a7ea..8efdec2 100644
INIT_INI_ARRAY(&ah->iniModesRxGain,
ar9340Common_rx_gain_table_1p0,
ARRAY_SIZE(ar9340Common_rx_gain_table_1p0),
@@ -460,7 +470,17 @@ static void ar9003_rx_gain_table_apply(struct ath_hw *ah)
@@ -460,7 +470,17 @@ static void ar9003_rx_gain_table_apply(s
2);
break;
case 1:
@ -40,4 +38,3 @@ index 264a7ea..8efdec2 100644
INIT_INI_ARRAY(&ah->iniModesRxGain,
ar9340Common_wo_xlna_rx_gain_table_1p0,
ARRAY_SIZE(ar9340Common_wo_xlna_rx_gain_table_1p0),

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index ade8655..826ed5d 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -733,6 +733,39 @@ static void ath9k_hw_init_pll(struct ath_hw *ah,
@@ -742,6 +742,39 @@ static void ath9k_hw_init_pll(struct ath
REG_RMW_FIELD(ah, AR_CH0_BB_DPLL2,
AR_CH0_BB_DPLL2_PLL_PWD, 0x0);
udelay(1000);
@ -42,7 +40,7 @@ index ade8655..826ed5d 100644
} else if (AR_SREV_9340(ah)) {
u32 regval, pll2_divint, pll2_divfrac, refdiv;
@@ -774,7 +807,7 @@ static void ath9k_hw_init_pll(struct ath_hw *ah,
@@ -783,7 +816,7 @@ static void ath9k_hw_init_pll(struct ath
REG_WRITE(ah, AR_RTC_PLL_CONTROL, pll);
@ -51,4 +49,3 @@ index ade8655..826ed5d 100644
udelay(1000);
/* Switch the core clock for ar9271 to 117Mhz */

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 826ed5d..f53a3bf 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -615,7 +615,10 @@ static int __ath9k_hw_init(struct ath_hw *ah)
@@ -624,7 +624,10 @@ static int __ath9k_hw_init(struct ath_hw
else
ah->tx_trig_level = (AR_FTRIG_512B >> AR_FTRIG_S);
@ -14,4 +12,3 @@ index 826ed5d..f53a3bf 100644
common->state = ATH_HW_INITIALIZED;

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index f53a3bf..6315e7d 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -2030,7 +2030,7 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah)
@@ -2040,7 +2040,7 @@ int ath9k_hw_fill_cap_info(struct ath_hw
if (AR_SREV_9300_20_OR_LATER(ah)) {
pCap->hw_caps |= ATH9K_HW_CAP_EDMA | ATH9K_HW_CAP_FASTCLOCK;
@ -11,4 +9,3 @@ index f53a3bf..6315e7d 100644
pCap->hw_caps |= ATH9K_HW_CAP_LDPC;
pCap->rx_hp_qdepth = ATH9K_HW_RX_HP_QDEPTH;

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_phy.c b/drivers/net/wireless/ath/ath9k/ar9003_phy.c
index 48893f1..2df72cb 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_phy.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.c
@@ -168,7 +168,7 @@ static void ar9003_hw_spur_mitigate_mrc_cck(struct ath_hw *ah,
@@ -168,7 +168,7 @@ static void ar9003_hw_spur_mitigate_mrc_
* is out-of-band and can be ignored.
*/
@ -11,7 +9,7 @@ index 48893f1..2df72cb 100644
spur_fbin_ptr = ar9003_get_spur_chan_ptr(ah,
IS_CHAN_2GHZ(chan));
if (spur_fbin_ptr[0] == 0) /* No spur */
@@ -193,7 +193,7 @@ static void ar9003_hw_spur_mitigate_mrc_cck(struct ath_hw *ah,
@@ -193,7 +193,7 @@ static void ar9003_hw_spur_mitigate_mrc_
for (i = 0; i < max_spur_cnts; i++) {
negative = 0;
@ -20,4 +18,3 @@ index 48893f1..2df72cb 100644
cur_bb_spur = FBIN2FREQ(spur_fbin_ptr[i],
IS_CHAN_2GHZ(chan)) - synth_freq;
else

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_phy.c b/drivers/net/wireless/ath/ath9k/ar9003_phy.c
index 2df72cb..1194eeb 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_phy.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.c
@@ -104,7 +104,7 @@ static int ar9003_hw_set_channel(struct ath_hw *ah, struct ath9k_channel *chan)
@@ -104,7 +104,7 @@ static int ar9003_hw_set_channel(struct
u32 chan_frac;
channelSel = (freq * 2) / 75;
@ -11,4 +9,3 @@ index 2df72cb..1194eeb 100644
channelSel = (channelSel << 17) | chan_frac;
} else {
channelSel = CHANSEL_5G(freq);

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_phy.c b/drivers/net/wireless/ath/ath9k/ar9003_phy.c
index 1194eeb..a0ca1eb 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_phy.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.c
@@ -75,7 +75,19 @@ static int ar9003_hw_set_channel(struct ath_hw *ah, struct ath9k_channel *chan)
@@ -75,7 +75,19 @@ static int ar9003_hw_set_channel(struct
freq = centers.synth_center;
if (freq < 4800) { /* 2 GHz, fractional mode */

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 6315e7d..a35af90 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -1592,7 +1592,7 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
@@ -1602,7 +1602,7 @@ int ath9k_hw_reset(struct ath_hw *ah, st
REG_WRITE(ah, AR_CFG, AR_CFG_SWTD | AR_CFG_SWRD);
}
#ifdef __BIG_ENDIAN
@ -11,4 +9,3 @@ index 6315e7d..a35af90 100644
REG_RMW(ah, AR_CFG, AR_CFG_SWRB | AR_CFG_SWTB, 0);
else
REG_WRITE(ah, AR_CFG, AR_CFG_SWTD | AR_CFG_SWRD);

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
index 729534c..6021186 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
@@ -3795,7 +3795,7 @@ static void ath9k_hw_ar9300_set_board_values(struct ath_hw *ah,
@@ -3795,7 +3795,7 @@ static void ath9k_hw_ar9300_set_board_va
ar9003_hw_ant_ctrl_apply(ah, IS_CHAN_2GHZ(chan));
ar9003_hw_drive_strength_apply(ah);
ar9003_hw_atten_apply(ah, chan);

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
index 6021186..dd09cae 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
@@ -3797,7 +3797,7 @@ static void ath9k_hw_ar9300_set_board_values(struct ath_hw *ah,
@@ -3797,7 +3797,7 @@ static void ath9k_hw_ar9300_set_board_va
ar9003_hw_atten_apply(ah, chan);
if (!AR_SREV_9330(ah) && !AR_SREV_9340(ah))
ar9003_hw_internal_regulator_apply(ah);

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
index dd09cae..d7741d2 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
@@ -3324,6 +3324,8 @@ static int ar9300_eeprom_restore_internal(struct ath_hw *ah,
@@ -3324,6 +3324,8 @@ static int ar9300_eeprom_restore_interna
read = ar9300_read_eeprom;
if (AR_SREV_9485(ah))
cptr = AR9300_BASE_ADDR_4K;

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
index d7741d2..b3351f6 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
@@ -3444,7 +3444,7 @@ static void ar9003_hw_xpa_bias_level_apply(struct ath_hw *ah, bool is2ghz)
@@ -3444,7 +3444,7 @@ static void ar9003_hw_xpa_bias_level_app
{
int bias = ar9003_hw_xpa_bias_level_get(ah, is2ghz);
@ -11,4 +9,3 @@ index d7741d2..b3351f6 100644
REG_RMW_FIELD(ah, AR_CH0_TOP2, AR_CH0_TOP2_XPABIASLVL, bias);
else {
REG_RMW_FIELD(ah, AR_CH0_TOP, AR_CH0_TOP_XPABIASLVL, bias);

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_phy.c b/drivers/net/wireless/ath/ath9k/ar9003_phy.c
index a0ca1eb..eb18b63 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_phy.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.c
@@ -1089,7 +1089,10 @@ static void ar9003_hw_set_nf_limits(struct ath_hw *ah)
@@ -1089,7 +1089,10 @@ static void ar9003_hw_set_nf_limits(stru
{
ah->nf_2g.max = AR_PHY_CCA_MAX_GOOD_VAL_9300_2GHZ;
ah->nf_2g.min = AR_PHY_CCA_MIN_GOOD_VAL_9300_2GHZ;
@ -14,8 +12,6 @@ index a0ca1eb..eb18b63 100644
ah->nf_5g.max = AR_PHY_CCA_MAX_GOOD_VAL_9300_5GHZ;
ah->nf_5g.min = AR_PHY_CCA_MIN_GOOD_VAL_9300_5GHZ;
ah->nf_5g.nominal = AR_PHY_CCA_NOM_VAL_9300_5GHZ;
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_phy.h b/drivers/net/wireless/ath/ath9k/ar9003_phy.h
index 443090d..d259278 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_phy.h
+++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.h
@@ -332,6 +332,8 @@
@ -27,4 +23,3 @@ index 443090d..d259278 100644
/*
* AGC Field Definitions
*/

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index a35af90..323b6ab 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -2072,7 +2072,7 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah)
@@ -2082,7 +2082,7 @@ int ath9k_hw_fill_cap_info(struct ath_hw
}
@ -11,4 +9,3 @@ index a35af90..323b6ab 100644
ant_div_ctl1 = ah->eep_ops->get_eeprom(ah, EEP_ANT_DIV_CTL1);
/*
* enable the diversity-combining algorithm only when

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
index c2defa2..5ffabb9 100644
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -245,7 +245,7 @@ static void setup_ht_cap(struct ath_softc *sc,
@@ -245,7 +245,7 @@ static void setup_ht_cap(struct ath_soft
ht_info->ampdu_factor = IEEE80211_HT_MAX_AMPDU_64K;
ht_info->ampdu_density = IEEE80211_HT_MPDU_DENSITY_8;

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
index 07e35e5..d0af2f2 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -39,6 +39,7 @@ static inline bool ath_ant_div_comb_alt_check(u8 div_group, int alt_ratio,
@@ -39,6 +39,7 @@ static inline bool ath_ant_div_comb_alt_
result = true;
break;
case 1:

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_phy.c b/drivers/net/wireless/ath/ath9k/ar9003_phy.c
index eb18b63..b9f0b27 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_phy.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.c
@@ -1214,8 +1214,14 @@ static void ar9003_hw_antdiv_comb_conf_get(struct ath_hw *ah,
@@ -1214,8 +1214,14 @@ static void ar9003_hw_antdiv_comb_conf_g
AR_PHY_9485_ANT_DIV_ALT_LNACONF_S;
antconf->fast_div_bias = (regval & AR_PHY_9485_ANT_FAST_DIV_BIAS) >>
AR_PHY_9485_ANT_FAST_DIV_BIAS_S;

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
index d0af2f2..99f55b3 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -1076,39 +1076,39 @@ static void ath_lnaconf_alt_good_scan(struct ath_ant_comb *antcomb,
@@ -1078,39 +1078,39 @@ static void ath_lnaconf_alt_good_scan(st
antcomb->rssi_lna1 = main_rssi_avg;
switch ((ant_conf.main_lna_conf << 4) | ant_conf.alt_lna_conf) {
@ -48,7 +46,7 @@ index d0af2f2..99f55b3 100644
antcomb->main_conf = ATH_ANT_DIV_COMB_LNA1_PLUS_LNA2;
antcomb->first_quick_scan_conf =
ATH_ANT_DIV_COMB_LNA1_MINUS_LNA2;
@@ -1325,40 +1325,40 @@ static void ath_ant_div_conf_fast_divbias(struct ath_hw_antcomb_conf *ant_conf,
@@ -1327,40 +1327,40 @@ static void ath_ant_div_conf_fast_divbia
/* Adjust the fast_div_bias based on main and alt lna conf */
switch ((ant_conf->main_lna_conf << 4) |
ant_conf->alt_lna_conf) {
@ -101,7 +99,7 @@ index d0af2f2..99f55b3 100644
ant_conf->fast_div_bias = 0x3d;
break;
default:
@@ -1368,22 +1368,22 @@ static void ath_ant_div_conf_fast_divbias(struct ath_hw_antcomb_conf *ant_conf,
@@ -1370,22 +1370,22 @@ static void ath_ant_div_conf_fast_divbia
/* Adjust the fast_div_bias based on main and alt_lna_conf */
switch ((ant_conf->main_lna_conf << 4) |
ant_conf->alt_lna_conf) {
@ -128,7 +126,7 @@ index d0af2f2..99f55b3 100644
if (!(antcomb->scan) &&
(alt_ratio > ATH_ANT_DIV_COMB_ALT_ANT_RATIO))
ant_conf->fast_div_bias = 0x1;
@@ -1392,12 +1392,12 @@ static void ath_ant_div_conf_fast_divbias(struct ath_hw_antcomb_conf *ant_conf,
@@ -1394,12 +1394,12 @@ static void ath_ant_div_conf_fast_divbia
ant_conf->main_gaintb = 0;
ant_conf->alt_gaintb = 0;
break;
@ -143,7 +141,7 @@ index d0af2f2..99f55b3 100644
if (!(antcomb->scan) &&
(alt_ratio > ATH_ANT_DIV_COMB_ALT_ANT_RATIO))
ant_conf->fast_div_bias = 0x1;
@@ -1406,7 +1406,7 @@ static void ath_ant_div_conf_fast_divbias(struct ath_hw_antcomb_conf *ant_conf,
@@ -1408,7 +1408,7 @@ static void ath_ant_div_conf_fast_divbia
ant_conf->main_gaintb = 0;
ant_conf->alt_gaintb = 0;
break;
@ -152,7 +150,7 @@ index d0af2f2..99f55b3 100644
if (!(antcomb->scan) &&
(alt_ratio > ATH_ANT_DIV_COMB_ALT_ANT_RATIO))
ant_conf->fast_div_bias = 0x1;
@@ -1415,12 +1415,12 @@ static void ath_ant_div_conf_fast_divbias(struct ath_hw_antcomb_conf *ant_conf,
@@ -1417,12 +1417,12 @@ static void ath_ant_div_conf_fast_divbia
ant_conf->main_gaintb = 0;
ant_conf->alt_gaintb = 0;
break;
@ -167,7 +165,7 @@ index d0af2f2..99f55b3 100644
if (!(antcomb->scan) &&
(alt_ratio > ATH_ANT_DIV_COMB_ALT_ANT_RATIO))
ant_conf->fast_div_bias = 0x1;
@@ -1429,17 +1429,17 @@ static void ath_ant_div_conf_fast_divbias(struct ath_hw_antcomb_conf *ant_conf,
@@ -1431,17 +1431,17 @@ static void ath_ant_div_conf_fast_divbia
ant_conf->main_gaintb = 0;
ant_conf->alt_gaintb = 0;
break;
@ -188,7 +186,7 @@ index d0af2f2..99f55b3 100644
ant_conf->fast_div_bias = 0x1;
ant_conf->main_gaintb = 0;
ant_conf->alt_gaintb = 0;
@@ -1447,9 +1447,7 @@ static void ath_ant_div_conf_fast_divbias(struct ath_hw_antcomb_conf *ant_conf,
@@ -1449,9 +1449,7 @@ static void ath_ant_div_conf_fast_divbia
default:
break;
}
@ -198,4 +196,3 @@ index d0af2f2..99f55b3 100644
}
/* Antenna diversity and combining */

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
index 99f55b3..80bb04f 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -1364,6 +1364,89 @@ static void ath_ant_div_conf_fast_divbias(struct ath_hw_antcomb_conf *ant_conf,
@@ -1366,6 +1366,89 @@ static void ath_ant_div_conf_fast_divbia
default:
break;
}

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_phy.c b/drivers/net/wireless/ath/ath9k/ar9003_phy.c
index b9f0b27..d9117bd 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_phy.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.c
@@ -1215,7 +1215,10 @@ static void ar9003_hw_antdiv_comb_conf_get(struct ath_hw *ah,
@@ -1215,7 +1215,10 @@ static void ar9003_hw_antdiv_comb_conf_g
antconf->fast_div_bias = (regval & AR_PHY_9485_ANT_FAST_DIV_BIAS) >>
AR_PHY_9485_ANT_FAST_DIV_BIAS_S;
@ -14,4 +12,3 @@ index b9f0b27..d9117bd 100644
antconf->lna1_lna2_delta = -9;
antconf->div_group = 2;
} else {

View File

@ -1,5 +1,3 @@
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_phy.h b/drivers/net/wireless/ath/ath9k/ar9003_phy.h
index d259278..9eb3aa2 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_phy.h
+++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.h
@@ -625,11 +625,11 @@

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
index b3351f6..ffdfa6d 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
@@ -3525,7 +3525,7 @@ static void ar9003_hw_ant_ctrl_apply(struct ath_hw *ah, bool is2ghz)
@@ -3525,7 +3525,7 @@ static void ar9003_hw_ant_ctrl_apply(str
}
}

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
index ffdfa6d..963dc9b 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
@@ -3712,7 +3712,7 @@ static void ar9003_hw_internal_regulator_apply(struct ath_hw *ah)
@@ -3712,7 +3712,7 @@ static void ar9003_hw_internal_regulator
ath9k_hw_ar9300_get_eeprom(ah, EEP_INTERNAL_REGULATOR);
if (internal_regulator) {
@ -11,7 +9,7 @@ index ffdfa6d..963dc9b 100644
int reg_pmu_set;
reg_pmu_set = REG_READ(ah, AR_PHY_PMU2) & ~AR_PHY_PMU2_PGM;
@@ -3720,9 +3720,24 @@ static void ar9003_hw_internal_regulator_apply(struct ath_hw *ah)
@@ -3720,9 +3720,24 @@ static void ar9003_hw_internal_regulator
if (!is_pmu_set(ah, AR_PHY_PMU2, reg_pmu_set))
return;
@ -39,7 +37,7 @@ index ffdfa6d..963dc9b 100644
REG_WRITE(ah, AR_PHY_PMU1, reg_pmu_set);
if (!is_pmu_set(ah, AR_PHY_PMU1, reg_pmu_set))
@@ -3753,7 +3768,7 @@ static void ar9003_hw_internal_regulator_apply(struct ath_hw *ah)
@@ -3753,7 +3768,7 @@ static void ar9003_hw_internal_regulator
AR_RTC_REG_CONTROL1_SWREG_PROGRAM);
}
} else {

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 323b6ab..5d373fc 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -1161,6 +1161,41 @@ static bool ath9k_hw_set_reset(struct ath_hw *ah, int type)
@@ -1170,6 +1170,41 @@ static bool ath9k_hw_set_reset(struct at
rst_flags |= AR_RTC_RC_MAC_COLD;
}
@ -44,8 +42,6 @@ index 323b6ab..5d373fc 100644
REG_WRITE(ah, AR_RTC_RC, rst_flags);
REGWRITE_BUFFER_FLUSH(ah);
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h
index 8d9ac49..f29a806 100644
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -864,6 +864,7 @@ struct ath_hw {
@ -56,11 +52,9 @@ index 8d9ac49..f29a806 100644
};
struct ath_bus_ops {
diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
index 5ffabb9..f517649 100644
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -576,6 +576,7 @@ static int ath9k_init_softc(u16 devid, struct ath_softc *sc, u16 subsysid,
@@ -576,6 +576,7 @@ static int ath9k_init_softc(u16 devid, s
sc->sc_ah->led_pin = pdata->led_pin;
ah->is_clk_25mhz = pdata->is_clk_25mhz;
ah->get_mac_revision = pdata->get_mac_revision;
@ -68,8 +62,6 @@ index 5ffabb9..f517649 100644
}
common = ath9k_hw_common(ah);
diff --git a/include/linux/ath9k_platform.h b/include/linux/ath9k_platform.h
index c207607..6e3f54f 100644
--- a/include/linux/ath9k_platform.h
+++ b/include/linux/ath9k_platform.h
@@ -31,6 +31,7 @@ struct ath9k_platform_data {

View File

@ -1,8 +1,6 @@
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 5d373fc..8cbcf12 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -644,6 +644,7 @@ int ath9k_hw_init(struct ath_hw *ah)
@@ -653,6 +653,7 @@ int ath9k_hw_init(struct ath_hw *ah)
case AR2427_DEVID_PCIE:
case AR9300_DEVID_PCIE:
case AR9300_DEVID_AR9485_PCIE:
@ -10,4 +8,3 @@ index 5d373fc..8cbcf12 100644
case AR9300_DEVID_AR9340:
break;
default: