kernel: fix wrong line for the +@DRIVER_WEXT_SUPPORT dependency in kmod-net-zd1201
[librecmc/librecmc.git] / package / mac80211 / patches / 000-linux_3.0_support.patch
1 --- a/compat/Makefile
2 +++ b/compat/Makefile
3 @@ -6,31 +6,31 @@ obj-$(CONFIG_COMPAT_FIRMWARE_CLASS) += c
4  compat-y += main.o
5  
6  # Compat kernel compatibility code
7 -compat-$(CONFIG_COMPAT_KERNEL_14) += compat-2.6.14.o
8 -compat-$(CONFIG_COMPAT_KERNEL_18) += compat-2.6.18.o
9 -compat-$(CONFIG_COMPAT_KERNEL_19) += compat-2.6.19.o
10 -compat-$(CONFIG_COMPAT_KERNEL_21) += compat-2.6.21.o
11 -compat-$(CONFIG_COMPAT_KERNEL_22) += compat-2.6.22.o
12 -compat-$(CONFIG_COMPAT_KERNEL_23) += compat-2.6.23.o
13 -compat-$(CONFIG_COMPAT_KERNEL_24) += compat-2.6.24.o
14 -compat-$(CONFIG_COMPAT_KERNEL_25) += \
15 +compat-$(CONFIG_COMPAT_KERNEL_2_6_14) += compat-2.6.14.o
16 +compat-$(CONFIG_COMPAT_KERNEL_2_6_18) += compat-2.6.18.o
17 +compat-$(CONFIG_COMPAT_KERNEL_2_6_19) += compat-2.6.19.o
18 +compat-$(CONFIG_COMPAT_KERNEL_2_6_21) += compat-2.6.21.o
19 +compat-$(CONFIG_COMPAT_KERNEL_2_6_22) += compat-2.6.22.o
20 +compat-$(CONFIG_COMPAT_KERNEL_2_6_23) += compat-2.6.23.o
21 +compat-$(CONFIG_COMPAT_KERNEL_2_6_24) += compat-2.6.24.o
22 +compat-$(CONFIG_COMPAT_KERNEL_2_6_25) += \
23         compat-2.6.25.o \
24         pm_qos_params.o
25  
26 -compat-$(CONFIG_COMPAT_KERNEL_26) += compat-2.6.26.o
27 -compat-$(CONFIG_COMPAT_KERNEL_27) += compat-2.6.27.o
28 -compat-$(CONFIG_COMPAT_KERNEL_28) += compat-2.6.28.o
29 -compat-$(CONFIG_COMPAT_KERNEL_29) += compat-2.6.29.o
30 -compat-$(CONFIG_COMPAT_KERNEL_32) += compat-2.6.32.o
31 -compat-$(CONFIG_COMPAT_KERNEL_33) += compat-2.6.33.o
32 -compat-$(CONFIG_COMPAT_KERNEL_35) += compat-2.6.35.o
33 -compat-$(CONFIG_COMPAT_KERNEL_36) += \
34 +compat-$(CONFIG_COMPAT_KERNEL_2_6_26) += compat-2.6.26.o
35 +compat-$(CONFIG_COMPAT_KERNEL_2_6_27) += compat-2.6.27.o
36 +compat-$(CONFIG_COMPAT_KERNEL_2_6_28) += compat-2.6.28.o
37 +compat-$(CONFIG_COMPAT_KERNEL_2_6_29) += compat-2.6.29.o
38 +compat-$(CONFIG_COMPAT_KERNEL_2_6_32) += compat-2.6.32.o
39 +compat-$(CONFIG_COMPAT_KERNEL_2_6_33) += compat-2.6.33.o
40 +compat-$(CONFIG_COMPAT_KERNEL_2_6_35) += compat-2.6.35.o
41 +compat-$(CONFIG_COMPAT_KERNEL_2_6_36) += \
42         compat-2.6.36.o \
43         kfifo.o
44  
45 -compat-$(CONFIG_COMPAT_KERNEL_37) += compat-2.6.37.o
46 -compat-$(CONFIG_COMPAT_KERNEL_38) += compat-2.6.38.o
47 -compat-$(CONFIG_COMPAT_KERNEL_39) += \
48 +compat-$(CONFIG_COMPAT_KERNEL_2_6_37) += compat-2.6.37.o
49 +compat-$(CONFIG_COMPAT_KERNEL_2_6_38) += compat-2.6.38.o
50 +compat-$(CONFIG_COMPAT_KERNEL_2_6_39) += \
51         compat-2.6.39.o \
52         kstrtox.o
53  
54 --- a/include/linux/compat-2.6.34.h
55 +++ b/include/linux/compat-2.6.34.h
56 @@ -251,6 +251,8 @@ static inline int usb_disable_autosuspen
57  
58  #define rcu_dereference_raw(p) rcu_dereference(p)
59  
60 +#define KEY_WPS_BUTTON         0x211   /* WiFi Protected Setup key */
61 +
62  #endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,34)) */
63  
64  #endif /* LINUX_26_34_COMPAT_H */
65 --- a/include/linux/compat-2.6.40.h
66 +++ /dev/null
67 @@ -1,29 +0,0 @@
68 -#ifndef LINUX_26_40_COMPAT_H
69 -#define LINUX_26_40_COMPAT_H
70 -
71 -#include <linux/version.h>
72 -
73 -#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,40))
74 -
75 -#include <linux/rcupdate.h>
76 -
77 -/*
78 - * This is not part of The 2.6.37 kernel yet but we
79 - * we use it to optimize the backport code we
80 - * need to implement. Instead of using ifdefs
81 - * to check what version of the check we use
82 - * we just replace all checks on current code
83 - * with this. I'll submit this upstream too, that
84 - * way all we'd have to do is to implement this
85 - * for older kernels, then we would not have to
86 - * edit the upstrema code for backport efforts.
87 - */
88 -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36))
89 -#define br_port_exists(dev)    (dev->priv_flags & IFF_BRIDGE_PORT)
90 -#else
91 -#define br_port_exists(dev)    (dev->br_port)
92 -#endif
93 -
94 -#endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,40)) */
95 -
96 -#endif /* LINUX_26_40_COMPAT_H */
97 --- a/include/linux/compat-2.6.h
98 +++ b/include/linux/compat-2.6.h
99 @@ -32,6 +32,7 @@
100  #include <linux/compat-2.6.37.h>
101  #include <linux/compat-2.6.38.h>
102  #include <linux/compat-2.6.39.h>
103 -#include <linux/compat-2.6.40.h>
104 +#include <linux/compat-3.0.h>
105 +#include <linux/compat-3.1.h>
106  
107  #endif /* LINUX_26_COMPAT_H */
108 --- /dev/null
109 +++ b/include/linux/compat-3.0.h
110 @@ -0,0 +1,31 @@
111 +#ifndef LINUX_3_0_COMPAT_H
112 +#define LINUX_3_0_COMPAT_H
113 +
114 +#include <linux/version.h>
115 +
116 +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,0,0))
117 +
118 +/*
119 + * since commit 1c5cae815d19ffe02bdfda1260949ef2b1806171
120 + * "net: call dev_alloc_name from register_netdevice" dev_alloc_name is
121 + * called automatically. This is not implemented in older kernel
122 + * versions so it will result in device wrong names.
123 + */
124 +static inline int register_netdevice_name(struct net_device *dev)
125 +{
126 +       int err;
127 +
128 +       if (strchr(dev->name, '%')) {
129 +               err = dev_alloc_name(dev, dev->name);
130 +               if (err < 0)
131 +                       return err;
132 +       }
133 +
134 +       return register_netdevice(dev);
135 +}
136 +
137 +#define register_netdevice(dev) register_netdevice_name(dev)
138 +
139 +#endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(3,0,0)) */
140 +
141 +#endif /* LINUX_3_0_COMPAT_H */
142 --- /dev/null
143 +++ b/include/linux/compat-3.1.h
144 @@ -0,0 +1,27 @@
145 +#ifndef LINUX_3_1_COMPAT_H
146 +#define LINUX_3_1_COMPAT_H
147 +
148 +#include <linux/version.h>
149 +
150 +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0))
151 +
152 +/*
153 + * This is not part of The 2.6.37 kernel yet but we
154 + * we use it to optimize the backport code we
155 + * need to implement. Instead of using ifdefs
156 + * to check what version of the check we use
157 + * we just replace all checks on current code
158 + * with this. I'll submit this upstream too, that
159 + * way all we'd have to do is to implement this
160 + * for older kernels, then we would not have to
161 + * edit the upstrema code for backport efforts.
162 + */
163 +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36))
164 +#define br_port_exists(dev)    (dev->priv_flags & IFF_BRIDGE_PORT)
165 +#else
166 +#define br_port_exists(dev)    (dev->br_port)
167 +#endif
168 +
169 +#endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0)) */
170 +
171 +#endif /* LINUX_3_1_COMPAT_H */
172 --- a/config.mk
173 +++ b/config.mk
174 @@ -14,20 +14,28 @@ else
175  include $(KLIB_BUILD)/.config
176  endif
177  
178 -# We will warn when you don't have MQ support or NET_SCHED enabled.
179 -#
180 -# We could consider just quiting if MQ and NET_SCHED is disabled
181 -# as I suspect all users of this package want 802.11e (WME) and
182 -# 802.11n (HT) support.
183  ifneq ($(wildcard $(KLIB_BUILD)/Makefile),)
184 -COMPAT_LATEST_VERSION = 39
185 -KERNEL_SUBLEVEL := $(shell $(MAKE) -C $(KLIB_BUILD) kernelversion | sed -n 's/^2\.6\.\([0-9]\+\).*/\1/p')
186 +
187 +COMPAT_LATEST_VERSION = 1
188 +
189 +KERNEL_VERSION := $(shell $(MAKE) -C $(KLIB_BUILD) kernelversion | sed -n 's/^\([0-9]\)\..*/\1/p')
190 +
191 +ifneq ($(KERNEL_VERSION),2)
192 +KERNEL_SUBLEVEL := $(shell $(MAKE) -C $(KLIB_BUILD) kernelversion | sed -n 's/^3\.\([0-9]\+\).*/\1/p')
193 +else
194 +COMPAT_26LATEST_VERSION = 39
195 +KERNEL_26SUBLEVEL := $(shell $(MAKE) -C $(KLIB_BUILD) kernelversion | sed -n 's/^2\.6\.\([0-9]\+\).*/\1/p')
196 +COMPAT_26VERSIONS := $(shell I=$(COMPAT_26LATEST_VERSION); while [ "$$I" -gt $(KERNEL_26SUBLEVEL) ]; do echo $$I; I=$$(($$I - 1)); done)
197 +$(foreach ver,$(COMPAT_26VERSIONS),$(eval CONFIG_COMPAT_KERNEL_2_6_$(ver)=y))
198 +KERNEL_SUBLEVEL := -1
199 +endif
200 +
201  COMPAT_VERSIONS := $(shell I=$(COMPAT_LATEST_VERSION); while [ "$$I" -gt $(KERNEL_SUBLEVEL) ]; do echo $$I; I=$$(($$I - 1)); done)
202 -$(foreach ver,$(COMPAT_VERSIONS),$(eval CONFIG_COMPAT_KERNEL_$(ver)=y))
203 +$(foreach ver,$(COMPAT_VERSIONS),$(eval CONFIG_COMPAT_KERNEL_3_$(ver)=y))
204  
205 -ifdef CONFIG_COMPAT_KERNEL_24
206 +ifdef CONFIG_COMPAT_KERNEL_2_6_24
207  $(error "ERROR: compat-wireless by default supports kernels >= 2.6.24, try enabling only one driver though")
208 -endif #CONFIG_COMPAT_KERNEL_24
209 +endif #CONFIG_COMPAT_KERNEL_2_6_24
210  
211  ifeq ($(CONFIG_CFG80211),y)
212  $(error "ERROR: your kernel has CONFIG_CFG80211=y, you should have it CONFIG_CFG80211=m if you want to use this thing.")
213 @@ -37,7 +45,7 @@ endif
214  # 2.6.27 has FTRACE_DYNAMIC borked, so we will complain if
215  # you have it enabled, otherwise you will very likely run into
216  # a kernel panic.
217 -ifeq ($(KERNEL_SUBLEVEL),27)
218 +ifeq ($(shell test $(KERNEL_VERSION) -eq 2 -a $(KERNEL_SUBLEVEL) -eq 27 && echo yes),yes)
219  ifeq ($(CONFIG_DYNAMIC_FTRACE),y)
220  $(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")
221  endif
222 @@ -54,7 +62,7 @@ endif
223  #
224  # In kernel 2.6.32 both attributes were removed.
225  #
226 -ifeq ($(shell test $(KERNEL_SUBLEVEL) -ge 27 -a $(KERNEL_SUBLEVEL) -le 31 && echo yes),yes)
227 +ifeq ($(shell test $(KERNEL_VERSION) -eq 2 -a $(KERNEL_SUBLEVEL) -ge 27 -a $(KERNEL_SUBLEVEL) -le 31 && echo yes),yes)
228  ifeq ($(CONFIG_MAC80211),)
229  $(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.")
230  endif
231 @@ -62,6 +70,11 @@ endif
232  
233  ifneq ($(KERNELRELEASE),) # This prevents a warning
234  
235 +# We will warn when you don't have MQ support or NET_SCHED enabled.
236 +#
237 +# We could consider just quiting if MQ and NET_SCHED is disabled
238 +# as I suspect all users of this package want 802.11e (WME) and
239 +# 802.11n (HT) support.
240  ifeq ($(CONFIG_NET_SCHED),)
241   QOS_REQS_MISSING+=CONFIG_NET_SCHED
242  endif
243 @@ -92,20 +105,20 @@ else
244  endif
245  
246  # The Bluetooth compatibility only builds on kernels >= 2.6.27 for now
247 -ifndef CONFIG_COMPAT_KERNEL_27
248 +ifndef CONFIG_COMPAT_KERNEL_2_6_27
249  ifeq ($(CONFIG_BT),y)
250  # we'll ignore compiling bluetooth
251  else
252   CONFIG_COMPAT_BLUETOOTH=y
253   CONFIG_COMPAT_BLUETOOTH_MODULES=m
254  endif
255 -endif #CONFIG_COMPAT_KERNEL_27
256 +endif #CONFIG_COMPAT_KERNEL_2_6_27
257  
258 -ifdef CONFIG_COMPAT_KERNEL_33
259 +ifdef CONFIG_COMPAT_KERNEL_2_6_33
260  ifdef CONFIG_FW_LOADER
261   CONFIG_COMPAT_FIRMWARE_CLASS=m
262  endif #CONFIG_FW_LOADER
263 -endif #CONFIG_COMPAT_KERNEL_33
264 +endif #CONFIG_COMPAT_KERNEL_2_6_33
265  
266  # Wireless subsystem stuff
267  CONFIG_MAC80211=m
268 @@ -165,9 +178,9 @@ CONFIG_BT_BNEP_PROTO_FILTER=y
269  ifdef CONFIG_ISDN_CAPI
270  CONFIG_BT_CMTP=m
271  endif #CONFIG_ISDN_CAPI
272 -ifndef CONFIG_COMPAT_KERNEL_28
273 +ifndef CONFIG_COMPAT_KERNEL_2_6_28
274  CONFIG_COMPAT_BT_HIDP=m
275 -endif #CONFIG_COMPAT_KERNEL_28
276 +endif #CONFIG_COMPAT_KERNEL_2_6_28
277  
278  CONFIG_BT_HCIUART=M
279  CONFIG_BT_HCIUART_H4=y
280 @@ -345,11 +358,11 @@ CONFIG_MWL8K=m
281  CONFIG_ATL1=m
282  CONFIG_ATL2=m
283  CONFIG_ATL1E=m
284 -ifdef CONFIG_COMPAT_KERNEL_27
285 +ifdef CONFIG_COMPAT_KERNEL_2_6_27
286  CONFIG_ATL1C=n
287 -else #CONFIG_COMPAT_KERNEL_27
288 +else #CONFIG_COMPAT_KERNEL_2_6_27
289  CONFIG_ATL1C=m
290 -endif #CONFIG_COMPAT_KERNEL_27
291 +endif #CONFIG_COMPAT_KERNEL_2_6_27
292  
293  ifdef CONFIG_WIRELESS_EXT
294  CONFIG_HERMES=m
295 @@ -379,13 +392,13 @@ endif #CONFIG_PCI
296  
297  ifdef CONFIG_PCMCIA
298  
299 -ifdef CONFIG_COMPAT_KERNEL_27
300 +ifdef CONFIG_COMPAT_KERNEL_2_6_27
301  CONFIG_LIBERTAS=n
302  CONFIG_LIBERTAS_CS=n
303 -else #CONFIG_COMPAT_KERNEL_27
304 +else #CONFIG_COMPAT_KERNEL_2_6_27
305  CONFIG_LIBERTAS_CS=m
306  NEED_LIBERTAS=y
307 -endif #CONFIG_COMPAT_KERNEL_27
308 +endif #CONFIG_COMPAT_KERNEL_2_6_27
309  
310  endif #CONFIG_PCMCIA
311  ## end of PCMCIA
312 @@ -395,10 +408,10 @@ CONFIG_EEPROM_93CX6=m
313  
314  # USB Drivers
315  ifdef CONFIG_USB
316 -ifndef CONFIG_COMPAT_KERNEL_29
317 +ifndef CONFIG_COMPAT_KERNEL_2_6_29
318  CONFIG_COMPAT_ZD1211RW=m
319  # CONFIG_ZD1211RW_DEBUG=y
320 -endif #CONFIG_COMPAT_KERNEL_29
321 +endif #CONFIG_COMPAT_KERNEL_2_6_29
322  
323  # Sorry, rndis_wlan uses cancel_work_sync which is new and can't be done in compat...
324  
325 @@ -407,12 +420,12 @@ endif #CONFIG_COMPAT_KERNEL_29
326  # is only wireless RNDIS chip known to date.
327  # Note: this depends on CONFIG_USB_NET_RNDIS_HOST and CONFIG_USB_NET_CDCETHER
328  # it also requires new RNDIS_HOST and CDC_ETHER modules which we add
329 -ifdef CONFIG_COMPAT_KERNEL_29
330 +ifdef CONFIG_COMPAT_KERNEL_2_6_29
331  CONFIG_USB_COMPAT_USBNET=n
332  CONFIG_USB_NET_COMPAT_RNDIS_HOST=n
333  CONFIG_USB_NET_COMPAT_RNDIS_WLAN=n
334  CONFIG_USB_NET_COMPAT_CDCETHER=n
335 -else #CONFIG_COMPAT_KERNEL_29
336 +else #CONFIG_COMPAT_KERNEL_2_6_29
337  CONFIG_USB_COMPAT_USBNET=m
338  ifdef CONFIG_USB_NET_CDCETHER
339  CONFIG_USB_NET_COMPAT_RNDIS_HOST=m
340 @@ -423,7 +436,7 @@ CONFIG_USB_NET_COMPAT_RNDIS_HOST=m
341  CONFIG_USB_NET_COMPAT_RNDIS_WLAN=m
342  endif #CONFIG_USB_NET_CDCETHER
343  CONFIG_USB_NET_COMPAT_CDCETHER=m
344 -endif #CONFIG_COMPAT_KERNEL_29
345 +endif #CONFIG_COMPAT_KERNEL_2_6_29
346  
347  
348  CONFIG_P54_USB=m
349 @@ -434,14 +447,14 @@ endif #CONFIG_MAC80211_LEDS
350  
351  CONFIG_AT76C50X_USB=m
352  
353 -ifndef CONFIG_COMPAT_KERNEL_29
354 +ifndef CONFIG_COMPAT_KERNEL_2_6_29
355  CONFIG_CARL9170=m
356  ifdef CONFIG_MAC80211_LEDS
357  CONFIG_CARL9170_LEDS=y
358  endif #CONFIG_MAC80211_LEDS
359  # CONFIG_CARL9170_DEBUGFS=y
360  # CONFIG_CARL9170_WPC=y
361 -endif #CONFIG_COMPAT_KERNEL_29
362 +endif #CONFIG_COMPAT_KERNEL_2_6_29
363  
364  # This activates a threading fix for usb urb.
365  # this is mainline commit: b3e670443b7fb8a2d29831b62b44a039c283e351
366 @@ -467,15 +480,15 @@ ifdef CONFIG_CRC_ITU_T
367  CONFIG_RT73USB=m
368  endif #CONFIG_CRC_ITU_T
369  
370 -ifdef CONFIG_COMPAT_KERNEL_27
371 +ifdef CONFIG_COMPAT_KERNEL_2_6_27
372  CONFIG_LIBERTAS_THINFIRM_USB=n
373  CONFIG_LIBERTAS_USB=n
374  NEED_LIBERTAS=n
375 -else #CONFIG_COMPAT_KERNEL_27
376 +else #CONFIG_COMPAT_KERNEL_2_6_27
377  CONFIG_LIBERTAS_THINFIRM_USB=m
378  CONFIG_LIBERTAS_USB=m
379  NEED_LIBERTAS=y
380 -endif #CONFIG_COMPAT_KERNEL_27
381 +endif #CONFIG_COMPAT_KERNEL_2_6_27
382  
383  CONFIG_ORINOCO_USB=m
384  
385 @@ -490,7 +503,7 @@ CONFIG_RTL8192CU=m
386  endif #CONFIG_USB end of USB driver list
387  
388  ifdef CONFIG_SPI_MASTER
389 -ifndef CONFIG_COMPAT_KERNEL_25
390 +ifndef CONFIG_COMPAT_KERNEL_2_6_25
391  
392  ifdef CONFIG_CRC7
393  CONFIG_WL1251_SPI=m
394 @@ -498,15 +511,15 @@ CONFIG_WL12XX_SPI=m
395  endif #CONFIG_CRC7
396  CONFIG_P54_SPI=m
397  
398 -ifdef CONFIG_COMPAT_KERNEL_27
399 +ifdef CONFIG_COMPAT_KERNEL_2_6_27
400  CONFIG_LIBERTAS_SPI=n
401  NEED_LIBERTAS=n
402 -else #CONFIG_COMPAT_KERNEL_27
403 +else #CONFIG_COMPAT_KERNEL_2_6_27
404  CONFIG_LIBERTAS_SPI=m
405  NEED_LIBERTAS=y
406 -endif #CONFIG_COMPAT_KERNEL_27
407 +endif #CONFIG_COMPAT_KERNEL_2_6_27
408  
409 -endif #CONFIG_COMPAT_KERNEL_25
410 +endif #CONFIG_COMPAT_KERNEL_2_6_25
411  endif #CONFIG_SPI_MASTER end of SPI driver list
412  
413  ifdef CONFIG_MMC
414 @@ -519,23 +532,23 @@ ifdef CONFIG_WL12XX_PLATFORM_DATA
415  CONFIG_COMPAT_WL1251_SDIO=m
416  endif #CONFIG_WL12XX_PLATFORM_DATA
417  
418 -ifndef CONFIG_COMPAT_KERNEL_32
419 +ifndef CONFIG_COMPAT_KERNEL_2_6_32
420  ifdef CONFIG_WL12XX_PLATFORM_DATA
421  CONFIG_COMPAT_WL12XX_SDIO=m
422  endif #CONFIG_WL12XX_PLATFORM_DATA
423 -endif #CONFIG_COMPAT_KERNEL_32
424 +endif #CONFIG_COMPAT_KERNEL_2_6_32
425  
426  endif #CONFIG_CRC7
427  
428  CONFIG_MWIFIEX_SDIO=m
429  
430 -ifdef CONFIG_COMPAT_KERNEL_27
431 +ifdef CONFIG_COMPAT_KERNEL_2_6_27
432  CONFIG_LIBERTAS_SDIO=n
433  NEED_LIBERTAS=n
434 -else #CONFIG_COMPAT_KERNEL_27
435 +else #CONFIG_COMPAT_KERNEL_2_6_27
436  CONFIG_LIBERTAS_SDIO=m
437  NEED_LIBERTAS=y
438 -endif #CONFIG_COMPAT_KERNEL_27
439 +endif #CONFIG_COMPAT_KERNEL_2_6_27
440  
441  CONFIG_IWM=m
442  # CONFIG_IWM_DEBUG=y
443 @@ -574,13 +587,13 @@ CONFIG_RT2800_LIB=m
444  CONFIG_RT2X00_LIB_FIRMWARE=y
445  CONFIG_RT2X00_LIB_CRYPTO=y
446  # CONFIG_RT2X00_LIB_SOC=y
447 -ifdef CONFIG_COMPAT_KERNEL_25
448 +ifdef CONFIG_COMPAT_KERNEL_2_6_25
449  CONFIG_RT2X00_LIB_LEDS=n
450 -else #CONFIG_COMPAT_KERNEL_25
451 +else #CONFIG_COMPAT_KERNEL_2_6_25
452  ifdef CONFIG_LEDS_CLASS
453  CONFIG_RT2X00_LIB_LEDS=y
454  endif #CONFIG_LEDS_CLASS
455 -endif #CONFIG_COMPAT_KERNEL_25
456 +endif #CONFIG_COMPAT_KERNEL_2_6_25
457  # CONFIG_RT2X00_DEBUG=y
458  # CONFIG_RT2X00_LIB_DEBUGFS
459  endif
460 @@ -608,24 +621,24 @@ endif #CONFIG_CRC7
461  
462  CONFIG_MWIFIEX=m
463  
464 -ifdef CONFIG_COMPAT_KERNEL_27
465 +ifdef CONFIG_COMPAT_KERNEL_2_6_27
466  CONFIG_LIBERTAS=n
467 -else #CONFIG_COMPAT_KERNEL_27
468 +else #CONFIG_COMPAT_KERNEL_2_6_27
469  ifeq ($(NEED_LIBERTAS),y)
470  CONFIG_LIBERTAS_THINFIRM=m
471  CONFIG_LIBERTAS=m
472  CONFIG_LIBERTAS_MESH=y
473  # CONFIG_LIBERTAS_DEBUG=y
474  endif
475 -endif #CONFIG_COMPAT_KERNEL_27
476 +endif #CONFIG_COMPAT_KERNEL_2_6_27
477  
478  # We need the backported rfkill module on kernel < 2.6.31.
479  # In more recent kernel versions use the in kernel rfkill module.
480 -ifdef CONFIG_COMPAT_KERNEL_31
481 +ifdef CONFIG_COMPAT_KERNEL_2_6_31
482  CONFIG_RFKILL_BACKPORT=m
483  ifdef CONFIG_LEDS_TRIGGERS
484  CONFIG_RFKILL_BACKPORT_LEDS=y
485  endif #CONFIG_LEDS_TRIGGERS
486  CONFIG_RFKILL_BACKPORT_INPUT=y
487 -endif #CONFIG_COMPAT_KERNEL_31
488 +endif #CONFIG_COMPAT_KERNEL_2_6_31
489  
490 --- a/scripts/admin-update.sh
491 +++ b/scripts/admin-update.sh
492 @@ -18,7 +18,7 @@
493  GIT_URL="git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git"
494  GIT_COMPAT_URL="git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/compat.git"
495  
496 -INCLUDE_NET_BT="hci_core.h l2cap.h bluetooth.h rfcomm.h hci.h mgmt.h"
497 +INCLUDE_NET_BT="hci_core.h l2cap.h bluetooth.h rfcomm.h hci.h mgmt.h smp.h"
498  NET_BT_DIRS="bluetooth bluetooth/bnep bluetooth/cmtp bluetooth/rfcomm bluetooth/hidp"
499  
500  INCLUDE_LINUX="ieee80211.h nl80211.h"
501 @@ -259,7 +259,7 @@ DRIVERS_BT="drivers/bluetooth"
502  # Drivers that belong the the wireless directory
503  DRIVER_FILES="adm8211.c  adm8211.h"
504  DRIVER_FILES="$DRIVER_FILES rndis_wlan.c"
505 -DRIVER_FILES="$DRIVER_FILES mac80211_hwsim.c"
506 +DRIVER_FILES="$DRIVER_FILES mac80211_hwsim.c mac80211_hwsim.h"
507  DRIVER_FILES="$DRIVER_FILES at76c50x-usb.c at76c50x-usb.h"
508  DRIVER_FILES="$DRIVER_FILES mwl8k.c"
509  
510 --- a/scripts/gen-compat-autoconf.sh
511 +++ b/scripts/gen-compat-autoconf.sh
512 @@ -148,11 +148,11 @@ kernel_version_req $OLDEST_KERNEL_SUPPOR
513  for i in $(egrep '^CONFIG_|^ifdef CONFIG_|^ifndef CONFIG_|^endif #CONFIG_|^else #CONFIG_' $COMPAT_CONFIG | sed 's/ /+/'); do
514         case $i in
515         'ifdef+CONFIG_'* )
516 -               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)/'
517 +               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)/'
518                 continue
519                 ;;
520         'ifndef+CONFIG_'* )
521 -               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)/'
522 +               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)/'
523                 continue
524                 ;;
525         'else+#CONFIG_'* | 'endif+#CONFIG_'* )
526 @@ -184,8 +184,9 @@ done
527  # Deal with special cases. CONFIG_MAC80211_QOS is such a case.
528  # We handle this specially for different kernels we support.
529  if [ -f $KLIB_BUILD/Makefile ]; then
530 -       SUBLEVEL=$(make -C $KLIB_BUILD kernelversion | sed -n 's/^2\.6\.\([0-9]\+\).*/\1/p')
531 -       if [ $SUBLEVEL -le 22 ]; then
532 +       MAJORLEVEL=$(make -C $KLIB_BUILD kernelversion | sed -n 's/^\([0-9]\)\..*/\1/p')
533 +       SUBLEVEL=$(make -C $KLIB_BUILD kernelversion | sed -n 's/^\(2\.6\|[3-9]\)\.\([0-9]\+\).*/\2/p')
534 +       if [ $MAJORLEVEL -eq 2 -a $SUBLEVEL -le 22 ]; then
535                 define_config CONFIG_MAC80211_QOS y
536         else # kernel >= 2.6.23
537                 # CONFIG_MAC80211_QOS on these kernels requires