AA: mac80211: backport package from trunk r39886
[12.09/openwrt.git] / package / mac80211 / Makefile
1 #
2 # Copyright (C) 2007-2013 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9 include $(INCLUDE_DIR)/kernel.mk
10
11 PKG_NAME:=mac80211
12
13 PKG_VERSION:=2014-01-23.1
14 PKG_RELEASE:=1
15 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
16 PKG_BACKPORT_VERSION:=
17 PKG_MD5SUM:=8db16edbdaf4abc2e9c2f3b6c86736a6
18
19 PKG_SOURCE:=compat-wireless-$(PKG_VERSION)$(PKG_BACKPORT_VERSION).tar.bz2
20 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
21 PKG_BUILD_PARALLEL:=1
22
23 PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
24
25 PKG_DRIVERS = \
26         adm8211 ath5k libertas-usb libertas-sd p54-common p54-pci p54-usb p54-spi \
27         rt2x00-lib rt2x00-pci rt2x00-usb rt2800-lib rt2400-pci rt2500-pci \
28         rt2500-usb rt61-pci rt73-usb rt2800-mmio rt2800-pci rt2800-usb rt2800-soc \
29         rtl8180 rtl8187 zd1211rw mac80211-hwsim carl9170 b43 b43legacy \
30         ath9k-common ath9k ath9k-htc ath10k ath net-libipw net-ipw2100 net-ipw2200 \
31         mwl8k net-hermes net-hermes-pci net-hermes-plx net-hermes-pcmcia \
32         iwl-legacy iwl3945 iwl4965 iwlagn wlcore wl12xx wl18xx lib80211 \
33         rtlwifi rtlwifi-pci rtlwifi-usb rtl8192c-common rtl8192ce rtl8192se \
34         rtl8192de rtl8192cu
35
36 PKG_CONFIG_DEPENDS:= \
37         CONFIG_PACKAGE_kmod-mac80211 \
38         $(patsubst %,CONFIG_PACKAGE_kmod-%,$(PKG_DRIVERS)) \
39         CONFIG_PACKAGE_MAC80211_DEBUGFS \
40         CONFIG_PACKAGE_MAC80211_MESH \
41         CONFIG_PACKAGE_ATH_DEBUG \
42         CONFIG_PACKAGE_B43_DEBUG \
43         CONFIG_PACKAGE_B43_PIO \
44         CONFIG_PACKAGE_B43_N_PHY \
45         CONFIG_PACKAGE_RTLWIFI_DEBUG \
46         CONFIG_ATH_USER_REGD \
47
48 include $(INCLUDE_DIR)/package.mk
49
50 WMENU:=Wireless Drivers
51
52 define KernelPackage/mac80211/Default
53   SUBMENU:=$(WMENU)
54   URL:=http://linuxwireless.org/
55   MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
56   DEPENDS:=@(!(TARGET_avr32||TARGET_ps3||TARGET_pxcab)||BROKEN)
57 endef
58
59 define KernelPackage/cfg80211
60   $(call KernelPackage/mac80211/Default)
61   TITLE:=cfg80211 - wireless configuration API
62   DEPENDS+= +iw
63   FILES:= \
64         $(PKG_BUILD_DIR)/compat/compat.ko \
65         $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
66   AUTOLOAD:=$(call AutoLoad,20,compat cfg80211)
67 endef
68
69 define KernelPackage/cfg80211/description
70 cfg80211 is the Linux wireless LAN (802.11) configuration API.
71 endef
72
73 define KernelPackage/mac80211
74   $(call KernelPackage/mac80211/Default)
75   TITLE:=Linux 802.11 Wireless Networking Stack
76   DEPENDS+= +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-cfg80211
77   KCONFIG:=\
78         CONFIG_AVERAGE=y
79   FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.ko
80   AUTOLOAD:=$(call AutoLoad,21,mac80211)
81   MENU:=1
82 endef
83
84 define KernelPackage/mac80211/config
85   if PACKAGE_kmod-mac80211
86
87         config PACKAGE_MAC80211_DEBUGFS
88                 bool "Export mac80211 internals in DebugFS"
89                 select KERNEL_DEBUG_FS
90                 select KERNEL_RELAY if PACKAGE_kmod-ath9k-common
91                 default y
92                 help
93                   Select this to see extensive information about
94                   the internal state of mac80211 in debugfs.
95
96         config PACKAGE_MAC80211_MESH
97                 bool "Enable 802.11s mesh support"
98                 default y
99
100   endif
101 endef
102
103 define KernelPackage/mac80211/description
104 Generic IEEE 802.11 Networking Stack (mac80211)
105 endef
106
107 PKG_LINUX_FIRMWARE_NAME:=linux-firmware
108 PKG_LINUX_FIRMWARE_VERSION:=7d0c7a8cfd78388d90cc784a185b19dcbdbce824
109 PKG_LINUX_FIRMWARE_SOURCE:=$(PKG_LINUX_FIRMWARE_NAME)-$(PKG_LINUX_FIRMWARE_VERSION).tar.bz2
110 PKG_LINUX_FIRMWARE_PROTO:=git
111 PKG_LINUX_FIRMWARE_SOURCE_URL:=git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
112 PKG_LINUX_FIRMWARE_SUBDIR:=$(PKG_LINUX_FIRMWARE_NAME)-$(PKG_LINUX_FIRMWARE_VERSION)
113 PKG_LINUX_FIRMWARE_MIRROR_MD5SUM:=837a1a9456c1ec8b428cc0b2b08a331b
114
115 define Download/linux-firmware
116   FILE:=$(PKG_LINUX_FIRMWARE_SOURCE)
117   URL:=$(PKG_LINUX_FIRMWARE_SOURCE_URL)
118   MD5SUM:=$(PKG_LINUX_FIRMWARE_MD5SUM)
119   PROTO:=$(PKG_LINUX_FIRMWARE_PROTO)
120   VERSION:=$(PKG_LINUX_FIRMWARE_VERSION)
121   SUBDIR:=$(PKG_LINUX_FIRMWARE_SUBDIR)
122   MIRROR_MD5SUM:=$(PKG_LINUX_FIRMWARE_MIRROR_MD5SUM)
123 endef
124 $(eval $(call Download,linux-firmware))
125
126 PKG_ATH10K_LINUX_FIRMWARE_NAME:=ath10k-firmware
127 PKG_ATH10K_LINUX_FIRMWARE_VERSION:=d86e78e5c6be34329936c8bd73a212700437be2e
128 PKG_ATH10K_LINUX_FIRMWARE_SOURCE:=$(PKG_ATH10K_LINUX_FIRMWARE_NAME)-$(PKG_ATH10K_LINUX_FIRMWARE_VERSION).tar.bz2
129 PKG_ATH10K_LINUX_FIRMWARE_PROTO:=git
130 PKG_ATH10K_LINUX_FIRMWARE_SOURCE_URL:=https://github.com/kvalo/ath10k-firmware.git
131 PKG_ATH10K_LINUX_FIRMWARE_SUBDIR:=$(PKG_ATH10K_LINUX_FIRMWARE_NAME)-$(PKG_ATH10K_LINUX_FIRMWARE_VERSION)
132 #PKG_ATH10K_LINUX_FIRMWARE_MIRROR_MD5SUM:=?
133
134 define Download/ath10k-firmware
135   FILE:=$(PKG_ATH10K_LINUX_FIRMWARE_SOURCE)
136   URL:=$(PKG_ATH10K_LINUX_FIRMWARE_SOURCE_URL)
137   PROTO:=$(PKG_ATH10K_LINUX_FIRMWARE_PROTO)
138   VERSION:=$(PKG_ATH10K_LINUX_FIRMWARE_VERSION)
139   SUBDIR:=$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)
140   #MIRROR_MD5SUM:=$(PKG_ATH10K_LINUX_FIRMWARE_MIRROR_MD5SUM)
141 endef
142 $(eval $(call Download,ath10k-firmware))
143
144 # Prism54 drivers
145 P54PCIFW:=2.13.12.0.arm
146 P54USBFW:=2.13.24.0.lm87.arm
147 P54SPIFW:=2.13.0.0.a.13.14.arm
148
149 define Download/p54usb
150   FILE:=$(P54USBFW)
151   URL:=http://daemonizer.de/prism54/prism54-fw/fw-usb
152   MD5SUM:=8e8ab005a4f8f0123bcdc51bc25b47f6
153 endef
154 $(eval $(call Download,p54usb))
155
156 define Download/p54pci
157   FILE:=$(P54PCIFW)
158   URL:=http://daemonizer.de/prism54/prism54-fw/fw-softmac
159   MD5SUM:=ff7536af2092b1c4b21315bd103ef4c4
160 endef
161 $(eval $(call Download,p54pci))
162
163 define Download/p54spi
164   FILE:=$(P54SPIFW)
165   URL:=http://daemonizer.de/prism54/prism54-fw/stlc4560
166   MD5SUM:=42661f8ecbadd88012807493f596081d
167 endef
168 $(eval $(call Download,p54spi))
169
170 define KernelPackage/p54/Default
171   $(call KernelPackage/mac80211/Default)
172   TITLE:=Prism54 Drivers
173 endef
174
175 define KernelPackage/p54/description
176   Kernel module for Prism54 chipsets (mac80211)
177 endef
178
179 define KernelPackage/p54-common
180   $(call KernelPackage/p54/Default)
181   DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT||@TARGET_omap24xx +kmod-mac80211 +kmod-lib-crc-ccitt
182   TITLE+= (COMMON)
183   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54common.ko
184   AUTOLOAD:=$(call AutoLoad,30,p54common)
185 endef
186
187 define KernelPackage/p54-pci
188   $(call KernelPackage/p54/Default)
189   TITLE+= (PCI)
190   DEPENDS+= @PCI_SUPPORT +kmod-p54-common
191   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54pci.ko
192   AUTOLOAD:=$(call AutoLoad,31,p54pci)
193 endef
194
195 define KernelPackage/p54-usb
196   $(call KernelPackage/p54/Default)
197   TITLE+= (USB)
198   DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common
199   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54usb.ko
200   AUTOLOAD:=$(call AutoLoad,31,p54usb)
201 endef
202
203 define KernelPackage/p54-spi
204   $(call KernelPackage/p54/Default)
205   TITLE+= (SPI)
206   DEPENDS+= @TARGET_omap24xx +kmod-p54-common
207   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54spi.ko
208   AUTOLOAD:=$(call AutoLoad,31,p54spi)
209 endef
210
211 define KernelPackage/rt2x00/Default
212   $(call KernelPackage/mac80211/Default)
213   TITLE:=Ralink Drivers for RT2x00 cards
214 endef
215
216 define KernelPackage/rt2x00-lib
217 $(call KernelPackage/rt2x00/Default)
218   DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-mac80211 +kmod-lib-crc-itu-t
219   TITLE+= (LIB)
220   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00lib.ko
221   AUTOLOAD:=$(call AutoLoad,24,rt2x00lib)
222   MENU:=1
223 endef
224
225 define KernelPackage/rt2x00-lib/config
226   if PACKAGE_kmod-rt2x00-lib
227
228         config PACKAGE_RT2X00_LIB_DEBUGFS
229                 bool "Enable rt2x00 debugfs support"
230                 depends on PACKAGE_MAC80211_DEBUGFS
231                 help
232                   Enable creation of debugfs files for the rt2x00 drivers.
233                   These debugfs files support both reading and writing of the
234                   most important register types of the rt2x00 hardware.
235
236         config PACKAGE_RT2X00_DEBUG
237                 bool "Enable rt2x00 debug output"
238                 help
239                   Enable debugging output for all rt2x00 modules
240
241   endif
242 endef
243
244 define KernelPackage/rt2x00-mmio
245 $(call KernelPackage/rt2x00/Default)
246   DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-eeprom-93cx6
247   HIDDEN:=1
248   TITLE+= (MMIO)
249   FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00mmio.ko
250   AUTOLOAD:=$(call AutoLoad,25,rt2x00mmio)
251 endef
252
253 define KernelPackage/rt2x00-pci
254 $(call KernelPackage/rt2x00/Default)
255   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-mmio +kmod-rt2x00-lib
256   HIDDEN:=1
257   TITLE+= (PCI)
258   FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00pci.ko
259   AUTOLOAD:=$(call AutoLoad,26,rt2x00pci)
260 endef
261
262 define KernelPackage/rt2x00-usb
263 $(call KernelPackage/rt2x00/Default)
264   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
265   HIDDEN:=1
266   TITLE+= (USB)
267   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00usb.ko
268   AUTOLOAD:=$(call AutoLoad,26,rt2x00usb)
269 endef
270
271 define KernelPackage/rt2800-lib
272 $(call KernelPackage/rt2x00/Default)
273   DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-lib-crc-ccitt +@DRIVER_11N_SUPPORT
274   HIDDEN:=1
275   TITLE+= (rt2800 LIB)
276   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800lib.ko
277   AUTOLOAD:=$(call AutoLoad,27,rt2800lib)
278 endef
279
280 define KernelPackage/rt2400-pci
281 $(call KernelPackage/rt2x00/Default)
282   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
283   TITLE+= (RT2400 PCI)
284   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2400pci.ko
285   AUTOLOAD:=$(call AutoLoad,27,rt2400pci)
286 endef
287
288 define KernelPackage/rt2500-pci
289 $(call KernelPackage/rt2x00/Default)
290   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
291   TITLE+= (RT2500 PCI)
292   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500pci.ko
293   AUTOLOAD:=$(call AutoLoad,27,rt2500pci)
294 endef
295
296 define KernelPackage/rt2500-usb
297 $(call KernelPackage/rt2x00/Default)
298   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
299   TITLE+= (RT2500 USB)
300   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500usb.ko
301   AUTOLOAD:=$(call AutoLoad,27,rt2500usb)
302 endef
303
304 define KernelPackage/rt61-pci
305 $(call KernelPackage/rt2x00/Default)
306   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
307   TITLE+= (RT2x61 PCI)
308   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt61pci.ko
309   AUTOLOAD:=$(call AutoLoad,27,rt61pci)
310 endef
311
312 define KernelPackage/rt73-usb
313   $(call KernelPackage/rt2x00/Default)
314   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
315   TITLE+= (RT73 USB)
316   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt73usb.ko
317   AUTOLOAD:=$(call AutoLoad,27,rt73usb)
318 endef
319
320 define KernelPackage/rt2800-mmio
321 $(call KernelPackage/rt2x00/Default)
322   TITLE += (RT28xx/RT3xxx MMIO)
323   DEPENDS += +kmod-rt2800-lib +kmod-rt2x00-mmio
324   HIDDEN:=1
325   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800mmio.ko
326   AUTOLOAD:=$(call AutoLoad,28,rt2800mmio)
327 endef
328
329 define KernelPackage/rt2800-soc
330 $(call KernelPackage/rt2x00/Default)
331   DEPENDS += @TARGET_ramips_rt305x +kmod-rt2800-mmio +kmod-rt2800-lib
332   TITLE += (RT28xx/RT3xxx SoC)
333   FILES := \
334         $(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00soc.ko \
335         $(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800soc.ko
336   AUTOLOAD:=$(call AutoLoad,29,rt2x00soc rt2800soc)
337 endef
338
339 define KernelPackage/rt2800-pci
340 $(call KernelPackage/rt2x00/Default)
341   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci +kmod-rt2800-lib +kmod-rt2800-mmio
342   TITLE+= (RT2860 PCI)
343   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800pci.ko
344   AUTOLOAD:=$(call AutoLoad,29,rt2800pci)
345 endef
346
347 define KernelPackage/rt2800-usb
348 $(call KernelPackage/rt2x00/Default)
349   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb +kmod-rt2800-lib +kmod-lib-crc-ccitt
350   TITLE+= (RT2870 USB)
351   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800usb.ko
352   AUTOLOAD:=$(call AutoLoad,28,rt2800usb)
353 endef
354
355 define KernelPackage/rtl818x/Default
356   $(call KernelPackage/mac80211/Default)
357   TITLE:=Realtek Drivers for RTL818x devices
358   URL:=http://wireless.kernel.org/en/users/Drivers/rtl8187
359   DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211
360 endef
361
362 define KernelPackage/rtl8180
363   $(call KernelPackage/rtl818x/Default)
364   DEPENDS+= @PCI_SUPPORT
365   TITLE+= (RTL8180 PCI)
366   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8180/rtl8180.ko
367   AUTOLOAD:=$(call AutoLoad,27,rtl8180)
368 endef
369
370 define KernelPackage/rtl8187
371 $(call KernelPackage/rtl818x/Default)
372   DEPENDS+= @USB_SUPPORT +kmod-usb-core
373   TITLE+= (RTL8187 USB)
374   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko
375   AUTOLOAD:=$(call AutoLoad,27,rtl8187)
376 endef
377
378 define KernelPackage/rtlwifi/config
379         menu "Configuration"
380                 depends on PACKAGE_kmod-rtlwifi
381
382         config PACKAGE_RTLWIFI_DEBUG
383                 bool "Realtek wireless debugging"
384                 help
385                   Say Y, if you want to debug realtek wireless drivers.
386
387         endmenu
388 endef
389
390 define KernelPackage/rtlwifi
391   $(call KernelPackage/mac80211/Default)
392   TITLE:=Realtek common driver part
393   DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT) +kmod-mac80211 +@DRIVER_11N_SUPPORT
394   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtlwifi/rtlwifi.ko
395   AUTOLOAD:=$(call AutoLoad,60,rtlwifi)
396   MENU:=1
397 endef
398
399 define KernelPackage/rtlwifi-pci
400   $(call KernelPackage/mac80211/Default)
401   TITLE:=Realtek common driver part (PCI support)
402   DEPENDS+= @PCI_SUPPORT +kmod-rtlwifi
403   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtlwifi/rtl_pci.ko
404   AUTOLOAD:=$(call AutoLoad,61,rtl_pci)
405   HIDDEN:=1
406 endef
407
408 define KernelPackage/rtlwifi-usb
409   $(call KernelPackage/mac80211/Default)
410   TITLE:=Realtek common driver part (USB support)
411   DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-rtlwifi
412   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtlwifi/rtl_usb.ko
413   AUTOLOAD:=$(call AutoLoad,61,rtl_usb)
414   HIDDEN:=1
415 endef
416
417 define KernelPackage/rtl8192c-common
418   $(call KernelPackage/mac80211/Default)
419   TITLE:=Realtek RTL8192CE/RTL8192CU common support module
420   DEPENDS+= +kmod-rtlwifi
421   FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common.ko
422   AUTOLOAD:=$(call AutoLoad,62,rtl8192c-common)
423   HIDDEN:=1
424 endef
425
426 define KernelPackage/rtl8192ce
427   $(call KernelPackage/mac80211/Default)
428   TITLE:=Realtek RTL8192CE/RTL8188CE support
429   DEPENDS+= +kmod-rtlwifi-pci +kmod-rtl8192c-common
430   FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/rtlwifi/rtl8192ce/rtl8192ce.ko
431   AUTOLOAD:=$(call AutoLoad,63,rtl8192ce)
432 endef
433
434 define KernelPackage/rtl8192ce/install
435         $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi
436         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192cfw.bin $(1)/lib/firmware/rtlwifi
437 endef
438
439 define KernelPackage/rtl8192se
440   $(call KernelPackage/mac80211/Default)
441   TITLE:=Realtek RTL8192SE/RTL8191SE support
442   DEPENDS+= +kmod-rtlwifi-pci
443   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtlwifi/rtl8192se/rtl8192se.ko
444   AUTOLOAD:=$(call AutoLoad,63,rtl8192se)
445 endef
446
447 define KernelPackage/rtl8192se/install
448         $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi
449         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192sefw.bin $(1)/lib/firmware/rtlwifi
450 endef
451
452 define KernelPackage/rtl8192de
453   $(call KernelPackage/mac80211/Default)
454   TITLE:=Realtek RTL8192DE/RTL8188DE support
455   DEPENDS+= +kmod-rtlwifi-pci
456   FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/rtlwifi/rtl8192de/rtl8192de.ko
457   AUTOLOAD:=$(call AutoLoad,63,rtl8192de)
458 endef
459
460 define KernelPackage/rtl8192de/install
461         $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi
462         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192defw.bin $(1)/lib/firmware/rtlwifi
463 endef
464
465 define KernelPackage/rtl8192cu
466   $(call KernelPackage/mac80211/Default)
467   TITLE:=Realtek RTL8192CU/RTL8188CU support
468   DEPENDS+= +kmod-rtlwifi-usb +kmod-rtl8192c-common
469   FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/rtlwifi/rtl8192cu/rtl8192cu.ko
470   AUTOLOAD:=$(call AutoLoad,63,rtl8192cu)
471 endef
472
473 define KernelPackage/rtl8192cu/install
474         $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi
475         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192cufw.bin $(1)/lib/firmware/rtlwifi
476 endef
477
478 ZD1211FW_NAME:=zd1211-firmware
479 ZD1211FW_VERSION:=1.4
480 define Download/zd1211rw
481   FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
482   URL:=@SF/zd1211/
483   MD5SUM:=19f28781d76569af8551c9d11294c870
484 endef
485 $(eval $(call Download,zd1211rw))
486
487 define KernelPackage/zd1211rw
488   $(call KernelPackage/mac80211/Default)
489   TITLE:=Zydas ZD1211 support
490   DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
491   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zd1211rw/zd1211rw.ko
492   AUTOLOAD:=$(call AutoLoad,60,zd1211rw)
493 endef
494
495 define KernelPackage/adm8211
496   $(call KernelPackage/mac80211/Default)
497   TITLE:=ADMTek 8211 support
498   DEPENDS+=@PCI_SUPPORT +kmod-mac80211 +kmod-eeprom-93cx6
499   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/adm8211.ko
500   AUTOLOAD:=$(call AutoLoad,60,adm8211)
501 endef
502
503 define KernelPackage/ath/config
504   if PACKAGE_kmod-ath
505         config ATH_USER_REGD
506                 bool "Force Atheros drivers to respect the user's regdomain settings"
507                 help
508                   Atheros' idea of regulatory handling is that the EEPROM of the card defines
509                   the regulatory limits and the user is only allowed to restrict the settings
510                   even further, even if the country allows frequencies or power levels that
511                   are forbidden by the EEPROM settings.
512
513                   Select this option if you want the driver to respect the user's decision about
514                   regulatory settings.
515
516         config PACKAGE_ATH_DEBUG
517                 bool "Atheros wireless debugging"
518                 help
519                   Say Y, if you want to debug atheros wireless drivers.
520                   Right now only ath9k makes use of this.
521   endif
522 endef
523
524 define KernelPackage/ath
525   $(call KernelPackage/mac80211/Default)
526   TITLE:=Atheros common driver part
527   DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx||TARGET_atheros +kmod-mac80211
528   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.ko
529   AUTOLOAD:=$(call AutoLoad,26,ath)
530   MENU:=1
531 endef
532
533 define KernelPackage/ath/description
534  This module contains some common parts needed by Atheros Wireless drivers.
535 endef
536
537 define KernelPackage/ath5k
538   $(call KernelPackage/mac80211/Default)
539   TITLE:=Atheros 5xxx wireless cards support
540   URL:=http://linuxwireless.org/en/users/Drivers/ath5k
541   DEPENDS+= @PCI_SUPPORT||@TARGET_atheros +kmod-ath
542   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.ko
543   AUTOLOAD:=$(call AutoLoad,27,ath5k)
544 endef
545
546 define KernelPackage/ath5k/description
547  This module adds support for wireless adapters based on
548  Atheros 5xxx chipset.
549 endef
550
551 define KernelPackage/ath9k-common
552   $(call KernelPackage/mac80211/Default)
553   TITLE:=Atheros 802.11n wireless devices (common code for ath9k and ath9k_htc)
554   URL:=http://linuxwireless.org/en/users/Drivers/ath9k
555   DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx +kmod-ath +@DRIVER_11N_SUPPORT
556   FILES:= \
557         $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.ko \
558         $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
559   AUTOLOAD:=$(call AutoLoad,27,ath9k_hw ath9k_common)
560 endef
561
562 define KernelPackage/ath9k
563   $(call KernelPackage/mac80211/Default)
564   TITLE:=Atheros 802.11n PCI wireless cards support
565   URL:=http://linuxwireless.org/en/users/Drivers/ath9k
566   DEPENDS+= @PCI_SUPPORT||TARGET_ar71xx +kmod-ath9k-common
567   FILES:= \
568         $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.ko
569   AUTOLOAD:=$(call AutoLoad,28,ath9k)
570 endef
571
572 define KernelPackage/ath9k/description
573 This module adds support for wireless adapters based on
574 Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
575 endef
576
577 define KernelPackage/ath9k-htc
578   $(call KernelPackage/mac80211/Default)
579   TITLE:=Atheros 802.11n USB device support
580   URL:=http://linuxwireless.org/en/users/Drivers/ath9k
581   DEPENDS+= @USB_SUPPORT +kmod-ath9k-common +kmod-usb-core
582   FILES:= \
583         $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
584   AUTOLOAD:=$(call AutoLoad,55,ath9k_htc)
585 endef
586
587 define KernelPackage/ath9k-htc/description
588 This module adds support for wireless adapters based on
589 Atheros USB AR9271 and AR7010 family of chipsets.
590 endef
591
592 define KernelPackage/ath10k
593   $(call KernelPackage/mac80211/Default)
594   TITLE:=Atheros 802.11ac wireless cards support
595   URL:=http://wireless.kernel.org/en/users/Drivers/ath10k
596   DEPENDS+= @PCI_SUPPORT +kmod-ath +@DRIVER_11N_SUPPORT
597   FILES:= \
598         $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_core.ko \
599         $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_pci.ko
600   AUTOLOAD:=$(call AutoLoad,55,ath10k_core ath10k_pci)
601 endef
602
603 define KernelPackage/ath10k/description
604 This module adds support for wireless adapters based on
605 Atheros IEEE 802.11ac family of chipsets. For now only
606 PCI is supported.
607 endef
608
609 define KernelPackage/carl9170
610   $(call KernelPackage/mac80211/Default)
611   TITLE:=Driver for Atheros AR9170 USB sticks
612   DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core +kmod-input-core +@DRIVER_11N_SUPPORT
613   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/carl9170/carl9170.ko
614   AUTOLOAD:=$(call AutoLoad,60,carl9170)
615 endef
616
617 define KernelPackage/lib80211
618   $(call KernelPackage/mac80211/Default)
619   TITLE:=802.11 Networking stack
620   DEPENDS:=+kmod-cfg80211
621   FILES:= \
622         $(PKG_BUILD_DIR)/net/wireless/lib80211.ko \
623         $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_wep.ko \
624         $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_ccmp.ko \
625         $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_tkip.ko
626   AUTOLOAD:=$(call AutoLoad,21, \
627         lib80211 \
628         lib80211_crypt_wep \
629         lib80211_crypt_ccmp \
630         lib80211_crypt_tkip \
631   )
632 endef
633
634 define KernelPackage/lib80211/description
635  Kernel modules for 802.11 Networking stack
636  Includes:
637  - lib80211
638  - lib80211_crypt_wep
639  - lib80211_crypt_tkip
640  - lib80211_crytp_ccmp
641 endef
642
643 define KernelPackage/libertas-usb
644   $(call KernelPackage/mac80211/Default)
645   DEPENDS+= @USB_SUPPORT +kmod-cfg80211 +kmod-usb-core +kmod-lib80211 +@DRIVER_WEXT_SUPPORT
646   TITLE:=Marvell 88W8015 Wireless Driver
647   FILES:= \
648         $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
649         $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/usb8xxx.ko
650   AUTOLOAD:=$(call AutoLoad,27,libertas usb8xxx)
651 endef
652
653 define KernelPackage/libertas-sd
654   $(call KernelPackage/mac80211/Default)
655   DEPENDS+= +kmod-cfg80211 +kmod-lib80211 +kmod-mmc +@DRIVER_WEXT_SUPPORT
656   TITLE:=Marvell 88W8686 Wireless Driver
657   FILES:= \
658         $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
659         $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas_sdio.ko
660   AUTOLOAD:=$(call AutoLoad,91,libertas libertas_sdio)
661 endef
662
663 define KernelPackage/mac80211-hwsim
664   $(call KernelPackage/mac80211/Default)
665   TITLE:=mac80211 HW simulation device
666   DEPENDS+= +kmod-mac80211
667   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.ko
668   AUTOLOAD:=$(call AutoLoad,60,mac80211_hwsim)
669 endef
670
671 define KernelPackage/net-libipw
672   $(call KernelPackage/mac80211/Default)
673   TITLE:=libipw for ipw2100 and ipw2200
674   DEPENDS:=@PCI_SUPPORT +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT
675   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/libipw.ko
676   AUTOLOAD:=$(call AutoLoad,49,libipw)
677 endef
678
679 define KernelPackage/net-libipw/description
680  Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
681 endef
682
683 IPW2100_NAME:=ipw2100-fw
684 IPW2100_VERSION:=1.3
685
686 define Download/net-ipw2100
687   URL:=http://bughost.org/firmware/
688   FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
689   MD5SUM=46aa75bcda1a00efa841f9707bbbd113
690 endef
691 $(eval $(call Download,net-ipw2100))
692
693 define KernelPackage/net-ipw2100
694   $(call KernelPackage/mac80211/Default)
695   TITLE:=Intel IPW2100 driver
696   DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
697   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2100.ko
698   AUTOLOAD:=$(call AutoLoad,50,ipw2100)
699 endef
700
701 define KernelPackage/net-ipw2100/description
702  Kernel support for Intel IPW2100
703  Includes:
704  - ipw2100
705 endef
706
707 IPW2200_NAME:=ipw2200-fw
708 IPW2200_VERSION:=3.1
709
710 define Download/net-ipw2200
711   URL:=http://bughost.org/firmware/
712   FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
713   MD5SUM=eaba788643c7cc7483dd67ace70f6e99
714 endef
715 $(eval $(call Download,net-ipw2200))
716
717 define KernelPackage/net-ipw2200
718   $(call KernelPackage/mac80211/Default)
719   TITLE:=Intel IPW2200 driver
720   DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
721   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2200.ko
722   AUTOLOAD:=$(call AutoLoad,50,ipw2200)
723 endef
724
725 define KernelPackage/net-ipw2200/description
726  Kernel support for Intel IPW2200
727  Includes:
728  - ipw2200
729 endef
730
731
732 define KernelPackage/net-hermes
733   $(call KernelPackage/mac80211/Default)
734   TITLE:=Hermes 802.11b chipset support
735   DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT
736   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco.ko
737   AUTOLOAD:=$(call AutoLoad,50,orinoco)
738 endef
739
740 define KernelPackage/net-hermes/description
741  Kernel support for Hermes 802.11b chipsets
742 endef
743
744 define KernelPackage/net-hermes-pci
745   $(call KernelPackage/mac80211/Default)
746   TITLE:=Intersil Prism 2.5 PCI support
747   DEPENDS:=@PCI_SUPPORT +kmod-net-hermes
748   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_pci.ko
749   AUTOLOAD:=$(call AutoLoad,55,orinoco_pci)
750 endef
751
752 define KernelPackage/net-hermes-pci/description
753  Kernel modules for Intersil Prism 2.5 PCI support
754 endef
755
756 define KernelPackage/net-hermes-plx
757   $(call KernelPackage/mac80211/Default)
758   TITLE:=PLX9052 based PCI adaptor
759   DEPENDS:=@PCI_SUPPORT +kmod-net-hermes
760   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_plx.ko
761   AUTOLOAD:=$(call AutoLoad,55,orinoco_plx)
762 endef
763
764 define KernelPackage/net-hermes-plx/description
765  Kernel modules for Hermes in PLX9052 based PCI adaptors
766 endef
767
768 define KernelPackage/net-hermes-pcmcia
769   $(call KernelPackage/mac80211/Default)
770   TITLE:=Hermes based PCMCIA adaptors
771   DEPENDS:=@PCMCIA_SUPPORT +kmod-net-hermes @BROKEN
772   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_cs.ko
773   AUTOLOAD:=$(call AutoLoad,55,orinoco_cs)
774 endef
775
776 define KernelPackage/net-hermes-pcmcia/description
777  Kernel modules for Hermes based PCMCIA adaptors
778 endef
779
780 define KernelPackage/iwlagn
781   $(call KernelPackage/mac80211/Default)
782   DEPENDS:= +kmod-mac80211 @PCI_SUPPORT +@DRIVER_11N_SUPPORT
783   TITLE:=Intel AGN Wireless support
784   FILES:= \
785         $(PKG_BUILD_DIR)/drivers/net/wireless/iwlwifi/iwlwifi.ko \
786         $(PKG_BUILD_DIR)/drivers/net/wireless/iwlwifi/dvm/iwldvm.ko
787   AUTOLOAD:=$(call AutoLoad,60,iwlwifi iwldvm)
788   MENU:=1
789 endef
790
791 define KernelPackage/iwlagn/description
792  iwlagn kernel module for Intel 5000/5150/1000/6000/6050/6005/6030/100 support
793 endef
794
795 define KernelPackage/iwlagn/config
796   if PACKAGE_kmod-iwlagn
797
798         config IWL5000_FW
799                 bool "Intel 5000 Firmware"
800                 default y
801                 help
802                   Download and install firmware for:
803                     Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN
804
805         config IWL5150_FW
806                 bool "Intel 5150 Firmware"
807                 default y
808                 help
809                   Download and install firmware for:
810                     Intel Wireless WiFi 5150AGN
811
812         config IWL1000_FW
813                 bool "Intel 1000 Firmware"
814                 default y
815                 help
816                   Download and install firmware for:
817                     Intel Centrino Wireless-N 1000
818
819         config IWL6000_FW
820                 bool "Intel 6000 Firmware"
821                 default y
822                 help
823                   Download and install firmware for:
824                     Intel Centrino Ultimate-N 6300 and Advanced-N 6200
825
826         config IWL6050_FW
827                 bool "Intel 6050 Firmware"
828                 default y
829                 help
830                   Download and install firmware for:
831                     Intel Centrino Advanced-N + WiMAX 6250 and Wireless-N + WiMAX 6150
832
833         config IWL6005_FW
834                 bool "Intel 6005 Firmware"
835                 default y
836                 help
837                   Download and install firmware for:
838                     Intel Centrino Advanced-N 6205
839
840         config IWL6030_FW
841                 bool "Intel 6030 Firmware"
842                 default y
843                 help
844                   Download and install firmware for:
845                     Intel Centrino Advanced-N 6230, Wireless-N 1030, Wireless-N 130 and Advanced-N 6235
846
847         config IWL100_FW
848                 bool "Intel 100 Firmware"
849                 default y
850                 help
851                   Download and install firmware for:
852                     Intel Centrino Wireless-N 100
853
854         config IWL2000_FW
855                 bool "Intel 2000 Firmware"
856                 default y
857                 help
858                   Download and install firmware for:
859                     Intel Centrino Wireless-N 2200
860
861         config IWL2030_FW
862                 bool "Intel 2030 Firmware"
863                 default y
864                 help
865                   Download and install firmware for:
866                     Intel Centrino Wireless-N 2230
867
868         config IWL105_FW
869                 bool "Intel 105 Firmware"
870                 default y
871                 help
872                   Download and install firmware for:
873                     Intel Centrino Wireless-N 105
874
875         config IWL135_FW
876                 bool "Intel 135 Firmware"
877                 default y
878                 help
879                   Download and install firmware for:
880                     Intel Centrino Wireless-N 135
881   endif
882 endef
883
884 define KernelPackage/iwl-legacy
885   $(call KernelPackage/mac80211/Default)
886   DEPENDS:= +kmod-mac80211 @PCI_SUPPORT
887   TITLE:=Intel legacy Wireless support
888   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwlegacy.ko
889   AUTOLOAD:=$(call AutoLoad,60,iwlegacy)
890 endef
891
892 define KernelPackage/iwl-legacy/description
893  iwl-legacy kernel module for legacy Intel wireless support
894 endef
895
896 define KernelPackage/iwl3945
897   $(call KernelPackage/mac80211/Default)
898   DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy
899   TITLE:=Intel iwl3945 Wireless support
900   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl3945.ko
901   AUTOLOAD:=$(call AutoLoad,61,iwl3945)
902 endef
903
904 define KernelPackage/iwl3945/description
905  iwl3945 kernel module for Intel 3945 support
906 endef
907
908 define KernelPackage/iwl4965
909   $(call KernelPackage/mac80211/Default)
910   DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy +@DRIVER_11N_SUPPORT
911   TITLE:=Intel iwl4965 Wireless support
912   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl4965.ko
913   AUTOLOAD:=$(call AutoLoad,61,iwl4965)
914 endef
915
916 define KernelPackage/iwl4965/description
917  iwl4965 kernel module for Intel 4965 support
918 endef
919
920
921 define KernelPackage/mwl8k
922   $(call KernelPackage/mac80211/Default)
923   TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards
924   URL:=http://wireless.kernel.org/en/users/Drivers/mwl8k
925   DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +@DRIVER_11N_SUPPORT
926   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mwl8k.ko
927   AUTOLOAD:=$(call AutoLoad,27,mwl8k)
928 endef
929
930 define KernelPackage/mwl8k/description
931  Kernel modules for Marvell TOPDOG 802.11 Wireless cards
932 endef
933
934
935 define KernelPackage/wlcore
936   $(call KernelPackage/mac80211/Default)
937   TITLE:=TI common driver part
938   DEPENDS+= @TARGET_omap +kmod-mac80211 +@DRIVER_11N_SUPPORT
939   FILES:= \
940         $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore.ko \
941         $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore_sdio.ko
942   AUTOLOAD:=$(call AutoLoad,61,wlcore wlcore_sdio)
943 endef
944
945 define KernelPackage/wlcore/description
946  This module contains some common parts needed by TI Wireless drivers.
947 endef
948
949 define KernelPackage/wl12xx
950   $(call KernelPackage/mac80211/Default)
951   TITLE:=Driver for TI WL12xx
952   URL:=http://wireless.kernel.org/en/users/Drivers/wl12xx
953   DEPENDS+= +kmod-wlcore
954   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl12xx/wl12xx.ko
955   AUTOLOAD:=$(call AutoLoad,62,wl12xx)
956 endef
957
958 define KernelPackage/wl12xx/description
959  Kernel modules for TI WL12xx
960 endef
961
962 define KernelPackage/wl18xx
963   $(call KernelPackage/mac80211/Default)
964   TITLE:=Driver for TI WL18xx
965   URL:=http://wireless.kernel.org/en/users/Drivers/wl18xx
966   DEPENDS+= +kmod-wlcore
967   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl18xx/wl18xx.ko
968   AUTOLOAD:=$(call AutoLoad,62,wl18xx)
969 endef
970
971 define KernelPackage/wl18xx/description
972  Kernel modules for TI WL18xx
973 endef
974
975
976 #Broadcom firmware
977 ifneq ($(CONFIG_B43_FW_5_10),)
978   PKG_B43_FWV4_NAME:=broadcom-wl
979   PKG_B43_FWV4_VERSION:=5.10.56.27.3
980   PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta/wl_prebuilt.o
981   PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)_mipsel.tar.bz2
982   PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
983   PKG_B43_FWV4_MD5SUM:=3363e3a6b3d9d73c49dea870c7834eac
984 else
985 ifneq ($(CONFIG_B43_FW_4_178),)
986   PKG_B43_FWV4_NAME:=broadcom-wl
987   PKG_B43_FWV4_VERSION:=4.178.10.4
988   PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
989   PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
990   PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
991   PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
992 else
993 ifneq ($(CONFIG_B43_FW_5_100_138),)
994   PKG_B43_FWV4_NAME:=broadcom-wl
995   PKG_B43_FWV4_VERSION:=5.100.138
996   PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
997   PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
998   PKG_B43_FWV4_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
999   PKG_B43_FWV4_MD5SUM:=f4e357b09eaf5d8b1f1920cf3493a555
1000 else
1001   PKG_B43_FWV4_NAME:=broadcom-wl
1002   PKG_B43_FWV4_VERSION:=4.150.10.5
1003   PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
1004   PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
1005   PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
1006   PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
1007 endif
1008 endif
1009 endif
1010 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
1011   PKG_B43_FWV4_NAME:=broadcom-wl
1012   PKG_B43_FWV4_VERSION:=5.2
1013   PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
1014   PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
1015   PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
1016   PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
1017 endif
1018
1019
1020 PKG_B43_FWV3_NAME:=wl_apsta
1021 PKG_B43_FWV3_VERSION:=3.130.20.0
1022 PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o
1023 PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/
1024 PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3
1025
1026 define Download/b43
1027   FILE:=$(PKG_B43_FWV4_SOURCE)
1028   URL:=$(PKG_B43_FWV4_SOURCE_URL)
1029   MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
1030 endef
1031 $(eval $(call Download,b43))
1032
1033 define Download/b43legacy
1034   FILE:=$(PKG_B43_FWV3_SOURCE)
1035   URL:=$(PKG_B43_FWV3_SOURCE_URL)
1036   MD5SUM:=$(PKG_B43_FWV3_MD5SUM)
1037 endef
1038 $(eval $(call Download,b43legacy))
1039
1040
1041 define KernelPackage/b43
1042   $(call KernelPackage/mac80211/Default)
1043   TITLE:=Broadcom 43xx wireless support
1044   URL:=http://linuxwireless.org/en/users/Drivers/b43
1045   KCONFIG:= \
1046         CONFIG_HW_RANDOM=y
1047   DEPENDS+= +kmod-mac80211 +!TARGET_brcm47xx:kmod-bcma +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
1048   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.ko
1049   AUTOLOAD:=$(call AutoLoad,30,b43)
1050   MENU:=1
1051 endef
1052
1053 define KernelPackage/b43/config
1054   if PACKAGE_kmod-b43
1055
1056         choice
1057                 prompt "b43 firmware version"
1058                 default B43_FW_5_100_138
1059                 help
1060                   This option allows you to select the version of the b43 firmware.
1061
1062         config B43_FW_4_150
1063                 bool "Firmware 410.2160 from driver 4.150.10.5 (old stable)"
1064                 help
1065                   Stable firmware for BCM43xx devices.
1066
1067                   If unsure, select this.
1068
1069         config B43_FW_4_178
1070                 bool "Firmware 478.104 from driver 4.178.10.4"
1071                 help
1072                   Experimental firmware for BCM43xx devices.
1073
1074                   This firmware is not tested as much as the "stable" firmware.
1075
1076                   If unsure, select the "stable" firmware.
1077
1078         config B43_FW_5_10
1079                 bool "Firmware 508.1084 from driver 5.10.56.27"
1080                 help
1081                   Newer experimental firmware for BCM43xx devices.
1082
1083                   This firmware is mostly untested. It is needed for some N-PHY devices.
1084
1085                   If unsure, select the "stable" firmware.
1086
1087         config B43_FW_5_100_138
1088                 bool "Firmware 666.2 from driver 5.100.138 (stable)"
1089                 help
1090                   Newer experimental firmware for BCM43xx devices.
1091
1092                   This firmware is mostly untested. It is needed for some N-PHY devices.
1093
1094                   If unsure, select the "stable" firmware.
1095
1096         config B43_OPENFIRMWARE
1097                 bool "Open FirmWare for WiFi networks"
1098                 help
1099                   Opensource firmware for BCM43xx devices.
1100
1101                   Do _not_ select this, unless you know what you are doing.
1102                   The Opensource firmware is not suitable for embedded devices, yet.
1103                   It does not support QoS, which is bad for AccessPoints.
1104                   It does not support hardware crypto acceleration, which is a showstopper
1105                   for embedded devices with low CPU resources.
1106
1107                   If unsure, select the "stable" firmware.
1108
1109         endchoice
1110
1111         config B43_FW_SQUASH
1112                 bool "Remove unnecessary firmware files"
1113                 depends on !B43_OPENFIRMWARE
1114                 default y
1115                 help
1116                   This options allows you to remove unnecessary b43 firmware files
1117                   from the final rootfs image. This can reduce the rootfs size by
1118                   up to 200k.
1119
1120                   If unsure, say Y.
1121
1122         config B43_FW_SQUASH_COREREVS
1123                 string "Core revisions to include"
1124                 depends on B43_FW_SQUASH
1125                 default "5,6,7,8,9,10,11,13,15,16,29"
1126                 help
1127                   This is a comma seperated list of core revision numbers.
1128
1129                   Example (keep files for rev5 only):
1130                     5
1131
1132                   Example (keep files for rev5 and rev11):
1133                     5,11
1134
1135         config B43_FW_SQUASH_PHYTYPES
1136                 string "PHY types to include"
1137                 depends on B43_FW_SQUASH
1138                 default "G,LP,N,HT"
1139                 help
1140                   This is a comma seperated list of PHY types:
1141                     A  => A-PHY
1142                     AG => Dual A-PHY G-PHY
1143                     G  => G-PHY
1144                     LP => LP-PHY
1145                     N  => N-PHY
1146                     HT  => HT-PHY
1147                     LCN  => LCN-PHY
1148
1149                   Example (keep files for G-PHY only):
1150                     G
1151
1152                   Example (keep files for G-PHY and N-PHY):
1153                     G,N
1154
1155         config PACKAGE_B43_DEBUG
1156                 bool "Enable debug output and debugfs for b43"
1157                 default n
1158                 help
1159                   Enable additional debug output and runtime sanity checks for b43
1160                   and enables the debugfs interface.
1161
1162                   If unsure, say N.
1163
1164         config PACKAGE_B43_PIO
1165                 bool "Enable support for PIO transfer mode"
1166                 default n
1167                 help
1168                   Enable support for using PIO instead of DMA. Unless you have DMA
1169                   transfer problems you don't need this.
1170
1171                   If unsure, say N.
1172
1173         config PACKAGE_B43_PHY_N
1174                 bool "Enable support for N-PHYs"
1175                 default y
1176                 help
1177                   Enable support for N-PHY. This includes support for the following devices:
1178                   PCI: BCM4321, BCM4322, BCM43222, BCM43224, BCM43225
1179                   SoC: BCM4716, BCM4717, BCM4718
1180
1181                   Currently only 11g speed is available.
1182
1183                   If unsure, say Y.
1184
1185         config PACKAGE_B43_PHY_HT
1186                 bool "Enable support for HT-PHYs"
1187                 default y
1188                 help
1189                   Enable support for HT-PHY. This includes support for the following devices:
1190                   PCI: BCM4331
1191
1192                   Currently only 11g speed is available.
1193
1194                   If unsure, say Y.
1195
1196         config PACKAGE_B43_PHY_LCN
1197                 bool "Enable support for LCN-PHYs"
1198                 depends on BROKEN
1199                 default n
1200                 help
1201                   Currently broken.
1202
1203                   If unsure, say N.
1204
1205   endif
1206 endef
1207
1208 define KernelPackage/b43/description
1209 Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
1210 endef
1211
1212 define KernelPackage/b43legacy
1213   $(call KernelPackage/mac80211/Default)
1214   TITLE:=Broadcom 43xx-legacy wireless support
1215   URL:=http://linuxwireless.org/en/users/Drivers/b43
1216   KCONFIG:= \
1217         CONFIG_HW_RANDOM=y
1218   DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
1219   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.ko
1220   AUTOLOAD:=$(call AutoLoad,30,b43legacy)
1221   MENU:=1
1222 endef
1223
1224 define KernelPackage/b43legacy/config
1225   if PACKAGE_kmod-b43legacy
1226
1227         config B43LEGACY_FW_SQUASH
1228                 bool "Remove unnecessary firmware files"
1229                 default y
1230                 help
1231                   This options allows you to remove unnecessary b43legacy firmware files
1232                   from the final rootfs image. This can reduce the rootfs size by
1233                   up to 50k.
1234
1235                   If unsure, say Y.
1236
1237         config B43LEGACY_FW_SQUASH_COREREVS
1238                 string "Core revisions to include"
1239                 depends on B43LEGACY_FW_SQUASH
1240                 default "1,2,3,4"
1241                 help
1242                   This is a comma seperated list of core revision numbers.
1243
1244                   Example (keep files for rev4 only):
1245                     4
1246
1247                   Example (keep files for rev2 and rev4):
1248                     2,4
1249
1250   endif
1251 endef
1252
1253 define KernelPackage/b43legacy/description
1254 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
1255 endef
1256
1257
1258 define KernelPackage/brcmutil
1259   $(call KernelPackage/mac80211/Default)
1260   TITLE:=Broadcom IEEE802.11n common driver parts
1261   URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
1262   DEPENDS+=@PCI_SUPPORT||USB_SUPPORT
1263   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmutil/brcmutil.ko
1264   AUTOLOAD:=$(call AutoLoad,30,brcmutil)
1265   MENU:=1
1266 endef
1267
1268 define KernelPackage/brcmutil/description
1269  This module contains some common parts needed by Broadcom Wireless drivers brcmsmac and brcmfmac.
1270 endef
1271
1272 define KernelPackage/brcmutil/config
1273   if PACKAGE_kmod-brcmutil
1274
1275         config PACKAGE_BRCM80211_DEBUG
1276                 bool "Broadcom wireless driver debugging"
1277                 help
1278                   Say Y, if you want to debug brcmsmac and brcmfmac wireless driver.
1279
1280   endif
1281 endef
1282
1283 PKG_BRCMSMAC_FW_NAME:=broadcom-wl
1284 PKG_BRCMSMAC_FW_VERSION:=5.100.138
1285 PKG_BRCMSMAC_FW_OBJECT:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION)/linux/wl_apsta.o
1286 PKG_BRCMSMAC_FW_SOURCE:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION).tar.bz2
1287 PKG_BRCMSMAC_FW_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
1288 PKG_BRCMSMAC_FW_MD5SUM:=f4e357b09eaf5d8b1f1920cf3493a555
1289
1290 define Download/brcmsmac
1291   FILE:=$(PKG_BRCMSMAC_FW_SOURCE)
1292   URL:=$(PKG_BRCMSMAC_FW_SOURCE_URL)
1293   MD5SUM:=$(PKG_BRCMSMAC_FW_MD5SUM)
1294 endef
1295 $(eval $(call Download,brcmsmac))
1296
1297 define KernelPackage/brcmsmac
1298   $(call KernelPackage/mac80211/Default)
1299   TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver
1300   URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
1301   DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT +!TARGET_brcm47xx:kmod-bcma +kmod-lib-cordic +kmod-lib-crc8 +kmod-brcmutil
1302   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko
1303   AUTOLOAD:=$(call AutoLoad,31,brcmsmac)
1304   MENU:=1
1305 endef
1306
1307 define KernelPackage/brcmsmac/description
1308  Kernel module for Broadcom IEEE802.11n PCIe Wireless cards
1309 endef
1310
1311 define KernelPackage/brcmsmac/config
1312   if PACKAGE_kmod-brcmsmac
1313
1314         config BRCMSMAC_USE_FW_FROM_WL
1315                 bool "Use firmware extracted from broadcom proprietary driver"
1316                 default y
1317                 help
1318                   Instead of using the official brcmsmac firmware a firmware
1319                   version 666.2 extracted from the proprietary Broadcom driver
1320                   is used. This is needed to get core rev 17 used in bcm4716
1321                   to work.
1322
1323                   If unsure, say Y.
1324
1325   endif
1326 endef
1327
1328
1329 define KernelPackage/brcmfmac
1330   $(call KernelPackage/mac80211/Default)
1331   TITLE:=Broadcom IEEE802.11n USB FullMAC WLAN driver
1332   URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
1333   DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-cfg80211 +@DRIVER_11N_SUPPORT +kmod-brcmutil
1334   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko
1335   AUTOLOAD:=$(call AutoLoad,60,brcmfmac)
1336 endef
1337
1338 define KernelPackage/brcmfmac/description
1339  Kernel module for Broadcom IEEE802.11n USB Wireless cards
1340 endef
1341
1342 config_package=$(if $(CONFIG_PACKAGE_kmod-$(1)),m)
1343
1344 config-y:= \
1345         WLAN \
1346         NL80211_TESTMODE \
1347         CFG80211_WEXT \
1348         CFG80211_INTERNAL_REGDB \
1349         MAC80211_RC_MINSTREL \
1350         MAC80211_RC_MINSTREL_HT \
1351         MAC80211_RC_DEFAULT_MINSTREL \
1352
1353 config-$(call config_package,cfg80211) += CFG80211
1354
1355 config-$(call config_package,mac80211) += MAC80211
1356 config-$(CONFIG_PACKAGE_MAC80211_MESH) += MAC80211_MESH
1357 ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
1358   config-y += \
1359         CFG80211_DEBUGFS \
1360         MAC80211_DEBUGFS \
1361         ATH9K_DEBUGFS \
1362         ATH9K_HTC_DEBUGFS \
1363         ATH10K_DEBUGFS \
1364         CARL9170_DEBUGFS \
1365         ATH5K_DEBUG
1366 endif
1367
1368 config-$(call config_package,lib80211) += LIB80211 LIB80211_CRYPT_WEP LIB80211_CRYPT_CCMP LIB80211_CRYPT_TKIP
1369
1370 config-$(call config_package,ath) += ATH_CARDS ATH_COMMON
1371 config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG ATH10K_DEBUG
1372
1373 config-$(call config_package,ath9k) += ATH9K
1374 config-$(call config_package,ath9k-common) += ATH9K_COMMON
1375 config-$(CONFIG_TARGET_ar71xx) += ATH9K_AHB
1376 config-$(CONFIG_PCI) += ATH9K_PCI
1377 config-$(CONFIG_ATH_USER_REGD) += ATH_USER_REGD
1378
1379 config-$(call config_package,ath9k-htc) += ATH9K_HTC
1380 config-$(call config_package,ath10k) += ATH10K ATH10K_PCI
1381
1382 config-$(call config_package,ath5k) += ATH5K
1383 ifdef CONFIG_TARGET_atheros
1384   config-y += ATH5K_AHB
1385 else
1386   config-y += ATH5K_PCI
1387 endif
1388
1389 config-$(call config_package,carl9170) += CARL9170
1390
1391 config-$(call config_package,b43) += B43
1392 config-y += B43_SSB B43_BCMA B43_PHY_LP
1393 config-$(CONFIG_PACKAGE_B43_PHY_N) += B43_PHY_N
1394 config-$(CONFIG_PACKAGE_B43_PHY_HT) += B43_PHY_HT
1395 config-$(CONFIG_PACKAGE_B43_PIO) += B43_PIO
1396 config-$(CONFIG_PACKAGE_B43_DEBUG) += B43_DEBUG
1397
1398 config-$(call config_package,b43legacy) += B43LEGACY
1399 config-y += B43LEGACY_DMA_MODE
1400
1401 config-$(call config_package,brcmutil) += BRCMUTIL
1402 config-$(call config_package,brcmsmac) += BRCMSMAC
1403 config-$(call config_package,brcmfmac) += BRCMFMAC
1404 config-y += BRCMFMAC_USB
1405 config-$(CONFIG_PACKAGE_BRCM80211_DEBUG) += BRCMDBG
1406
1407 config-$(call config_package,mac80211-hwsim) += MAC80211_HWSIM
1408
1409 config-$(call config_package,rt2x00-lib) += RT2X00 RT2X00_LIB
1410 config-$(call config_package,rt2x00-pci) += RT2X00_LIB_PCI
1411 config-$(call config_package,rt2x00-mmio) += RT2X00_LIB_MMIO
1412 config-$(call config_package,rt2x00-usb) += RT2X00_LIB_USB
1413 config-$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) += RT2X00_LIB_DEBUGFS
1414 config-$(CONFIG_PACKAGE_RT2X00_DEBUG) += RT2X00_DEBUG
1415
1416 config-$(call config_package,rt2400-pci) += RT2400PCI
1417 config-$(call config_package,rt2500-pci) += RT2500PCI
1418 config-$(call config_package,rt2500-usb) += RT2500USB
1419 config-$(call config_package,rt61-pci) += RT61PCI
1420 config-$(call config_package,rt73-usb) += RT73USB
1421
1422 config-$(call config_package,rt2800-lib) += RT2800_LIB
1423
1424 config-$(call config_package,rt2800-soc) += RT2800SOC
1425 config-$(call config_package,rt2800-pci) += RT2800PCI
1426 config-y += RT2800PCI_RT33XX RT2800PCI_RT35XX RT2800PCI_RT53XX RT2800PCI_RT3290
1427
1428 config-$(call config_package,rt2800-usb) += RT2800USB
1429 config-y += RT2800USB_RT33XX RT2800USB_RT35XX RT2800USB_RT3573 RT2800USB_RT53XX RT2800USB_RT55XX
1430
1431 config-$(call config_package,iwl-legacy) += IWLEGACY
1432 config-$(call config_package,iwl3945) += IWL3945
1433 config-$(call config_package,iwl4965) += IWL4965
1434 config-$(call config_package,iwlagn) += IWLWIFI IWLDVM
1435
1436 config-$(call config_package,net-libipw) += LIBIPW
1437 config-$(call config_package,net-ipw2100) += IPW2100
1438 config-$(call config_package,net-ipw2200) += IPW2200
1439
1440 config-$(call config_package,p54-common) += P54_COMMON
1441 config-$(call config_package,p54-pci) += P54_PCI
1442 config-$(call config_package,p54-usb) += P54_USB
1443 config-$(call config_package,p54-spi) += P54_SPI
1444
1445 config-$(call config_package,net-hermes) += HERMES
1446 config-$(call config_package,net-hermes-pci) += PCI_HERMES
1447 config-$(call config_package,net-hermes-plx) += PLX_HERMES
1448 config-$(call config_package,net-hermes-pcmcia) += PCMCIA_HERMES
1449 config-y += HERMES_PRISM
1450
1451 config-$(call config_package,adm8211) += ADM8211
1452 config-$(call config_package,libertas-sd) += LIBERTAS LIBERTAS_SDIO
1453 config-$(call config_package,libertas-usb) += LIBERTAS LIBERTAS_USB
1454 config-$(call config_package,mwl8k) += MWL8K
1455 config-$(call config_package,rtl8180) += RTL8180
1456 config-$(call config_package,rtl8187) += RTL8187
1457 config-$(call config_package,wlcore) += WLCORE WLCORE_SDIO
1458 config-$(call config_package,wl12xx) += WL12XX
1459 config-$(call config_package,wl18xx) += WL18XX
1460 config-y += WL_TI WILINK_PLATFORM_DATA
1461 config-$(call config_package,zd1211rw) += ZD1211RW
1462
1463 config-$(call config_package,rtlwifi) += RTL_CARDS RTLWIFI
1464 config-$(call config_package,rtlwifi-pci) += RTLWIFI_PCI
1465 config-$(call config_package,rtlwifi-usb) += RTLWIFI_USB
1466 config-$(call config_package,rtl8192c-common) += RTL8192C_COMMON
1467 config-$(call config_package,rtl8192ce) += RTL8192CE
1468 config-$(call config_package,rtl8192se) += RTL8192SE
1469 config-$(call config_package,rtl8192de) += RTL8192DE
1470 config-$(call config_package,rtl8192cu) += RTL8192CU
1471 config-$(CONFIG_PACKAGE_RTLWIFI_DEBUG) += RTLWIFI_DEBUG
1472
1473 config-$(CONFIG_LEDS_TRIGGERS) += MAC80211_LEDS B43_LEDS B43LEGACY_LEDS
1474
1475 MAKE_OPTS:= -C "$(PKG_BUILD_DIR)" \
1476         CROSS_COMPILE="$(KERNEL_CROSS)" \
1477         ARCH="$(LINUX_KARCH)" \
1478         EXTRA_CFLAGS="-I$(PKG_BUILD_DIR)/include" \
1479         KLIB_BUILD="$(LINUX_DIR)" \
1480         MODPROBE=true \
1481         KLIB=$(TARGET_MODULES_DIR) \
1482         KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \
1483         KBUILD_LDFLAGS_MODULE_PREREQ=
1484
1485 ifneq ($(findstring c,$(OPENWRT_VERBOSE)),)
1486   MAKE_OPTS += V=1
1487 endif
1488
1489 define ConfigVars
1490 $(subst $(space),,$(foreach opt,$(config-$(1)),CPTCFG_$(opt)=$(1)
1491 ))
1492 endef
1493
1494 define mac80211_config
1495 $(call ConfigVars,m)$(call ConfigVars,y)
1496 endef
1497 $(eval $(call shexport,mac80211_config))
1498
1499 define Build/Prepare
1500         rm -rf $(PKG_BUILD_DIR)
1501         mkdir -p $(PKG_BUILD_DIR)
1502         $(PKG_UNPACK)
1503         $(Build/Patch)
1504         $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
1505         $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
1506         $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
1507         $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(PKG_LINUX_FIRMWARE_SOURCE)
1508         $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SOURCE)
1509         rm -rf \
1510                 $(PKG_BUILD_DIR)/include/linux/ssb \
1511                 $(PKG_BUILD_DIR)/include/linux/bcma \
1512                 $(PKG_BUILD_DIR)/include/net/bluetooth
1513
1514         rm -f \
1515                 $(PKG_BUILD_DIR)/include/linux/cordic.h \
1516                 $(PKG_BUILD_DIR)/include/linux/crc8.h \
1517                 $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h \
1518                 $(PKG_BUILD_DIR)/include/linux/wl12xx.h \
1519                 $(PKG_BUILD_DIR)/include/linux/spi/libertas_spi.h \
1520                 $(PKG_BUILD_DIR)/include/net/ieee80211.h
1521
1522         echo 'compat-wireless-$(PKG_VERSION)-$(PKG_RELEASE)-$(REVISION)' > $(PKG_BUILD_DIR)/compat_version
1523         $(CP) ./files/regdb.txt $(PKG_BUILD_DIR)/net/wireless/db.txt
1524 endef
1525
1526 ifneq ($(CONFIG_PACKAGE_kmod-cfg80211)$(CONFIG_PACKAGE_kmod-lib80211),)
1527  define Build/Compile/kmod
1528         rm -rf $(PKG_BUILD_DIR)/modules
1529         +$(MAKE) $(PKG_JOBS) $(MAKE_OPTS) modules
1530  endef
1531 endif
1532
1533 define Build/Configure
1534         cmp $(PKG_BUILD_DIR)/include/linux/ath9k_platform.h $(LINUX_DIR)/include/linux/ath9k_platform.h
1535         cmp $(PKG_BUILD_DIR)/include/linux/ath5k_platform.h $(LINUX_DIR)/include/linux/ath5k_platform.h
1536         cmp $(PKG_BUILD_DIR)/include/linux/rt2x00_platform.h $(LINUX_DIR)/include/linux/rt2x00_platform.h
1537 endef
1538
1539 define Build/Compile
1540         $(SH_FUNC) var2file "$(call shvar,mac80211_config)" $(PKG_BUILD_DIR)/.config
1541         $(MAKE) $(MAKE_OPTS) allnoconfig
1542         $(call Build/Compile/kmod)
1543 endef
1544
1545 define Build/InstallDev
1546         mkdir -p \
1547                 $(1)/usr/include/mac80211 \
1548                 $(1)/usr/include/mac80211-backport \
1549                 $(1)/usr/include/mac80211/ath \
1550                 $(1)/usr/include/net/mac80211
1551         $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
1552         $(CP) $(PKG_BUILD_DIR)/backport-include/* $(1)/usr/include/mac80211-backport/
1553         $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
1554         $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
1555 endef
1556
1557 define KernelPackage/libertas-usb/install
1558         $(INSTALL_DIR) $(1)/lib/firmware/libertas
1559         $(INSTALL_DATA) \
1560                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8388_v9.bin \
1561                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8682.bin \
1562                 $(1)/lib/firmware/libertas/
1563 endef
1564
1565 define KernelPackage/libertas-sd/install
1566         $(INSTALL_DIR) $(1)/lib/firmware/libertas
1567         $(INSTALL_DATA) \
1568                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8385_helper.bin \
1569                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8385.bin \
1570                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v9_helper.bin \
1571                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v9.bin \
1572                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8688_helper.bin \
1573                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8688.bin \
1574                 $(1)/lib/firmware/libertas
1575 endef
1576
1577 define KernelPackage/cfg80211/install
1578         $(INSTALL_DIR) $(1)/lib/wifi
1579         $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
1580 endef
1581
1582 define KernelPackage/p54-pci/install
1583         $(INSTALL_DIR) $(1)/lib/firmware
1584         $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
1585 endef
1586
1587 define KernelPackage/p54-usb/install
1588         $(INSTALL_DIR) $(1)/lib/firmware
1589         $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
1590 endef
1591
1592 define KernelPackage/p54-spi/install
1593         $(INSTALL_DIR) $(1)/lib/firmware
1594         $(INSTALL_DATA) $(DL_DIR)/$(P54SPIFW) $(1)/lib/firmware/3826.arm
1595 endef
1596
1597 define KernelPackage/rt61-pci/install
1598         $(INSTALL_DIR) $(1)/lib/firmware
1599         $(INSTALL_DATA) \
1600                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2561.bin \
1601                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2561s.bin \
1602                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2661.bin \
1603                 $(1)/lib/firmware/
1604 endef
1605
1606 define KernelPackage/rt73-usb/install
1607         $(INSTALL_DIR) $(1)/lib/firmware
1608         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt73.bin $(1)/lib/firmware/
1609 endef
1610
1611 define KernelPackage/rt2800-pci/install
1612         $(INSTALL_DIR) $(1)/lib/firmware
1613         $(INSTALL_DATA) \
1614                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2860.bin \
1615                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt3290.bin \
1616                 $(1)/lib/firmware
1617 endef
1618
1619 define KernelPackage/rt2800-usb/install
1620         $(INSTALL_DIR) $(1)/lib/firmware
1621         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2870.bin $(1)/lib/firmware/
1622 endef
1623
1624 define KernelPackage/wl12xx/install
1625         $(INSTALL_DIR) $(1)/lib/firmware/ti-connectivity
1626         $(INSTALL_DATA) \
1627                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-5-mr.bin \
1628                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-5-plt.bin \
1629                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-5-sr.bin \
1630                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl1271-nvs.bin \
1631                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl128x-fw-5-mr.bin \
1632                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl128x-fw-5-plt.bin \
1633                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl128x-fw-5-sr.bin \
1634                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl128x-nvs.bin \
1635                 $(1)/lib/firmware/ti-connectivity
1636 endef
1637
1638 define KernelPackage/wl18xx/install
1639         $(INSTALL_DIR) $(1)/lib/firmware/ti-connectivity
1640         $(INSTALL_DATA) \
1641                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl18xx-conf.bin \
1642                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl18xx-fw.bin \
1643                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl18xx-fw-2.bin \
1644                 $(1)/lib/firmware/ti-connectivity
1645 endef
1646
1647 define KernelPackage/zd1211rw/install
1648         $(INSTALL_DIR) $(1)/lib/firmware/zd1211
1649         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
1650 endef
1651
1652 define KernelPackage/carl9170/install
1653         $(INSTALL_DIR) $(1)/lib/firmware
1654         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/carl9170-1.fw $(1)/lib/firmware
1655 endef
1656
1657 define KernelPackage/ath9k-htc/install
1658         $(INSTALL_DIR) $(1)/lib/firmware
1659         $(INSTALL_DATA) \
1660                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/htc_9271.fw \
1661                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/htc_7010.fw \
1662                 $(1)/lib/firmware/
1663 endef
1664
1665 define KernelPackage/ath10k/install
1666         $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA988X/hw2.0
1667         $(INSTALL_DATA) \
1668                 $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/ath10k/QCA988X/hw2.0/board.bin \
1669                 $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/ath10k/QCA988X/hw2.0/firmware-2.bin \
1670                 $(1)/lib/firmware/ath10k/QCA988X/hw2.0/
1671 endef
1672
1673 define KernelPackage/mwl8k/install
1674         $(INSTALL_DIR) $(1)/lib/firmware/mwl8k
1675         $(INSTALL_DATA) \
1676                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366_ap-3.fw \
1677                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366.fw \
1678                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8366.fw \
1679                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8687.fw \
1680                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8687.fw \
1681                 $(1)/lib/firmware/mwl8k/
1682 endef
1683
1684 define KernelPackage/net-ipw2100/install
1685         $(INSTALL_DIR) $(1)/lib/firmware
1686         $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
1687 endef
1688
1689 define KernelPackage/net-ipw2200/install
1690         $(INSTALL_DIR) $(1)/lib/firmware
1691         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
1692 endef
1693
1694 define KernelPackage/iwlagn/install
1695         $(INSTALL_DIR) $(1)/lib/firmware
1696 ifneq ($(CONFIG_IWL5000_FW),)
1697         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5000-5.ucode $(1)/lib/firmware
1698 endif
1699 ifneq ($(CONFIG_IWL5150_FW),)
1700         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5150-2.ucode $(1)/lib/firmware
1701 endif
1702 ifneq ($(CONFIG_IWL1000_FW),)
1703         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-1000-5.ucode $(1)/lib/firmware
1704 endif
1705 ifneq ($(CONFIG_IWL6000_FW),)
1706         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000-4.ucode $(1)/lib/firmware
1707 endif
1708 ifneq ($(CONFIG_IWL6050_FW),)
1709         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6050-5.ucode $(1)/lib/firmware
1710 endif
1711 ifneq ($(CONFIG_IWL6005_FW),)
1712         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2a-6.ucode $(1)/lib/firmware
1713 endif
1714 ifneq ($(CONFIG_IWL6030_FW),)
1715         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2b-6.ucode $(1)/lib/firmware
1716 endif
1717 ifneq ($(CONFIG_IWL100_FW),)
1718         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-100-5.ucode $(1)/lib/firmware
1719 endif
1720 ifneq ($(CONFIG_IWL2000_FW),)
1721         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-2000-6.ucode $(1)/lib/firmware
1722 endif
1723 ifneq ($(CONFIG_IWL2030_FW),)
1724         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-2030-6.ucode $(1)/lib/firmware
1725 endif
1726 ifneq ($(CONFIG_IWL105_FW),)
1727         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-105-6.ucode $(1)/lib/firmware
1728 endif
1729 ifneq ($(CONFIG_IWL135_FW),)
1730         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-135-6.ucode $(1)/lib/firmware
1731 endif
1732 endef
1733
1734 define KernelPackage/iwl3945/install
1735         $(INSTALL_DIR) $(1)/lib/firmware
1736         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-3945-2.ucode $(1)/lib/firmware
1737 endef
1738
1739 define KernelPackage/iwl4965/install
1740         $(INSTALL_DIR) $(1)/lib/firmware
1741         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-4965-2.ucode $(1)/lib/firmware
1742 endef
1743
1744 define KernelPackage/b43/install
1745         rm -rf $(1)/lib/firmware/
1746 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1747         tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1748 else
1749         tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1750 endif
1751         $(INSTALL_DIR) $(1)/lib/firmware/
1752 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1753         $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
1754         $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
1755         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
1756         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
1757         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
1758 else
1759         b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
1760 endif
1761 ifneq ($(CONFIG_B43_FW_SQUASH),)
1762         b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
1763 endif
1764 endef
1765
1766 define KernelPackage/b43legacy/install
1767         $(INSTALL_DIR) $(1)/lib/firmware/
1768         b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
1769 ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
1770         b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy"
1771 endif
1772 endef
1773
1774 define KernelPackage/brcmsmac/install
1775         $(INSTALL_DIR) $(1)/lib/firmware/brcm
1776 ifeq ($(CONFIG_BRCMSMAC_USE_FW_FROM_WL),y)
1777         tar xjf "$(DL_DIR)/$(PKG_BRCMSMAC_FW_SOURCE)" -C "$(PKG_BUILD_DIR)"
1778         b43-fwcutter --brcmsmac -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_BRCMSMAC_FW_OBJECT)
1779 else
1780         $(INSTALL_DATA) \
1781                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx-0.fw \
1782                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx_hdr-0.fw \
1783                 $(1)/lib/firmware/brcm/
1784 endif
1785 endef
1786
1787 define KernelPackage/brcmfmac/install
1788         $(INSTALL_DIR) $(1)/lib/firmware/brcm
1789         $(INSTALL_DATA) \
1790                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/brcmfmac43236b.bin \
1791                 $(1)/lib/firmware/brcm/
1792 endef
1793
1794 $(eval $(call KernelPackage,adm8211))
1795 $(eval $(call KernelPackage,ath5k))
1796 $(eval $(call KernelPackage,lib80211))
1797 $(eval $(call KernelPackage,libertas-usb))
1798 $(eval $(call KernelPackage,libertas-sd))
1799 $(eval $(call KernelPackage,cfg80211))
1800 $(eval $(call KernelPackage,mac80211))
1801 $(eval $(call KernelPackage,p54-common))
1802 $(eval $(call KernelPackage,p54-pci))
1803 $(eval $(call KernelPackage,p54-usb))
1804 $(eval $(call KernelPackage,p54-spi))
1805 $(eval $(call KernelPackage,rt2x00-lib))
1806 $(eval $(call KernelPackage,rt2x00-mmio))
1807 $(eval $(call KernelPackage,rt2x00-pci))
1808 $(eval $(call KernelPackage,rt2x00-usb))
1809 $(eval $(call KernelPackage,rt2800-lib))
1810 $(eval $(call KernelPackage,rt2400-pci))
1811 $(eval $(call KernelPackage,rt2500-pci))
1812 $(eval $(call KernelPackage,rt2500-usb))
1813 $(eval $(call KernelPackage,rt61-pci))
1814 $(eval $(call KernelPackage,rt73-usb))
1815 $(eval $(call KernelPackage,rt2800-mmio))
1816 $(eval $(call KernelPackage,rt2800-soc))
1817 $(eval $(call KernelPackage,rt2800-pci))
1818 $(eval $(call KernelPackage,rt2800-usb))
1819 $(eval $(call KernelPackage,rtl8180))
1820 $(eval $(call KernelPackage,rtl8187))
1821 $(eval $(call KernelPackage,rtlwifi))
1822 $(eval $(call KernelPackage,rtlwifi-pci))
1823 $(eval $(call KernelPackage,rtlwifi-usb))
1824 $(eval $(call KernelPackage,rtl8192c-common))
1825 $(eval $(call KernelPackage,rtl8192ce))
1826 $(eval $(call KernelPackage,rtl8192se))
1827 $(eval $(call KernelPackage,rtl8192de))
1828 $(eval $(call KernelPackage,rtl8192cu))
1829 $(eval $(call KernelPackage,zd1211rw))
1830 $(eval $(call KernelPackage,mac80211-hwsim))
1831 $(eval $(call KernelPackage,ath9k-common))
1832 $(eval $(call KernelPackage,ath9k))
1833 $(eval $(call KernelPackage,ath9k-htc))
1834 $(eval $(call KernelPackage,ath10k))
1835 $(eval $(call KernelPackage,ath))
1836 $(eval $(call KernelPackage,carl9170))
1837 $(eval $(call KernelPackage,b43))
1838 $(eval $(call KernelPackage,b43legacy))
1839 $(eval $(call KernelPackage,brcmutil))
1840 $(eval $(call KernelPackage,brcmsmac))
1841 $(eval $(call KernelPackage,brcmfmac))
1842 $(eval $(call KernelPackage,net-libipw))
1843 $(eval $(call KernelPackage,net-ipw2100))
1844 $(eval $(call KernelPackage,net-ipw2200))
1845 $(eval $(call KernelPackage,iwlagn))
1846 $(eval $(call KernelPackage,iwl-legacy))
1847 $(eval $(call KernelPackage,iwl4965))
1848 $(eval $(call KernelPackage,iwl3945))
1849 $(eval $(call KernelPackage,mwl8k))
1850 $(eval $(call KernelPackage,net-hermes))
1851 $(eval $(call KernelPackage,net-hermes-pci))
1852 $(eval $(call KernelPackage,net-hermes-plx))
1853 $(eval $(call KernelPackage,net-hermes-pcmcia))
1854 $(eval $(call KernelPackage,wlcore))
1855 $(eval $(call KernelPackage,wl12xx))
1856 $(eval $(call KernelPackage,wl18xx))