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