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