--- /dev/null
+--- a/net/wireless/nl80211.c 2009-07-27 16:22:30.301045695 -0700
++++ b/net/wireless/nl80211.c 2009-07-27 18:17:28.445046102 -0700
+@@ -29,7 +29,9 @@
+ .hdrsize = 0, /* no private header */
+ .version = 1, /* no particular meaning now */
+ .maxattr = NL80211_ATTR_MAX,
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32))
+ .netnsok = true,
++#endif
+ };
+
+ /* internal helper: get rdev and dev */
+++ /dev/null
---- a/net/wireless/nl80211.c 2009-07-27 16:22:30.301045695 -0700
-+++ b/net/wireless/nl80211.c 2009-07-27 18:17:28.445046102 -0700
-@@ -29,7 +29,9 @@
- .hdrsize = 0, /* no private header */
- .version = 1, /* no particular meaning now */
- .maxattr = NL80211_ATTR_MAX,
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32))
- .netnsok = true,
-+#endif
- };
-
- /* internal helper: get rdev and dev */
--- /dev/null
+--- a/drivers/net/wireless/p54/p54usb.c 2009-07-07 13:36:49.523678591 -0700
++++ b/drivers/net/wireless/p54/p54usb.c 2009-07-07 13:36:49.831718432 -0700
+@@ -1047,7 +1047,9 @@
+ .resume = p54u_resume,
+ .reset_resume = p54u_resume,
+ #endif /* CONFIG_PM */
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27))
+ .soft_unbind = 1,
++#endif
+ };
+
+ static int __init p54u_init(void)
--- /dev/null
+--- a/drivers/net/wireless/b43/phy_common.h
++++ b/drivers/net/wireless/b43/phy_common.h
+@@ -2,6 +2,9 @@
+ #define LINUX_B43_PHY_COMMON_H_
+
+ #include <linux/types.h>
++#if (LINUX_VERSION_CODE == KERNEL_VERSION(2,6,28))
++#include <asm/atomic.h>
++#endif
+
+ struct b43_wldev;
+
+--- a/drivers/net/wireless/wl12xx/wl1251_main.c
++++ b/drivers/net/wireless/wl12xx/wl1251_main.c
+@@ -26,6 +26,9 @@
+ #include <linux/firmware.h>
+ #include <linux/delay.h>
+ #include <linux/irq.h>
++#if (LINUX_VERSION_CODE == KERNEL_VERSION(2,6,28))
++#include <linux/device.h>
++#endif
+ #include <linux/spi/spi.h>
+ #include <linux/crc32.h>
+ #include <linux/etherdevice.h>
+--- a/drivers/net/wireless/wl12xx/wl1251_spi.c
++++ b/drivers/net/wireless/wl12xx/wl1251_spi.c
+@@ -23,6 +23,9 @@
+
+ #include <linux/module.h>
+ #include <linux/crc7.h>
++#if (LINUX_VERSION_CODE == KERNEL_VERSION(2,6,28))
++#include <linux/device.h>
++#endif
+ #include <linux/spi/spi.h>
+
+ #include "wl1251.h"
+--- a/net/mac80211/driver-trace.h
++++ b/net/mac80211/driver-trace.h
+@@ -1,7 +1,9 @@
+ #if !defined(__MAC80211_DRIVER_TRACE) || defined(TRACE_HEADER_MULTI_READ)
+ #define __MAC80211_DRIVER_TRACE
+
++#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,27))
+ #include <linux/tracepoint.h>
++#endif /* (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,27)) */
+ #include <net/mac80211.h>
+ #include "ieee80211_i.h"
+
+@@ -645,4 +647,6 @@ TRACE_EVENT(drv_ampdu_action,
+ #define TRACE_INCLUDE_PATH .
+ #undef TRACE_INCLUDE_FILE
+ #define TRACE_INCLUDE_FILE driver-trace
++#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,30))
+ #include <trace/define_trace.h>
++#endif /* (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,30)) */
+--- a/net/mac80211/key.c
++++ b/net/mac80211/key.c
+@@ -21,6 +21,9 @@
+ #include "aes_ccm.h"
+ #include "aes_cmac.h"
+
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29))
++#include <asm/unaligned.h>
++#endif
+
+ /**
+ * DOC: Key handling basics
+++ /dev/null
---- a/drivers/net/wireless/p54/p54usb.c 2009-07-07 13:36:49.523678591 -0700
-+++ b/drivers/net/wireless/p54/p54usb.c 2009-07-07 13:36:49.831718432 -0700
-@@ -1047,7 +1047,9 @@
- .resume = p54u_resume,
- .reset_resume = p54u_resume,
- #endif /* CONFIG_PM */
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27))
- .soft_unbind = 1,
-+#endif
- };
-
- static int __init p54u_init(void)
--- /dev/null
+--- a/net/mac80211/rate.c
++++ b/net/mac80211/rate.c
+@@ -22,7 +22,7 @@ struct rate_control_alg {
+ static LIST_HEAD(rate_ctrl_algs);
+ static DEFINE_MUTEX(rate_ctrl_mutex);
+
+-static char *ieee80211_default_rc_algo = CONFIG_MAC80211_RC_DEFAULT;
++static char *ieee80211_default_rc_algo = CONFIG_COMPAT_MAC80211_RC_DEFAULT;
+ module_param(ieee80211_default_rc_algo, charp, 0644);
+ MODULE_PARM_DESC(ieee80211_default_rc_algo,
+ "Default rate control algorithm for mac80211 to use");
+@@ -117,8 +117,8 @@ ieee80211_rate_control_ops_get(const char *name)
+ ops = ieee80211_try_rate_control_ops_get(ieee80211_default_rc_algo);
+
+ /* try built-in one if specific alg requested but not found */
+- if (!ops && strlen(CONFIG_MAC80211_RC_DEFAULT))
+- ops = ieee80211_try_rate_control_ops_get(CONFIG_MAC80211_RC_DEFAULT);
++ if (!ops && strlen(CONFIG_COMPAT_MAC80211_RC_DEFAULT))
++ ops = ieee80211_try_rate_control_ops_get(CONFIG_COMPAT_MAC80211_RC_DEFAULT);
+
+ return ops;
+ }
+++ /dev/null
---- a/drivers/net/wireless/b43/phy_common.h
-+++ b/drivers/net/wireless/b43/phy_common.h
-@@ -2,6 +2,9 @@
- #define LINUX_B43_PHY_COMMON_H_
-
- #include <linux/types.h>
-+#if (LINUX_VERSION_CODE == KERNEL_VERSION(2,6,28))
-+#include <asm/atomic.h>
-+#endif
-
- struct b43_wldev;
-
---- a/drivers/net/wireless/wl12xx/wl1251_main.c
-+++ b/drivers/net/wireless/wl12xx/wl1251_main.c
-@@ -26,6 +26,9 @@
- #include <linux/firmware.h>
- #include <linux/delay.h>
- #include <linux/irq.h>
-+#if (LINUX_VERSION_CODE == KERNEL_VERSION(2,6,28))
-+#include <linux/device.h>
-+#endif
- #include <linux/spi/spi.h>
- #include <linux/crc32.h>
- #include <linux/etherdevice.h>
---- a/drivers/net/wireless/wl12xx/wl1251_spi.c
-+++ b/drivers/net/wireless/wl12xx/wl1251_spi.c
-@@ -23,6 +23,9 @@
-
- #include <linux/module.h>
- #include <linux/crc7.h>
-+#if (LINUX_VERSION_CODE == KERNEL_VERSION(2,6,28))
-+#include <linux/device.h>
-+#endif
- #include <linux/spi/spi.h>
-
- #include "wl1251.h"
---- a/net/mac80211/driver-trace.h
-+++ b/net/mac80211/driver-trace.h
-@@ -1,7 +1,9 @@
- #if !defined(__MAC80211_DRIVER_TRACE) || defined(TRACE_HEADER_MULTI_READ)
- #define __MAC80211_DRIVER_TRACE
-
-+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,27))
- #include <linux/tracepoint.h>
-+#endif /* (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,27)) */
- #include <net/mac80211.h>
- #include "ieee80211_i.h"
-
-@@ -645,4 +647,6 @@ TRACE_EVENT(drv_ampdu_action,
- #define TRACE_INCLUDE_PATH .
- #undef TRACE_INCLUDE_FILE
- #define TRACE_INCLUDE_FILE driver-trace
-+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,30))
- #include <trace/define_trace.h>
-+#endif /* (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,30)) */
---- a/net/mac80211/key.c
-+++ b/net/mac80211/key.c
-@@ -21,6 +21,9 @@
- #include "aes_ccm.h"
- #include "aes_cmac.h"
-
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29))
-+#include <asm/unaligned.h>
-+#endif
-
- /**
- * DOC: Key handling basics
+++ /dev/null
---- a/net/mac80211/rate.c
-+++ b/net/mac80211/rate.c
-@@ -22,7 +22,7 @@ struct rate_control_alg {
- static LIST_HEAD(rate_ctrl_algs);
- static DEFINE_MUTEX(rate_ctrl_mutex);
-
--static char *ieee80211_default_rc_algo = CONFIG_MAC80211_RC_DEFAULT;
-+static char *ieee80211_default_rc_algo = CONFIG_COMPAT_MAC80211_RC_DEFAULT;
- module_param(ieee80211_default_rc_algo, charp, 0644);
- MODULE_PARM_DESC(ieee80211_default_rc_algo,
- "Default rate control algorithm for mac80211 to use");
-@@ -117,8 +117,8 @@ ieee80211_rate_control_ops_get(const char *name)
- ops = ieee80211_try_rate_control_ops_get(ieee80211_default_rc_algo);
-
- /* try built-in one if specific alg requested but not found */
-- if (!ops && strlen(CONFIG_MAC80211_RC_DEFAULT))
-- ops = ieee80211_try_rate_control_ops_get(CONFIG_MAC80211_RC_DEFAULT);
-+ if (!ops && strlen(CONFIG_COMPAT_MAC80211_RC_DEFAULT))
-+ ops = ieee80211_try_rate_control_ops_get(CONFIG_COMPAT_MAC80211_RC_DEFAULT);
-
- return ops;
- }
--- /dev/null
+--- a/drivers/net/wireless/zd1211rw/zd_chip.h 2009-07-06 16:09:14.934197004 -0700
++++ b/drivers/net/wireless/zd1211rw/zd_chip.h 2009-07-06 16:10:01.570226234 -0700
+@@ -897,9 +897,9 @@
+ int zd_chip_unlock_phy_regs(struct zd_chip *chip);
+
+ enum led_status {
+- LED_OFF = 0,
+- LED_SCANNING = 1,
+- LED_ASSOCIATED = 2,
++ ZD_LED_OFF = 0,
++ ZD_LED_SCANNING = 1,
++ ZD_LED_ASSOCIATED = 2,
+ };
+
+ int zd_chip_control_leds(struct zd_chip *chip, enum led_status status);
+--- a/drivers/net/wireless/zd1211rw/zd_chip.c 2009-07-06 16:09:24.986198445 -0700
++++ b/drivers/net/wireless/zd1211rw/zd_chip.c 2009-07-06 16:10:19.898624742 -0700
+@@ -1278,11 +1278,11 @@
+ other_led = chip->link_led == LED1 ? LED2 : LED1;
+
+ switch (status) {
+- case LED_OFF:
++ case ZD_LED_OFF:
+ ioreqs[0].value = FW_LINK_OFF;
+ ioreqs[1].value = v[1] & ~(LED1|LED2);
+ break;
+- case LED_SCANNING:
++ case ZD_LED_SCANNING:
+ ioreqs[0].value = FW_LINK_OFF;
+ ioreqs[1].value = v[1] & ~other_led;
+ if (get_seconds() % 3 == 0) {
+@@ -1291,7 +1291,7 @@
+ ioreqs[1].value |= chip->link_led;
+ }
+ break;
+- case LED_ASSOCIATED:
++ case ZD_LED_ASSOCIATED:
+ ioreqs[0].value = FW_LINK_TX;
+ ioreqs[1].value = v[1] & ~other_led;
+ ioreqs[1].value |= chip->link_led;
+--- a/drivers/net/wireless/zd1211rw/zd_mac.c 2009-07-06 16:09:30.382198435 -0700
++++ b/drivers/net/wireless/zd1211rw/zd_mac.c 2009-07-06 16:11:36.778629948 -0700
+@@ -1013,7 +1013,7 @@
+ spin_unlock_irq(&mac->lock);
+
+ r = zd_chip_control_leds(chip,
+- is_associated ? LED_ASSOCIATED : LED_SCANNING);
++ is_associated ? ZD_LED_ASSOCIATED : ZD_LED_SCANNING);
+ if (r)
+ dev_dbg_f(zd_mac_dev(mac), "zd_chip_control_leds error %d\n", r);
+
+@@ -1038,5 +1038,5 @@
+ dev_dbg_f(zd_mac_dev(mac), "\n");
+ cancel_rearming_delayed_workqueue(zd_workqueue,
+ &mac->housekeeping.link_led_work);
+- zd_chip_control_leds(&mac->chip, LED_OFF);
++ zd_chip_control_leds(&mac->chip, ZD_LED_OFF);
+ }
+++ /dev/null
---- a/drivers/net/wireless/zd1211rw/zd_chip.h 2009-07-06 16:09:14.934197004 -0700
-+++ b/drivers/net/wireless/zd1211rw/zd_chip.h 2009-07-06 16:10:01.570226234 -0700
-@@ -897,9 +897,9 @@
- int zd_chip_unlock_phy_regs(struct zd_chip *chip);
-
- enum led_status {
-- LED_OFF = 0,
-- LED_SCANNING = 1,
-- LED_ASSOCIATED = 2,
-+ ZD_LED_OFF = 0,
-+ ZD_LED_SCANNING = 1,
-+ ZD_LED_ASSOCIATED = 2,
- };
-
- int zd_chip_control_leds(struct zd_chip *chip, enum led_status status);
---- a/drivers/net/wireless/zd1211rw/zd_chip.c 2009-07-06 16:09:24.986198445 -0700
-+++ b/drivers/net/wireless/zd1211rw/zd_chip.c 2009-07-06 16:10:19.898624742 -0700
-@@ -1278,11 +1278,11 @@
- other_led = chip->link_led == LED1 ? LED2 : LED1;
-
- switch (status) {
-- case LED_OFF:
-+ case ZD_LED_OFF:
- ioreqs[0].value = FW_LINK_OFF;
- ioreqs[1].value = v[1] & ~(LED1|LED2);
- break;
-- case LED_SCANNING:
-+ case ZD_LED_SCANNING:
- ioreqs[0].value = FW_LINK_OFF;
- ioreqs[1].value = v[1] & ~other_led;
- if (get_seconds() % 3 == 0) {
-@@ -1291,7 +1291,7 @@
- ioreqs[1].value |= chip->link_led;
- }
- break;
-- case LED_ASSOCIATED:
-+ case ZD_LED_ASSOCIATED:
- ioreqs[0].value = FW_LINK_TX;
- ioreqs[1].value = v[1] & ~other_led;
- ioreqs[1].value |= chip->link_led;
---- a/drivers/net/wireless/zd1211rw/zd_mac.c 2009-07-06 16:09:30.382198435 -0700
-+++ b/drivers/net/wireless/zd1211rw/zd_mac.c 2009-07-06 16:11:36.778629948 -0700
-@@ -1013,7 +1013,7 @@
- spin_unlock_irq(&mac->lock);
-
- r = zd_chip_control_leds(chip,
-- is_associated ? LED_ASSOCIATED : LED_SCANNING);
-+ is_associated ? ZD_LED_ASSOCIATED : ZD_LED_SCANNING);
- if (r)
- dev_dbg_f(zd_mac_dev(mac), "zd_chip_control_leds error %d\n", r);
-
-@@ -1038,5 +1038,5 @@
- dev_dbg_f(zd_mac_dev(mac), "\n");
- cancel_rearming_delayed_workqueue(zd_workqueue,
- &mac->housekeeping.link_led_work);
-- zd_chip_control_leds(&mac->chip, LED_OFF);
-+ zd_chip_control_leds(&mac->chip, ZD_LED_OFF);
- }