CONFIG_ATH6KL= \
CONFIG_MAC80211_RC_MINSTREL_HT=y \
MADWIFI= \
- CONFIG_B44= \
- CONFIG_ATL1= \
- CONFIG_ATL2= \
- CONFIG_ATL1E= \
- CONFIG_ATL1C= \
CONFIG_BRCMUTIL=$(if $(CONFIG_PACKAGE_kmod-brcmutil),m) \
CONFIG_BRCMSMAC=$(if $(CONFIG_PACKAGE_kmod-brcmsmac),m) \
CONFIG_BRCMFMAC=$(if $(CONFIG_PACKAGE_kmod-brcmfmac),m) \
MAKE_OPTS += CONFIG_COMPAT_KFIFO=
endif
+DISABLE_CONFIG = \
+ COMPAT_BLUETOOTH.* \
+ COMPAT_CORDIC \
+ COMPAT_CRC8 \
+ COMPAT_MDIO \
+ COMPAT_NETWORK_MODULES \
+ COMPAT_NET_USB_MODULES \
+ COMPAT_VAR_MODULES \
+ COMPAT_RFKILL \
+ COMPAT_RFKILL_.* \
+ COMPAT_STAGING \
+ \
+ B43_PCMCIA \
+ B43_SDIO \
+ BCMA.* \
+ COMPAT_ATH9K_RATE_CONTROL \
+ HID_GENERIC \
+ MAC80211_RC_PID \
+ PCMCIA \
+ RFKILL_BACKPORT.* \
+ SSB \
+ SSB_SDIOHOST \
+ \
+ ATH5K_PCI \
+ ATH9K_BTCOEX_SUPPORT \
+ B43_PHY_N \
+ B43_PHY_HT \
+ B43_BCMA.* \
+ MAC80211_MESH \
+ RT2X00_LIB_PCI \
+ RT2X00_LIB_USB
+
+
define Build/Prepare
rm -rf $(PKG_BUILD_DIR)
mkdir -p $(PKG_BUILD_DIR)
$(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
$(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
$(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(PKG_LINUX_FIRMWARE_SOURCE)
- rm -rf $(PKG_BUILD_DIR)/include/linux/ssb
- rm -rf $(PKG_BUILD_DIR)/include/linux/bcma
- rm -rf $(PKG_BUILD_DIR)/include/net/bluetooth/
- rm -f $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h
- rm -f $(PKG_BUILD_DIR)/include/linux/wl12xx.h
- rm -f $(PKG_BUILD_DIR)/include/linux/spi/libertas_spi.h
- rm -f $(PKG_BUILD_DIR)/include/net/ieee80211.h
+ rm -rf \
+ $(PKG_BUILD_DIR)/include/linux/ssb \
+ $(PKG_BUILD_DIR)/include/linux/bcma \
+ $(PKG_BUILD_DIR)/include/net/bluetooth
+
+ rm -f \
+ $(PKG_BUILD_DIR)/include/linux/cordic.h \
+ $(PKG_BUILD_DIR)/include/linux/crc8.h \
+ $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h \
+ $(PKG_BUILD_DIR)/include/linux/wl12xx.h \
+ $(PKG_BUILD_DIR)/include/linux/spi/libertas_spi.h \
+ $(PKG_BUILD_DIR)/include/net/ieee80211.h
+
echo 'compat-wireless-$(PKG_VERSION)-$(PKG_RELEASE)-$(REVISION)' > $(PKG_BUILD_DIR)/compat_version
$(CP) ./files/regdb.txt $(PKG_BUILD_DIR)/net/wireless/db.txt
+
+ sed -i $(foreach config,$(DISABLE_CONFIG),-e 's,^\([ ]*export *CONFIG_$(config)=\),# \1,') $(PKG_BUILD_DIR)/config.mk
endef
ifneq ($(CONFIG_PACKAGE_kmod-cfg80211)$(CONFIG_PACKAGE_kmod-lib80211),)
+++ /dev/null
---- a/Makefile
-+++ b/Makefile
-@@ -45,9 +45,6 @@ obj-$(CONFIG_COMPAT_WIRELESS_MODULES) +=
-
- obj-$(CONFIG_COMPAT_NET_USB_MODULES) += drivers/net/usb/
-
--obj-$(CONFIG_COMPAT_NETWORK_MODULES) += drivers/net/ethernet/atheros/
--obj-$(CONFIG_COMPAT_NETWORK_MODULES) += drivers/net/ethernet/broadcom/
--
- obj-$(CONFIG_COMPAT_VAR_MODULES) += drivers/ssb/
- obj-$(CONFIG_COMPAT_VAR_MODULES) += drivers/bcma/
- obj-$(CONFIG_COMPAT_VAR_MODULES) += drivers/misc/eeprom/
+++ /dev/null
---- a/config.mk
-+++ b/config.mk
-@@ -377,8 +377,8 @@ export CONFIG_B43_BCMA_EXTRA=y
-
- export CONFIG_P54_PCI=m
-
--export CONFIG_B44=m
--export CONFIG_B44_PCI=y
-+# export CONFIG_B44=m
-+# export CONFIG_B44_PCI=y
-
- export CONFIG_RTL8180=m
-
--- /dev/null
+--- a/include/linux/rfkill.h
++++ b/include/linux/rfkill.h
+@@ -3,6 +3,10 @@
+
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31))
+
++#undef CONFIG_RFKILL
++#undef CONFIG_RFKILL_LEDS
++#undef CONFIG_RFKILL_MODULE
++
+ #include_next <linux/rfkill.h>
+
+ #else
+++ /dev/null
---- a/config.mk
-+++ b/config.mk
-@@ -78,7 +78,7 @@ endif # build check
- endif # kernel Makefile check
-
- # These both are needed by 802.11 and bluetooth so enable
-- export CONFIG_COMPAT_RFKILL=y
-+# export CONFIG_COMPAT_RFKILL=y
-
- 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")
-@@ -690,10 +690,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_2_6_31
--export CONFIG_RFKILL_BACKPORT=m
-+#export CONFIG_RFKILL_BACKPORT=m
- ifdef CONFIG_LEDS_TRIGGERS
--export CONFIG_RFKILL_BACKPORT_LEDS=y
-+#export CONFIG_RFKILL_BACKPORT_LEDS=y
- endif #CONFIG_LEDS_TRIGGERS
--export CONFIG_RFKILL_BACKPORT_INPUT=y
-+#export CONFIG_RFKILL_BACKPORT_INPUT=y
- endif #CONFIG_COMPAT_KERNEL_2_6_31
-
---- a/include/linux/rfkill.h
-+++ b/include/linux/rfkill.h
-@@ -3,6 +3,10 @@
-
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31))
-
-+#undef CONFIG_RFKILL
-+#undef CONFIG_RFKILL_LEDS
-+#undef CONFIG_RFKILL_MODULE
-+
- #include_next <linux/rfkill.h>
-
- #else
--- /dev/null
+--- a/config.mk
++++ b/config.mk
+@@ -353,7 +353,8 @@ export CONFIG_IPW2200_QOS=y
+ # % echo 1 > /sys/bus/pci/drivers/ipw2200/*/rtap_iface
+ endif #CONFIG_WIRELESS_EXT
+
+-ifdef CONFIG_SSB
++# disabled
++ifdef __CONFIG_SSB
+ # Sonics Silicon Backplane
+ export CONFIG_SSB_SPROM=y
+
+@@ -366,7 +367,7 @@ endif #CONFIG_PCMCIA
+ # export CONFIG_SSB_DEBUG=y
+ export CONFIG_SSB_DRIVER_PCICORE=y
+ export CONFIG_B43_SSB=y
+-endif #CONFIG_SSB
++endif #__CONFIG_SSB
+
+ export CONFIG_BCMA=m
+ export CONFIG_BCMA_BLOCKIO=y
+
+++ /dev/null
---- a/config.mk
-+++ b/config.mk
-@@ -100,9 +100,9 @@ ifndef CONFIG_COMPAT_KERNEL_2_6_27
- ifeq ($(CONFIG_BT),y)
- # we'll ignore compiling bluetooth
- else
-- export CONFIG_COMPAT_BLUETOOTH=y
-- export CONFIG_COMPAT_BLUETOOTH_MODULES=m
-- export CONFIG_HID_GENERIC=m
-+# export CONFIG_COMPAT_BLUETOOTH=y
-+# export CONFIG_COMPAT_BLUETOOTH_MODULES=m
-+# export CONFIG_HID_GENERIC=m
- endif
- endif #CONFIG_COMPAT_KERNEL_2_6_27
-
--- /dev/null
+--- a/compat/scripts/gen-compat-config.sh
++++ b/compat/scripts/gen-compat-config.sh
+@@ -66,16 +66,3 @@ if [[ ${CONFIG_COMPAT_KERNEL_2_6_36} = "
+ echo "export CONFIG_COMPAT_KFIFO=y"
+ fi
+ fi
+-
+-if [[ ${CONFIG_COMPAT_KERNEL_3_5} = "y" ]]; then
+- # We don't have 2.6.24 backport support yet for Codel / FQ CoDel
+- # For those who want to try this is what is required that I can tell
+- # so far:
+- # * struct Qdisc_ops
+- # - init and change callback ops use a different argument dataype
+- # - you need to parse data received from userspace differently
+- if [[ ${CONFIG_COMPAT_KERNEL_2_6_25} != "y" ]]; then
+- echo "export CONFIG_COMPAT_NET_SCH_CODEL=m"
+- echo "export CONFIG_COMPAT_NET_SCH_FQ_CODEL=m"
+- fi
+-fi
+++ /dev/null
---- a/Makefile
-+++ b/Makefile
-@@ -45,7 +45,6 @@ obj-$(CONFIG_COMPAT_WIRELESS_MODULES) +=
-
- obj-$(CONFIG_COMPAT_NET_USB_MODULES) += drivers/net/usb/
-
--obj-$(CONFIG_COMPAT_VAR_MODULES) += drivers/ssb/
- obj-$(CONFIG_COMPAT_VAR_MODULES) += drivers/bcma/
- obj-$(CONFIG_COMPAT_VAR_MODULES) += drivers/misc/eeprom/
-
---- a/config.mk
-+++ b/config.mk
-@@ -3,7 +3,7 @@ ifeq ($(wildcard $(KLIB_BUILD)/.config),
- export CONFIG_PCI=y
- export CONFIG_USB=y
- export CONFIG_PCMCIA=y
-- export CONFIG_SSB=m
-+# export CONFIG_SSB=m
- else
- include $(KLIB_BUILD)/.config
- endif
-@@ -353,7 +353,8 @@ export CONFIG_IPW2200_QOS=y
- # % echo 1 > /sys/bus/pci/drivers/ipw2200/*/rtap_iface
- endif #CONFIG_WIRELESS_EXT
-
--ifdef CONFIG_SSB
-+# disabled
-+ifdef __CONFIG_SSB
- # Sonics Silicon Backplane
- export CONFIG_SSB_SPROM=y
-
-@@ -366,7 +367,7 @@ endif #CONFIG_PCMCIA
- # export CONFIG_SSB_DEBUG=y
- export CONFIG_SSB_DRIVER_PCICORE=y
- export CONFIG_B43_SSB=y
--endif #CONFIG_SSB
-+endif #__CONFIG_SSB
-
- export CONFIG_BCMA=m
- export CONFIG_BCMA_BLOCKIO=y
-@@ -580,7 +581,7 @@ endif #CONFIG_SPI_MASTER end of SPI driv
-
- ifdef CONFIG_MMC
-
--export CONFIG_SSB_SDIOHOST=y
-+# export CONFIG_SSB_SDIOHOST=y
- export CONFIG_B43_SDIO=y
-
- ifdef CONFIG_CRC7
+++ /dev/null
---- a/Makefile
-+++ b/Makefile
-@@ -45,7 +45,6 @@ obj-$(CONFIG_COMPAT_WIRELESS_MODULES) +=
-
- obj-$(CONFIG_COMPAT_NET_USB_MODULES) += drivers/net/usb/
-
--obj-$(CONFIG_COMPAT_VAR_MODULES) += drivers/bcma/
- obj-$(CONFIG_COMPAT_VAR_MODULES) += drivers/misc/eeprom/
-
- ifeq ($(CONFIG_STAGING_EXCLUDE_BUILD),)
---- a/config.mk
-+++ b/config.mk
-@@ -369,12 +369,12 @@ export CONFIG_SSB_DRIVER_PCICORE=y
- export CONFIG_B43_SSB=y
- endif #__CONFIG_SSB
-
--export CONFIG_BCMA=m
--export CONFIG_BCMA_BLOCKIO=y
--export CONFIG_BCMA_HOST_PCI=y
-+# export CONFIG_BCMA=m
-+# export CONFIG_BCMA_BLOCKIO=y
-+# export CONFIG_BCMA_HOST_PCI=y
- # export CONFIG_BCMA_DEBUG=y
--export CONFIG_B43_BCMA=y
--export CONFIG_B43_BCMA_EXTRA=y
-+# export CONFIG_B43_BCMA=y
-+# export CONFIG_B43_BCMA_EXTRA=y
-
- export CONFIG_P54_PCI=m
-
+++ /dev/null
---- a/config.mk
-+++ b/config.mk
-@@ -241,7 +241,7 @@ $(warning "WARNING: CONFIG_CFG80211_WEXT
- endif #CONFIG_WIRELESS_EXT
-
- ifdef CONFIG_STAGING
--export CONFIG_COMPAT_STAGING=m
-+# export CONFIG_COMPAT_STAGING=m
- endif #CONFIG_STAGING
-
- # mac80211 test driver
-@@ -406,12 +406,12 @@ endif #CONFIG_CRC_ITU_T
- export CONFIG_MWL8K=m
-
- # Ethernet drivers go here
--export CONFIG_ATL1=m
--export CONFIG_ATL2=m
--export CONFIG_ATL1E=m
-+# export CONFIG_ATL1=m
-+# export CONFIG_ATL2=m
-+# export CONFIG_ATL1E=m
- ifndef CONFIG_COMPAT_KERNEL_2_6_28
--export CONFIG_ATL1C=m
--export CONFIG_ALX=m
-+# export CONFIG_ATL1C=m
-+# export CONFIG_ALX=m
- endif #CONFIG_COMPAT_KERNEL_2_6_28
-
- ifdef CONFIG_WIRELESS_EXT
-@@ -472,21 +472,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_2_6_29
--export CONFIG_USB_COMPAT_USBNET=n
--export CONFIG_USB_NET_COMPAT_RNDIS_HOST=n
--export CONFIG_USB_NET_COMPAT_RNDIS_WLAN=n
--export CONFIG_USB_NET_COMPAT_CDCETHER=n
-+# export CONFIG_USB_COMPAT_USBNET=n
-+# export CONFIG_USB_NET_COMPAT_RNDIS_HOST=n
-+# export CONFIG_USB_NET_COMPAT_RNDIS_WLAN=n
-+# export CONFIG_USB_NET_COMPAT_CDCETHER=n
- else #CONFIG_COMPAT_KERNEL_2_6_29
--export CONFIG_USB_COMPAT_USBNET=m
-+# export CONFIG_USB_COMPAT_USBNET=m
- ifdef CONFIG_USB_NET_CDCETHER
--export CONFIG_USB_NET_COMPAT_RNDIS_HOST=m
--export CONFIG_USB_NET_COMPAT_RNDIS_WLAN=m
-+# export CONFIG_USB_NET_COMPAT_RNDIS_HOST=m
-+# export CONFIG_USB_NET_COMPAT_RNDIS_WLAN=m
- endif #CONFIG_USB_NET_CDCETHER
- ifdef CONFIG_USB_NET_CDCETHER_MODULE
--export CONFIG_USB_NET_COMPAT_RNDIS_HOST=m
--export CONFIG_USB_NET_COMPAT_RNDIS_WLAN=m
-+# export CONFIG_USB_NET_COMPAT_RNDIS_HOST=m
-+# export CONFIG_USB_NET_COMPAT_RNDIS_WLAN=m
- endif #CONFIG_USB_NET_CDCETHER
--export CONFIG_USB_NET_COMPAT_CDCETHER=m
-+# export CONFIG_USB_NET_COMPAT_CDCETHER=m
- endif #CONFIG_COMPAT_KERNEL_2_6_29
-
-
+++ /dev/null
---- a/config.mk
-+++ b/config.mk
-@@ -177,7 +177,7 @@ export CONFIG_MAC80211_LEDS=y
- endif #CONFIG_LEDS_TRIGGERS
-
- # enable mesh networking too
--export CONFIG_MAC80211_MESH=y
-+# export CONFIG_MAC80211_MESH=y
-
- export CONFIG_CFG80211=m
- export CONFIG_CFG80211_DEFAULT_PS=y
+++ /dev/null
---- a/config.mk
-+++ b/config.mk
-@@ -54,7 +54,7 @@ endif
- ifeq ($(KERNEL_VERSION),2)
- ifeq ($(shell test $(KERNEL_VERSION) -eq 2 -a $(KERNEL_26SUBLEVEL) -ge 27 -a $(KERNEL_26SUBLEVEL) -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.")
-+# $(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
- endif
- endif
--- /dev/null
+--- a/include/linux/compat-3.0.h
++++ b/include/linux/compat-3.0.h
+@@ -36,6 +36,8 @@ static inline struct page *shmem_read_ma
+ #endif
+
+
++#include <linux/mod_devicetable.h>
++
+ /*
+ * since commit 1c5cae815d19ffe02bdfda1260949ef2b1806171
+ * "net: call dev_alloc_name from register_netdevice" dev_alloc_name is
+++ /dev/null
---- a/config.mk
-+++ b/config.mk
-@@ -2,7 +2,7 @@ ifeq ($(wildcard $(KLIB_BUILD)/.config),
- # These will be ignored by compat autoconf
- export CONFIG_PCI=y
- export CONFIG_USB=y
-- export CONFIG_PCMCIA=y
-+# export CONFIG_PCMCIA=y
- # export CONFIG_SSB=m
- else
- include $(KLIB_BUILD)/.config
-@@ -304,7 +304,7 @@ export CONFIG_B43=m
- export CONFIG_B43_HWRNG=y
- export CONFIG_B43_PCI_AUTOSELECT=y
- ifdef CONFIG_PCMCIA
--export CONFIG_B43_PCMCIA=y
-+# export CONFIG_B43_PCMCIA=y
- endif #CONFIG_PCMCIA
- ifdef CONFIG_MAC80211_LEDS
- export CONFIG_B43_LEDS=y
+++ /dev/null
---- a/config.mk
-+++ b/config.mk
-@@ -582,7 +582,7 @@ endif #CONFIG_SPI_MASTER end of SPI driv
- ifdef CONFIG_MMC
-
- # export CONFIG_SSB_SDIOHOST=y
--export CONFIG_B43_SDIO=y
-+# export CONFIG_B43_SDIO=y
-
- ifdef CONFIG_CRC7
- ifdef CONFIG_WL12XX_PLATFORM_DATA
+++ /dev/null
---- a/config.mk
-+++ b/config.mk
-@@ -310,8 +310,8 @@ ifdef CONFIG_MAC80211_LEDS
- export CONFIG_B43_LEDS=y
- endif #CONFIG_MAC80211_LEDS
- export CONFIG_B43_PHY_LP=y
--export CONFIG_B43_PHY_N=y
--export CONFIG_B43_PHY_HT=y
-+# export CONFIG_B43_PHY_N=y
-+# export CONFIG_B43_PHY_HT=y
- # export CONFIG_B43_PHY_LCN=y
- # export CONFIG_B43_DEBUG=y
-
+++ /dev/null
---- a/config.mk
-+++ b/config.mk
-@@ -385,7 +385,7 @@ export CONFIG_RTL8180=m
-
- export CONFIG_ADM8211=m
-
--export CONFIG_RT2X00_LIB_PCI=m
-+# export CONFIG_RT2X00_LIB_PCI=m
- export CONFIG_RT2400PCI=m
- export CONFIG_RT2500PCI=m
- ifdef CONFIG_CRC_CCITT
-@@ -528,7 +528,7 @@ export CONFIG_RT2800USB_RT35XX=y
- export CONFIG_RT2800USB_RT53XX=y
- export CONFIG_RT2800USB_UNKNOWN=y
- endif #CONFIG_CRC_CCITT
--export CONFIG_RT2X00_LIB_USB=m
-+# export CONFIG_RT2X00_LIB_USB=m
- NEED_RT2X00=y
- # RT73USB requires firmware
- ifdef CONFIG_CRC_ITU_T
+++ /dev/null
---- a/config.mk
-+++ b/config.mk
-@@ -169,7 +169,7 @@ export CONFIG_MAC80211_RC_DEFAULT_MINSTR
- # This is the one used by our compat-drivers net/mac80211/rate.c
- # in case you have and old kernel which is overriding this to pid.
- export CONFIG_COMPAT_MAC80211_RC_DEFAULT=minstrel_ht
--export CONFIG_MAC80211_RC_PID=y
-+# export CONFIG_MAC80211_RC_PID=y
- export CONFIG_MAC80211_RC_MINSTREL=y
- export CONFIG_MAC80211_RC_MINSTREL_HT=y
- ifdef CONFIG_LEDS_TRIGGERS
+++ /dev/null
---- a/config.mk
-+++ b/config.mk
-@@ -265,7 +265,7 @@ export 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.
--export CONFIG_COMPAT_ATH9K_RATE_CONTROL=y
-+# export CONFIG_COMPAT_ATH9K_RATE_CONTROL=y
-
- export CONFIG_ATH9K_BTCOEX_SUPPORT=y
-
+++ /dev/null
---- a/drivers/net/wireless/b43/main.c
-+++ b/drivers/net/wireless/b43/main.c
-@@ -341,83 +341,59 @@ static int b43_ratelimit(struct b43_wl *
-
- void b43info(struct b43_wl *wl, const char *fmt, ...)
- {
-- struct va_format vaf;
- va_list args;
-
- if (b43_modparam_verbose < B43_VERBOSITY_INFO)
- return;
- if (!b43_ratelimit(wl))
- return;
--
- va_start(args, fmt);
--
-- vaf.fmt = fmt;
-- vaf.va = &args;
--
-- printk(KERN_INFO "b43-%s: %pV",
-- (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf);
--
-+ printk(KERN_INFO "b43-%s: ",
-+ (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan");
-+ vprintk(fmt, args);
- va_end(args);
- }
-
- void b43err(struct b43_wl *wl, const char *fmt, ...)
- {
-- struct va_format vaf;
- va_list args;
-
- if (b43_modparam_verbose < B43_VERBOSITY_ERROR)
- return;
- if (!b43_ratelimit(wl))
- return;
--
- va_start(args, fmt);
--
-- vaf.fmt = fmt;
-- vaf.va = &args;
--
-- printk(KERN_ERR "b43-%s ERROR: %pV",
-- (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf);
--
-+ printk(KERN_ERR "b43-%s ERROR: ",
-+ (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan");
-+ vprintk(fmt, args);
- va_end(args);
- }
-
- void b43warn(struct b43_wl *wl, const char *fmt, ...)
- {
-- struct va_format vaf;
- va_list args;
-
- if (b43_modparam_verbose < B43_VERBOSITY_WARN)
- return;
- if (!b43_ratelimit(wl))
- return;
--
- va_start(args, fmt);
--
-- vaf.fmt = fmt;
-- vaf.va = &args;
--
-- printk(KERN_WARNING "b43-%s warning: %pV",
-- (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf);
--
-+ printk(KERN_WARNING "b43-%s warning: ",
-+ (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan");
-+ vprintk(fmt, args);
- va_end(args);
- }
-
- void b43dbg(struct b43_wl *wl, const char *fmt, ...)
- {
-- struct va_format vaf;
- va_list args;
-
- if (b43_modparam_verbose < B43_VERBOSITY_DEBUG)
- return;
--
- va_start(args, fmt);
--
-- vaf.fmt = fmt;
-- vaf.va = &args;
--
-- printk(KERN_DEBUG "b43-%s debug: %pV",
-- (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf);
--
-+ printk(KERN_DEBUG "b43-%s debug: ",
-+ (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan");
-+ vprintk(fmt, args);
- va_end(args);
- }
-
---- a/drivers/net/wireless/b43legacy/main.c
-+++ b/drivers/net/wireless/b43legacy/main.c
-@@ -179,75 +179,52 @@ static int b43legacy_ratelimit(struct b4
-
- void b43legacyinfo(struct b43legacy_wl *wl, const char *fmt, ...)
- {
-- struct va_format vaf;
- va_list args;
-
- if (!b43legacy_ratelimit(wl))
- return;
--
- va_start(args, fmt);
--
-- vaf.fmt = fmt;
-- vaf.va = &args;
--
-- printk(KERN_INFO "b43legacy-%s: %pV",
-- (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf);
--
-+ printk(KERN_INFO "b43legacy-%s: ",
-+ (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan");
-+ vprintk(fmt, args);
- va_end(args);
- }
-
- void b43legacyerr(struct b43legacy_wl *wl, const char *fmt, ...)
- {
-- struct va_format vaf;
- va_list args;
-
- if (!b43legacy_ratelimit(wl))
- return;
--
- va_start(args, fmt);
--
-- vaf.fmt = fmt;
-- vaf.va = &args;
--
-- printk(KERN_ERR "b43legacy-%s ERROR: %pV",
-- (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf);
--
-+ printk(KERN_ERR "b43legacy-%s ERROR: ",
-+ (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan");
-+ vprintk(fmt, args);
- va_end(args);
- }
-
- void b43legacywarn(struct b43legacy_wl *wl, const char *fmt, ...)
- {
-- struct va_format vaf;
- va_list args;
-
- if (!b43legacy_ratelimit(wl))
- return;
--
- va_start(args, fmt);
--
-- vaf.fmt = fmt;
-- vaf.va = &args;
--
-- printk(KERN_WARNING "b43legacy-%s warning: %pV",
-- (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf);
--
-+ printk(KERN_WARNING "b43legacy-%s warning: ",
-+ (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan");
-+ vprintk(fmt, args);
- va_end(args);
- }
-
- #if B43legacy_DEBUG
- void b43legacydbg(struct b43legacy_wl *wl, const char *fmt, ...)
- {
-- struct va_format vaf;
- va_list args;
-
- va_start(args, fmt);
--
-- vaf.fmt = fmt;
-- vaf.va = &args;
--
-- printk(KERN_DEBUG "b43legacy-%s debug: %pV",
-- (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf);
--
-+ printk(KERN_DEBUG "b43legacy-%s debug: ",
-+ (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan");
-+ vprintk(fmt, args);
- va_end(args);
- }
- #endif /* DEBUG */
+++ /dev/null
---- a/config.mk
-+++ b/config.mk
-@@ -282,7 +282,7 @@ endif #CONFIG_COMPAT_KERNEL_2_6_27
- # PCI Drivers
- ifdef CONFIG_PCI
-
--export CONFIG_ATH5K_PCI=y
-+# export CONFIG_ATH5K_PCI=y
- export CONFIG_ATH9K_PCI=y
-
- export CONFIG_IWLWIFI=m
--- /dev/null
+--- a/compat/compat-2.6.39.c
++++ b/compat/compat-2.6.39.c
+@@ -12,6 +12,7 @@
+ #include <linux/tty.h>
+ #include <linux/sched.h>
+
++#ifdef CONFIG_COMPAT_BLUETOOTH
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27))
+ /*
+ * Termios Helper Methods
+@@ -111,4 +112,4 @@ int tty_set_termios(struct tty_struct *t
+ }
+ EXPORT_SYMBOL_GPL(tty_set_termios);
+ #endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)) */
+-
++#endif
+++ /dev/null
---- a/include/linux/compat-3.0.h
-+++ b/include/linux/compat-3.0.h
-@@ -36,6 +36,8 @@ static inline struct page *shmem_read_ma
- #endif
-
-
-+#include <linux/mod_devicetable.h>
-+
- /*
- * since commit 1c5cae815d19ffe02bdfda1260949ef2b1806171
- * "net: call dev_alloc_name from register_netdevice" dev_alloc_name is
+++ /dev/null
---- a/compat/Makefile
-+++ b/compat/Makefile
-@@ -47,8 +47,6 @@ compat-$(CONFIG_COMPAT_KERNEL_3_3) += \
- compat-$(CONFIG_COMPAT_KERNEL_3_4) += compat-3.4.o
- compat-$(CONFIG_COMPAT_KERNEL_3_7) += compat-3.7.o
-
--compat-$(CONFIG_COMPAT_CORDIC) += cordic.o
--compat-$(CONFIG_COMPAT_CRC8) += crc8.o
-
- ifndef CONFIG_64BIT
- ifndef CONFIG_GENERIC_ATOMIC64
---- a/include/linux/cordic.h
-+++ /dev/null
-@@ -1,48 +0,0 @@
--/*
-- * Copyright (c) 2011 Broadcom Corporation
-- *
-- * Permission to use, copy, modify, and/or distribute this software for any
-- * purpose with or without fee is hereby granted, provided that the above
-- * copyright notice and this permission notice appear in all copies.
-- *
-- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-- * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
-- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
-- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-- */
--#ifndef __CORDIC_H_
--#define __CORDIC_H_
--
--#include <linux/types.h>
--
--/**
-- * struct cordic_iq - i/q coordinate.
-- *
-- * @i: real part of coordinate (in phase).
-- * @q: imaginary part of coordinate (quadrature).
-- */
--struct cordic_iq {
-- s32 i;
-- s32 q;
--};
--
--/**
-- * cordic_calc_iq() - calculates the i/q coordinate for given angle.
-- *
-- * @theta: angle in degrees for which i/q coordinate is to be calculated.
-- * @coord: function output parameter holding the i/q coordinate.
-- *
-- * The function calculates the i/q coordinate for a given angle using
-- * cordic algorithm. The coordinate consists of a real (i) and an
-- * imaginary (q) part. The real part is essentially the cosine of the
-- * angle and the imaginary part is the sine of the angle. The returned
-- * values are scaled by 2^16 for precision. The range for theta is
-- * for -180 degrees to +180 degrees. Passed values outside this range are
-- * converted before doing the actual calculation.
-- */
--struct cordic_iq cordic_calc_iq(s32 theta);
--
--#endif /* __CORDIC_H_ */
---- a/include/linux/crc8.h
-+++ /dev/null
-@@ -1,101 +0,0 @@
--/*
-- * Copyright (c) 2011 Broadcom Corporation
-- *
-- * Permission to use, copy, modify, and/or distribute this software for any
-- * purpose with or without fee is hereby granted, provided that the above
-- * copyright notice and this permission notice appear in all copies.
-- *
-- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-- * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
-- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
-- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-- */
--#ifndef __CRC8_H_
--#define __CRC8_H_
--
--#include <linux/types.h>
--
--/* see usage of this value in crc8() description */
--#define CRC8_INIT_VALUE 0xFF
--
--/*
-- * Return value of crc8() indicating valid message+crc. This is true
-- * if a CRC is inverted before transmission. The CRC computed over the
-- * whole received bitstream is _table[x], where x is the bit pattern
-- * of the modification (almost always 0xff).
-- */
--#define CRC8_GOOD_VALUE(_table) (_table[0xFF])
--
--/* required table size for crc8 algorithm */
--#define CRC8_TABLE_SIZE 256
--
--/* helper macro assuring right table size is used */
--#define DECLARE_CRC8_TABLE(_table) \
-- static u8 _table[CRC8_TABLE_SIZE]
--
--/**
-- * crc8_populate_lsb - fill crc table for given polynomial in regular bit order.
-- *
-- * @table: table to be filled.
-- * @polynomial: polynomial for which table is to be filled.
-- *
-- * This function fills the provided table according the polynomial provided for
-- * regular bit order (lsb first). Polynomials in CRC algorithms are typically
-- * represented as shown below.
-- *
-- * poly = x^8 + x^7 + x^6 + x^4 + x^2 + 1
-- *
-- * For lsb first direction x^7 maps to the lsb. So the polynomial is as below.
-- *
-- * - lsb first: poly = 10101011(1) = 0xAB
-- */
--void crc8_populate_lsb(u8 table[CRC8_TABLE_SIZE], u8 polynomial);
--
--/**
-- * crc8_populate_msb - fill crc table for given polynomial in reverse bit order.
-- *
-- * @table: table to be filled.
-- * @polynomial: polynomial for which table is to be filled.
-- *
-- * This function fills the provided table according the polynomial provided for
-- * reverse bit order (msb first). Polynomials in CRC algorithms are typically
-- * represented as shown below.
-- *
-- * poly = x^8 + x^7 + x^6 + x^4 + x^2 + 1
-- *
-- * For msb first direction x^7 maps to the msb. So the polynomial is as below.
-- *
-- * - msb first: poly = (1)11010101 = 0xD5
-- */
--void crc8_populate_msb(u8 table[CRC8_TABLE_SIZE], u8 polynomial);
--
--/**
-- * crc8() - calculate a crc8 over the given input data.
-- *
-- * @table: crc table used for calculation.
-- * @pdata: pointer to data buffer.
-- * @nbytes: number of bytes in data buffer.
-- * @crc: previous returned crc8 value.
-- *
-- * The CRC8 is calculated using the polynomial given in crc8_populate_msb()
-- * or crc8_populate_lsb().
-- *
-- * The caller provides the initial value (either %CRC8_INIT_VALUE
-- * or the previous returned value) to allow for processing of
-- * discontiguous blocks of data. When generating the CRC the
-- * caller is responsible for complementing the final return value
-- * and inserting it into the byte stream. When validating a byte
-- * stream (including CRC8), a final return value of %CRC8_GOOD_VALUE
-- * indicates the byte stream data can be considered valid.
-- *
-- * Reference:
-- * "A Painless Guide to CRC Error Detection Algorithms", ver 3, Aug 1993
-- * Williams, Ross N., ross<at>ross.net
-- * (see URL http://www.ross.net/crc/download/crc_v3.txt).
-- */
--u8 crc8(const u8 table[CRC8_TABLE_SIZE], u8 *pdata, size_t nbytes, u8 crc);
--
--#endif /* __CRC8_H_ */
+++ /dev/null
---- a/config.mk
-+++ b/config.mk
-@@ -267,7 +267,7 @@ export CONFIG_ATH9K_COMMON=m
- # for long range considerations.
- # export CONFIG_COMPAT_ATH9K_RATE_CONTROL=y
-
--export CONFIG_ATH9K_BTCOEX_SUPPORT=y
-+# export CONFIG_ATH9K_BTCOEX_SUPPORT=y
-
- # WIL6210 requires MSI only available >= 2.6.30
- ifndef CONFIG_COMPAT_KERNEL_2_6_30
--- /dev/null
+--- a/include/linux/compat-3.5.h
++++ b/include/linux/compat-3.5.h
+@@ -8,6 +8,8 @@
+
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
+
++#ifndef TCA_CODEL_MAX
++
+ /*
+ * This backports:
+ *
+@@ -135,6 +137,7 @@ static inline int compat_vga_switcheroo_
+
+ #define SIZE_MAX (~(size_t)0)
+
++#endif /* TCA_CODEL_MAX */
+
+ #include <linux/pkt_sched.h>
+
+++ /dev/null
---- a/compat/compat-2.6.39.c
-+++ b/compat/compat-2.6.39.c
-@@ -12,6 +12,7 @@
- #include <linux/tty.h>
- #include <linux/sched.h>
-
-+#ifdef CONFIG_COMPAT_BLUETOOTH
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27))
- /*
- * Termios Helper Methods
-@@ -111,4 +112,4 @@ int tty_set_termios(struct tty_struct *t
- }
- EXPORT_SYMBOL_GPL(tty_set_termios);
- #endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)) */
--
-+#endif
+++ /dev/null
---- a/compat/Makefile
-+++ b/compat/Makefile
-@@ -1,7 +1,10 @@
- obj-m += compat.o
- #compat-objs :=
-
--obj-$(CONFIG_COMPAT_FIRMWARE_CLASS) += compat_firmware_class.o
-+ifdef CONFIG_COMPAT_FIRMWARE_CLASS
-+ compat-y += compat_firmware_class.o
-+endif
-+
- obj-$(CONFIG_COMPAT_NET_SCH_CODEL) += sch_codel.o
-
- sch_fq_codel-y = sch_fq_codel_core.o flow_dissector.o
---- a/compat/compat_firmware_class.c
-+++ b/compat/compat_firmware_class.c
-@@ -741,19 +741,16 @@ compat_request_firmware_nowait(
- return 0;
- }
-
--static int __init firmware_class_init(void)
-+int __init firmware_class_init(void)
- {
- return class_register(&firmware_class);
- }
-
--static void __exit firmware_class_exit(void)
-+void __exit firmware_class_exit(void)
- {
- class_unregister(&firmware_class);
- }
-
--fs_initcall(firmware_class_init);
--module_exit(firmware_class_exit);
--
- EXPORT_SYMBOL_GPL(release_firmware);
- EXPORT_SYMBOL_GPL(request_firmware);
- EXPORT_SYMBOL_GPL(request_firmware_nowait);
---- a/compat/main.c
-+++ b/compat/main.c
-@@ -47,6 +47,17 @@ void compat_dependency_symbol(void)
- EXPORT_SYMBOL_GPL(compat_dependency_symbol);
-
-
-+#if defined(CONFIG_FW_LOADER) && (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33))
-+int __init firmware_class_init(void);
-+void __exit firmware_class_exit(void);
-+#else
-+static inline int firmware_class_init(void)
-+{
-+ return 0;
-+}
-+static inline void firmware_class_exit(void) {}
-+#endif
-+
- static int __init compat_init(void)
- {
- compat_pm_qos_power_init();
-@@ -63,7 +74,8 @@ static int __init compat_init(void)
- printk(KERN_INFO "compat.git: "
- COMPAT_BASE_TREE "\n");
-
-- return 0;
-+ firmware_class_init();
-+ return 0;
- }
- module_init(compat_init);
-
-@@ -72,7 +84,8 @@ static void __exit compat_exit(void)
- compat_pm_qos_power_deinit();
- compat_system_workqueue_destroy();
-
-- return;
-+ firmware_class_exit();
-+ return;
- }
- module_exit(compat_exit);
-
+++ /dev/null
---- a/include/linux/compat-3.4.h
-+++ b/include/linux/compat-3.4.h
-@@ -112,6 +112,19 @@ static inline void eth_hw_addr_random(st
- module_driver(__pci_driver, pci_register_driver, \
- pci_unregister_driver)
-
-+/* source include/linux/pci.h */
-+/**
-+ * module_pci_driver() - Helper macro for registering a PCI driver
-+ * @__pci_driver: pci_driver struct
-+ *
-+ * Helper macro for PCI drivers which do not do anything special in module
-+ * init/exit. This eliminates a lot of boilerplate. Each module may only
-+ * use this macro once, and calling it replaces module_init() and module_exit()
-+ */
-+#define module_pci_driver(__pci_driver) \
-+ module_driver(__pci_driver, pci_register_driver, \
-+ pci_unregister_driver)
-+
- #endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0)) */
-
- #endif /* LINUX_5_4_COMPAT_H */
+++ /dev/null
---- a/compat/scripts/gen-compat-config.sh
-+++ b/compat/scripts/gen-compat-config.sh
-@@ -66,16 +66,3 @@ if [[ ${CONFIG_COMPAT_KERNEL_2_6_36} = "
- echo "export CONFIG_COMPAT_KFIFO=y"
- fi
- fi
--
--if [[ ${CONFIG_COMPAT_KERNEL_3_5} = "y" ]]; then
-- # We don't have 2.6.24 backport support yet for Codel / FQ CoDel
-- # For those who want to try this is what is required that I can tell
-- # so far:
-- # * struct Qdisc_ops
-- # - init and change callback ops use a different argument dataype
-- # - you need to parse data received from userspace differently
-- if [[ ${CONFIG_COMPAT_KERNEL_2_6_25} != "y" ]]; then
-- echo "export CONFIG_COMPAT_NET_SCH_CODEL=m"
-- echo "export CONFIG_COMPAT_NET_SCH_FQ_CODEL=m"
-- fi
--fi
+++ /dev/null
---- a/include/linux/compat-3.5.h
-+++ b/include/linux/compat-3.5.h
-@@ -8,6 +8,8 @@
-
- #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
-
-+#ifndef TCA_CODEL_MAX
-+
- /*
- * This backports:
- *
-@@ -135,6 +137,7 @@ static inline int compat_vga_switcheroo_
-
- #define SIZE_MAX (~(size_t)0)
-
-+#endif /* TCA_CODEL_MAX */
-
- #include <linux/pkt_sched.h>
-
+++ /dev/null
---- a/compat/compat-2.6.28.c
-+++ b/compat/compat-2.6.28.c
-@@ -86,7 +86,7 @@ EXPORT_SYMBOL_GPL(usb_poison_urb);
- #endif
- #endif /* CONFIG_USB */
-
--#if defined(CONFIG_PCMCIA) || defined(CONFIG_PCMCIA_MODULE)
-+#if 0
-
- #include <pcmcia/ds.h>
- struct pcmcia_cfg_mem {
---- a/compat/compat-2.6.33.c
-+++ b/compat/compat-2.6.33.c
-@@ -10,7 +10,7 @@
-
- #include <linux/compat.h>
-
--#if defined(CONFIG_PCCARD) || defined(CONFIG_PCCARD_MODULE)
-+#if 0
-
- /**
- * pccard_loop_tuple() - loop over tuples in the CIS
-@@ -72,7 +72,7 @@ next_entry:
- EXPORT_SYMBOL_GPL(pccard_loop_tuple);
- /* Source: drivers/pcmcia/cistpl.c */
-
--#if defined(CONFIG_PCMCIA) || defined(CONFIG_PCMCIA_MODULE)
-+#if 0
-
- struct pcmcia_loop_mem {
- struct pcmcia_device *p_dev;
---- a/include/linux/compat-2.6.28.h
-+++ b/include/linux/compat-2.6.28.h
-@@ -49,7 +49,7 @@ typedef u32 phys_addr_t;
- })
- #endif /* From include/asm-generic/bug.h */
-
--#if defined(CONFIG_PCMCIA) || defined(CONFIG_PCMCIA_MODULE)
-+#if 0
-
- #include <pcmcia/cs_types.h>
- #include <pcmcia/cs.h>
---- a/include/linux/compat-2.6.33.h
-+++ b/include/linux/compat-2.6.33.h
-@@ -7,7 +7,7 @@
-
- #include <linux/skbuff.h>
- #include <linux/pci.h>
--#if defined(CONFIG_PCCARD) || defined(CONFIG_PCCARD_MODULE)
-+#if 0
- #include <pcmcia/cs_types.h>
- #include <pcmcia/cistpl.h>
- #include <pcmcia/ds.h>
-@@ -82,9 +82,9 @@ static inline struct sk_buff *netdev_all
- return skb;
- }
-
--#if defined(CONFIG_PCCARD) || defined(CONFIG_PCCARD_MODULE)
-+#if 0
-
--#if defined(CONFIG_PCMCIA) || defined(CONFIG_PCMCIA_MODULE)
-+#if 0
-
- #define pcmcia_request_window(a, b, c) pcmcia_request_window(&a, b, c)
-
+++ /dev/null
---- a/compat/compat-2.6.28.c
-+++ b/compat/compat-2.6.28.c
-@@ -165,7 +165,7 @@ EXPORT_SYMBOL_GPL(pcmcia_loop_config);
-
- #endif /* CONFIG_PCMCIA */
-
--#if defined(CONFIG_USB) || defined(CONFIG_USB_MODULE)
-+#if 0
-
- void usb_unpoison_urb(struct urb *urb)
- {
---- a/compat/compat-2.6.29.c
-+++ b/compat/compat-2.6.29.c
-@@ -49,7 +49,7 @@ void netdev_attach_ops(struct net_device
- EXPORT_SYMBOL_GPL(netdev_attach_ops);
-
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23))
--#if defined(CONFIG_USB) || defined(CONFIG_USB_MODULE)
-+#if 0
- /**
- * usb_unpoison_anchored_urbs - let an anchor be used successfully again
- * @anchor: anchor the requests are bound to
---- a/include/linux/compat-2.6.28.h
-+++ b/include/linux/compat-2.6.28.h
-@@ -74,7 +74,7 @@ int pcmcia_loop_config(struct pcmcia_dev
- /* USB anchors were added as of 2.6.23 */
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23))
-
--#if defined(CONFIG_USB) || defined(CONFIG_USB_MODULE)
-+#if 0
- #if 0
- extern void usb_poison_urb(struct urb *urb);
- #endif
---- a/config.mk
-+++ b/config.mk
-@@ -510,7 +510,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.
--export CONFIG_COMPAT_USB_URB_THREAD_FIX=y
-+# export CONFIG_COMPAT_USB_URB_THREAD_FIX=y
-
- export CONFIG_ATH9K_HTC=m
- # export CONFIG_ATH9K_HTC_DEBUGFS=y