mac80211: b43: fix B43_USE_SSB dependency
[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   # Depend on PCI_SUPPORT to make sure we can select kmod-bcma or kmod-ssb
1074   DEPENDS += \
1075         @PCI_SUPPORT +kmod-mac80211 \
1076         $(if $(CONFIG_PACKAGE_B43_USE_SSB),+kmod-ssb) \
1077         $(if $(CONFIG_PACKAGE_B43_USE_BCMA),+kmod-bcma)
1078   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.ko
1079   AUTOLOAD:=$(call AutoProbe,b43)
1080   MENU:=1
1081 endef
1082
1083 define KernelPackage/b43/config
1084
1085 config PACKAGE_B43_USE_SSB
1086         select PACKAGE_kmod-ssb
1087         tristate
1088         depends on !TARGET_brcm47xx && !TARGET_brcm63xx
1089         default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA_AND_SSB
1090         default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_SSB
1091
1092 config PACKAGE_B43_USE_BCMA
1093         select PACKAGE_kmod-bcma
1094         tristate
1095         depends on !TARGET_brcm47xx
1096         default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA_AND_SSB
1097         default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA
1098
1099   if PACKAGE_kmod-b43
1100
1101         choice
1102                 prompt "b43 firmware version"
1103                 default B43_FW_5_100_138
1104                 help
1105                   This option allows you to select the version of the b43 firmware.
1106
1107         config B43_FW_4_150
1108                 bool "Firmware 410.2160 from driver 4.150.10.5 (old stable)"
1109                 help
1110                   Stable firmware for BCM43xx devices.
1111
1112                   If unsure, select this.
1113
1114         config B43_FW_4_178
1115                 bool "Firmware 478.104 from driver 4.178.10.4"
1116                 help
1117                   Experimental firmware for BCM43xx devices.
1118
1119                   This firmware is not tested as much as the "stable" firmware.
1120
1121                   If unsure, select the "stable" firmware.
1122
1123         config B43_FW_5_10
1124                 bool "Firmware 508.1084 from driver 5.10.56.27"
1125                 help
1126                   Newer experimental firmware for BCM43xx devices.
1127
1128                   This firmware is mostly untested. It is needed for some N-PHY devices.
1129
1130                   If unsure, select the "stable" firmware.
1131
1132         config B43_FW_5_100_138
1133                 bool "Firmware 666.2 from driver 5.100.138 (stable)"
1134                 help
1135                   Newer experimental firmware for BCM43xx devices.
1136
1137                   This firmware is mostly untested. It is needed for some N-PHY devices.
1138
1139                   If unsure, select the "stable" firmware.
1140
1141         config B43_OPENFIRMWARE
1142                 bool "Open FirmWare for WiFi networks"
1143                 help
1144                   Opensource firmware for BCM43xx devices.
1145
1146                   Do _not_ select this, unless you know what you are doing.
1147                   The Opensource firmware is not suitable for embedded devices, yet.
1148                   It does not support QoS, which is bad for AccessPoints.
1149                   It does not support hardware crypto acceleration, which is a showstopper
1150                   for embedded devices with low CPU resources.
1151
1152                   If unsure, select the "stable" firmware.
1153
1154         endchoice
1155
1156         config B43_FW_SQUASH
1157                 bool "Remove unnecessary firmware files"
1158                 depends on !B43_OPENFIRMWARE
1159                 default y
1160                 help
1161                   This options allows you to remove unnecessary b43 firmware files
1162                   from the final rootfs image. This can reduce the rootfs size by
1163                   up to 200k.
1164
1165                   If unsure, say Y.
1166
1167         config B43_FW_SQUASH_COREREVS
1168                 string "Core revisions to include"
1169                 depends on B43_FW_SQUASH
1170                 default "5,6,7,8,9,10,11,13,15,16,29"
1171                 help
1172                   This is a comma seperated list of core revision numbers.
1173
1174                   Example (keep files for rev5 only):
1175                     5
1176
1177                   Example (keep files for rev5 and rev11):
1178                     5,11
1179
1180         config B43_FW_SQUASH_PHYTYPES
1181                 string "PHY types to include"
1182                 depends on B43_FW_SQUASH
1183                 default "G,LP,N,HT"
1184                 help
1185                   This is a comma seperated list of PHY types:
1186                     A  => A-PHY
1187                     AG => Dual A-PHY G-PHY
1188                     G  => G-PHY
1189                     LP => LP-PHY
1190                     N  => N-PHY
1191                     HT  => HT-PHY
1192                     LCN  => LCN-PHY
1193
1194                   Example (keep files for G-PHY only):
1195                     G
1196
1197                   Example (keep files for G-PHY and N-PHY):
1198                     G,N
1199
1200         choice
1201                 prompt "Supported buses"
1202                 default PACKAGE_B43_BUSES_BCMA_AND_SSB
1203                 help
1204                   This allows choosing buses that b43 should support.
1205
1206         config PACKAGE_B43_BUSES_BCMA_AND_SSB
1207                 bool "BCMA and SSB"
1208
1209         config PACKAGE_B43_BUSES_BCMA
1210                 bool "BCMA only"
1211
1212         config PACKAGE_B43_BUSES_SSB
1213                 bool "SSB only"
1214
1215         endchoice
1216
1217         config PACKAGE_B43_DEBUG
1218                 bool "Enable debug output and debugfs for b43"
1219                 default n
1220                 help
1221                   Enable additional debug output and runtime sanity checks for b43
1222                   and enables the debugfs interface.
1223
1224                   If unsure, say N.
1225
1226         config PACKAGE_B43_PIO
1227                 bool "Enable support for PIO transfer mode"
1228                 default n
1229                 help
1230                   Enable support for using PIO instead of DMA. Unless you have DMA
1231                   transfer problems you don't need this.
1232
1233                   If unsure, say N.
1234
1235         config PACKAGE_B43_PHY_N
1236                 bool "Enable support for N-PHYs"
1237                 default y
1238                 help
1239                   Enable support for N-PHY. This includes support for the following devices:
1240                   PCI: BCM4321, BCM4322, BCM43222, BCM43224, BCM43225
1241                   SoC: BCM4716, BCM4717, BCM4718
1242
1243                   Currently only 11g speed is available.
1244
1245                   If unsure, say Y.
1246
1247         config PACKAGE_B43_PHY_LP
1248                 bool "Enable support for LP-PHYs"
1249                 default y
1250                 help
1251                   Enable support for LP-PHY. This includes support for the following devices:
1252                   PCI: BCM4312
1253                   SoC: BCM5354
1254
1255                   If unsure, say Y.
1256
1257         config PACKAGE_B43_PHY_HT
1258                 bool "Enable support for HT-PHYs"
1259                 default y
1260                 help
1261                   Enable support for HT-PHY. This includes support for the following devices:
1262                   PCI: BCM4331
1263
1264                   Currently only 11g speed is available.
1265
1266                   If unsure, say Y.
1267
1268         config PACKAGE_B43_PHY_LCN
1269                 bool "Enable support for LCN-PHYs"
1270                 depends on BROKEN
1271                 default n
1272                 help
1273                   Currently broken.
1274
1275                   If unsure, say N.
1276
1277   endif
1278 endef
1279
1280 define KernelPackage/b43/description
1281 Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
1282 endef
1283
1284 define KernelPackage/b43legacy
1285   $(call KernelPackage/mac80211/Default)
1286   TITLE:=Broadcom 43xx-legacy wireless support
1287   URL:=http://linuxwireless.org/en/users/Drivers/b43
1288   KCONFIG:= \
1289         CONFIG_HW_RANDOM=y
1290   DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
1291   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.ko
1292   AUTOLOAD:=$(call AutoProbe,b43legacy)
1293   MENU:=1
1294 endef
1295
1296 define KernelPackage/b43legacy/config
1297   if PACKAGE_kmod-b43legacy
1298
1299         config B43LEGACY_FW_SQUASH
1300                 bool "Remove unnecessary firmware files"
1301                 default y
1302                 help
1303                   This options allows you to remove unnecessary b43legacy firmware files
1304                   from the final rootfs image. This can reduce the rootfs size by
1305                   up to 50k.
1306
1307                   If unsure, say Y.
1308
1309         config B43LEGACY_FW_SQUASH_COREREVS
1310                 string "Core revisions to include"
1311                 depends on B43LEGACY_FW_SQUASH
1312                 default "1,2,3,4"
1313                 help
1314                   This is a comma seperated list of core revision numbers.
1315
1316                   Example (keep files for rev4 only):
1317                     4
1318
1319                   Example (keep files for rev2 and rev4):
1320                     2,4
1321
1322   endif
1323 endef
1324
1325 define KernelPackage/b43legacy/description
1326 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
1327 endef
1328
1329
1330 define KernelPackage/brcmutil
1331   $(call KernelPackage/mac80211/Default)
1332   TITLE:=Broadcom IEEE802.11n common driver parts
1333   URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
1334   DEPENDS+=@PCI_SUPPORT||USB_SUPPORT
1335   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmutil/brcmutil.ko
1336   AUTOLOAD:=$(call AutoProbe,brcmutil)
1337   MENU:=1
1338 endef
1339
1340 define KernelPackage/brcmutil/description
1341  This module contains some common parts needed by Broadcom Wireless drivers brcmsmac and brcmfmac.
1342 endef
1343
1344 define KernelPackage/brcmutil/config
1345   if PACKAGE_kmod-brcmutil
1346
1347         config PACKAGE_BRCM80211_DEBUG
1348                 bool "Broadcom wireless driver debugging"
1349                 help
1350                   Say Y, if you want to debug brcmsmac and brcmfmac wireless driver.
1351
1352   endif
1353 endef
1354
1355 PKG_BRCMSMAC_FW_NAME:=broadcom-wl
1356 PKG_BRCMSMAC_FW_VERSION:=5.100.138
1357 PKG_BRCMSMAC_FW_OBJECT:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION)/linux/wl_apsta.o
1358 PKG_BRCMSMAC_FW_SOURCE:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION).tar.bz2
1359 PKG_BRCMSMAC_FW_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
1360 PKG_BRCMSMAC_FW_MD5SUM:=f4e357b09eaf5d8b1f1920cf3493a555
1361
1362 define Download/brcmsmac
1363   FILE:=$(PKG_BRCMSMAC_FW_SOURCE)
1364   URL:=$(PKG_BRCMSMAC_FW_SOURCE_URL)
1365   MD5SUM:=$(PKG_BRCMSMAC_FW_MD5SUM)
1366 endef
1367 $(eval $(call Download,brcmsmac))
1368
1369 define KernelPackage/brcmsmac
1370   $(call KernelPackage/mac80211/Default)
1371   TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver
1372   URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
1373   DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT +!TARGET_brcm47xx:kmod-bcma +kmod-lib-cordic +kmod-lib-crc8 +kmod-brcmutil
1374   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko
1375   AUTOLOAD:=$(call AutoProbe,brcmsmac)
1376   MENU:=1
1377 endef
1378
1379 define KernelPackage/brcmsmac/description
1380  Kernel module for Broadcom IEEE802.11n PCIe Wireless cards
1381 endef
1382
1383 define KernelPackage/brcmsmac/config
1384   if PACKAGE_kmod-brcmsmac
1385
1386         config BRCMSMAC_USE_FW_FROM_WL
1387                 bool "Use firmware extracted from broadcom proprietary driver"
1388                 default y
1389                 help
1390                   Instead of using the official brcmsmac firmware a firmware
1391                   version 666.2 extracted from the proprietary Broadcom driver
1392                   is used. This is needed to get core rev 17 used in bcm4716
1393                   to work.
1394
1395                   If unsure, say Y.
1396
1397   endif
1398 endef
1399
1400
1401 define KernelPackage/brcmfmac
1402   $(call KernelPackage/mac80211/Default)
1403   TITLE:=Broadcom IEEE802.11n USB FullMAC WLAN driver
1404   URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
1405   DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-cfg80211 +@DRIVER_11N_SUPPORT +kmod-brcmutil
1406   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko
1407   AUTOLOAD:=$(call AutoProbe,brcmfmac)
1408 endef
1409
1410 define KernelPackage/brcmfmac/description
1411  Kernel module for Broadcom IEEE802.11n USB Wireless cards
1412 endef
1413
1414 config_package=$(if $(CONFIG_PACKAGE_kmod-$(1)),m)
1415
1416 config-y:= \
1417         WLAN \
1418         NL80211_TESTMODE \
1419         CFG80211_WEXT \
1420         CFG80211_INTERNAL_REGDB \
1421         CFG80211_CERTIFICATION_ONUS \
1422         MAC80211_RC_MINSTREL \
1423         MAC80211_RC_MINSTREL_HT \
1424         MAC80211_RC_DEFAULT_MINSTREL \
1425
1426 config-$(call config_package,cfg80211) += CFG80211
1427
1428 config-$(call config_package,mac80211) += MAC80211
1429 config-$(CONFIG_PACKAGE_MAC80211_MESH) += MAC80211_MESH
1430 ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
1431   config-y += \
1432         CFG80211_DEBUGFS \
1433         MAC80211_DEBUGFS \
1434         ATH9K_DEBUGFS \
1435         ATH9K_HTC_DEBUGFS \
1436         ATH10K_DEBUGFS \
1437         CARL9170_DEBUGFS \
1438         ATH5K_DEBUG
1439 endif
1440
1441 config-$(call config_package,lib80211) += LIB80211 LIB80211_CRYPT_WEP LIB80211_CRYPT_CCMP LIB80211_CRYPT_TKIP
1442
1443 config-$(call config_package,ath) += ATH_CARDS ATH_COMMON
1444 config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG ATH10K_DEBUG
1445 config-$(CONFIG_PACKAGE_ATH_DFS) += ATH9K_DFS_CERTIFIED ATH10K_DFS_CERTIFIED
1446
1447 config-$(call config_package,ath9k) += ATH9K
1448 config-$(call config_package,ath9k-common) += ATH9K_COMMON
1449 config-$(CONFIG_TARGET_ar71xx) += ATH9K_AHB
1450 config-$(CONFIG_PCI) += ATH9K_PCI
1451 config-$(CONFIG_ATH_USER_REGD) += ATH_USER_REGD
1452 config-$(CONFIG_ATH9K_SUPPORT_PCOEM) += ATH9K_PCOEM
1453
1454 config-$(call config_package,ath9k-htc) += ATH9K_HTC
1455 config-$(call config_package,ath10k) += ATH10K ATH10K_PCI
1456
1457 config-$(call config_package,ath5k) += ATH5K
1458 ifdef CONFIG_TARGET_atheros
1459   config-y += ATH5K_AHB
1460 else
1461   config-y += ATH5K_PCI
1462 endif
1463
1464 config-$(call config_package,carl9170) += CARL9170
1465
1466 config-$(call config_package,b43) += B43
1467 config-$(CONFIG_PACKAGE_B43_BUSES_BCMA_AND_SSB) += B43_BUSES_BCMA_AND_SSB
1468 config-$(CONFIG_PACKAGE_B43_BUSES_BCMA) += B43_BUSES_BCMA
1469 config-$(CONFIG_PACKAGE_B43_BUSES_SSB) += B43_BUSES_SSB
1470 config-$(CONFIG_PACKAGE_B43_PHY_N) += B43_PHY_N
1471 config-$(CONFIG_PACKAGE_B43_PHY_LP) += B43_PHY_LP
1472 config-$(CONFIG_PACKAGE_B43_PHY_HT) += B43_PHY_HT
1473 config-$(CONFIG_PACKAGE_B43_PIO) += B43_PIO
1474 config-$(CONFIG_PACKAGE_B43_DEBUG) += B43_DEBUG
1475
1476 config-$(call config_package,b43legacy) += B43LEGACY
1477 config-y += B43LEGACY_DMA_MODE
1478
1479 config-$(call config_package,brcmutil) += BRCMUTIL
1480 config-$(call config_package,brcmsmac) += BRCMSMAC
1481 config-$(call config_package,brcmfmac) += BRCMFMAC
1482 config-y += BRCMFMAC_USB
1483 config-$(CONFIG_PACKAGE_BRCM80211_DEBUG) += BRCMDBG
1484
1485 config-$(call config_package,mac80211-hwsim) += MAC80211_HWSIM
1486
1487 config-$(call config_package,rt2x00-lib) += RT2X00 RT2X00_LIB
1488 config-$(call config_package,rt2x00-pci) += RT2X00_LIB_PCI
1489 config-$(call config_package,rt2x00-mmio) += RT2X00_LIB_MMIO
1490 config-$(call config_package,rt2x00-usb) += RT2X00_LIB_USB
1491 config-$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) += RT2X00_LIB_DEBUGFS
1492 config-$(CONFIG_PACKAGE_RT2X00_DEBUG) += RT2X00_DEBUG
1493
1494 config-$(call config_package,rt2400-pci) += RT2400PCI
1495 config-$(call config_package,rt2500-pci) += RT2500PCI
1496 config-$(call config_package,rt2500-usb) += RT2500USB
1497 config-$(call config_package,rt61-pci) += RT61PCI
1498 config-$(call config_package,rt73-usb) += RT73USB
1499
1500 config-$(call config_package,rt2800-lib) += RT2800_LIB
1501
1502 config-$(call config_package,rt2800-soc) += RT2800SOC
1503 config-$(call config_package,rt2800-pci) += RT2800PCI
1504 config-y += RT2800PCI_RT33XX RT2800PCI_RT35XX RT2800PCI_RT53XX RT2800PCI_RT3290
1505
1506 config-$(call config_package,rt2800-usb) += RT2800USB
1507 config-y += RT2800USB_RT33XX RT2800USB_RT35XX RT2800USB_RT3573 RT2800USB_RT53XX RT2800USB_RT55XX
1508
1509 config-$(call config_package,iwl-legacy) += IWLEGACY
1510 config-$(call config_package,iwl3945) += IWL3945
1511 config-$(call config_package,iwl4965) += IWL4965
1512 config-$(call config_package,iwlagn) += IWLWIFI IWLDVM
1513
1514 config-$(call config_package,net-libipw) += LIBIPW
1515 config-$(call config_package,net-ipw2100) += IPW2100
1516 config-$(call config_package,net-ipw2200) += IPW2200
1517
1518 config-$(call config_package,p54-common) += P54_COMMON
1519 config-$(call config_package,p54-pci) += P54_PCI
1520 config-$(call config_package,p54-usb) += P54_USB
1521 config-$(call config_package,p54-spi) += P54_SPI
1522
1523 config-$(call config_package,net-hermes) += HERMES
1524 config-$(call config_package,net-hermes-pci) += PCI_HERMES
1525 config-$(call config_package,net-hermes-plx) += PLX_HERMES
1526 config-$(call config_package,net-hermes-pcmcia) += PCMCIA_HERMES
1527 config-y += HERMES_PRISM
1528
1529 config-$(call config_package,adm8211) += ADM8211
1530 config-$(call config_package,libertas-sd) += LIBERTAS LIBERTAS_SDIO
1531 config-$(call config_package,libertas-usb) += LIBERTAS LIBERTAS_USB
1532 config-$(call config_package,mwl8k) += MWL8K
1533 config-$(call config_package,rtl8180) += RTL8180
1534 config-$(call config_package,rtl8187) += RTL8187
1535 config-$(call config_package,wlcore) += WLCORE WLCORE_SDIO
1536 config-$(call config_package,wl12xx) += WL12XX
1537 config-$(call config_package,wl18xx) += WL18XX
1538 config-y += WL_TI WILINK_PLATFORM_DATA
1539 config-$(call config_package,zd1211rw) += ZD1211RW
1540
1541 config-$(call config_package,rtlwifi) += RTL_CARDS RTLWIFI
1542 config-$(call config_package,rtlwifi-pci) += RTLWIFI_PCI
1543 config-$(call config_package,rtlwifi-usb) += RTLWIFI_USB
1544 config-$(call config_package,rtl8192c-common) += RTL8192C_COMMON
1545 config-$(call config_package,rtl8192ce) += RTL8192CE
1546 config-$(call config_package,rtl8192se) += RTL8192SE
1547 config-$(call config_package,rtl8192de) += RTL8192DE
1548 config-$(call config_package,rtl8192cu) += RTL8192CU
1549 config-$(CONFIG_PACKAGE_RTLWIFI_DEBUG) += RTLWIFI_DEBUG
1550
1551 config-$(CONFIG_LEDS_TRIGGERS) += MAC80211_LEDS B43_LEDS B43LEGACY_LEDS
1552
1553 MAKE_OPTS:= -C "$(PKG_BUILD_DIR)" \
1554         CROSS_COMPILE="$(KERNEL_CROSS)" \
1555         ARCH="$(LINUX_KARCH)" \
1556         EXTRA_CFLAGS="-I$(PKG_BUILD_DIR)/include" \
1557         KLIB_BUILD="$(LINUX_DIR)" \
1558         MODPROBE=true \
1559         KLIB=$(TARGET_MODULES_DIR) \
1560         KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \
1561         KBUILD_LDFLAGS_MODULE_PREREQ=
1562
1563 ifneq ($(findstring c,$(OPENWRT_VERBOSE)),)
1564   MAKE_OPTS += V=1
1565 endif
1566
1567 define ConfigVars
1568 $(subst $(space),,$(foreach opt,$(config-$(1)),CPTCFG_$(opt)=$(1)
1569 ))
1570 endef
1571
1572 define mac80211_config
1573 $(call ConfigVars,m)$(call ConfigVars,y)
1574 endef
1575 $(eval $(call shexport,mac80211_config))
1576
1577 define Build/Prepare
1578         rm -rf $(PKG_BUILD_DIR)
1579         mkdir -p $(PKG_BUILD_DIR)
1580         $(PKG_UNPACK)
1581         $(Build/Patch)
1582         $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
1583         $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
1584         $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
1585         $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(PKG_LINUX_FIRMWARE_SOURCE)
1586         $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SOURCE)
1587         rm -rf \
1588                 $(PKG_BUILD_DIR)/include/linux/ssb \
1589                 $(PKG_BUILD_DIR)/include/linux/bcma \
1590                 $(PKG_BUILD_DIR)/include/net/bluetooth
1591
1592         rm -f \
1593                 $(PKG_BUILD_DIR)/include/linux/cordic.h \
1594                 $(PKG_BUILD_DIR)/include/linux/crc8.h \
1595                 $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h \
1596                 $(PKG_BUILD_DIR)/include/linux/wl12xx.h \
1597                 $(PKG_BUILD_DIR)/include/linux/spi/libertas_spi.h \
1598                 $(PKG_BUILD_DIR)/include/net/ieee80211.h
1599
1600         echo 'compat-wireless-$(PKG_VERSION)-$(PKG_RELEASE)-$(REVISION)' > $(PKG_BUILD_DIR)/compat_version
1601         $(CP) ./files/regdb.txt $(PKG_BUILD_DIR)/net/wireless/db.txt
1602 endef
1603
1604 ifneq ($(CONFIG_PACKAGE_kmod-cfg80211)$(CONFIG_PACKAGE_kmod-lib80211),)
1605  define Build/Compile/kmod
1606         rm -rf $(PKG_BUILD_DIR)/modules
1607         +$(MAKE) $(PKG_JOBS) $(MAKE_OPTS) modules
1608  endef
1609 endif
1610
1611 define Build/Configure
1612         cmp $(PKG_BUILD_DIR)/include/linux/ath9k_platform.h $(LINUX_DIR)/include/linux/ath9k_platform.h
1613         cmp $(PKG_BUILD_DIR)/include/linux/ath5k_platform.h $(LINUX_DIR)/include/linux/ath5k_platform.h
1614         cmp $(PKG_BUILD_DIR)/include/linux/rt2x00_platform.h $(LINUX_DIR)/include/linux/rt2x00_platform.h
1615 endef
1616
1617 define Build/Compile
1618         $(SH_FUNC) var2file "$(call shvar,mac80211_config)" $(PKG_BUILD_DIR)/.config
1619         $(MAKE) $(MAKE_OPTS) allnoconfig
1620         $(call Build/Compile/kmod)
1621 endef
1622
1623 define Build/InstallDev
1624         mkdir -p \
1625                 $(1)/usr/include/mac80211 \
1626                 $(1)/usr/include/mac80211-backport \
1627                 $(1)/usr/include/mac80211/ath \
1628                 $(1)/usr/include/net/mac80211
1629         $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
1630         $(CP) $(PKG_BUILD_DIR)/backport-include/* $(1)/usr/include/mac80211-backport/
1631         $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
1632         $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
1633 endef
1634
1635 define KernelPackage/libertas-usb/install
1636         $(INSTALL_DIR) $(1)/lib/firmware/libertas
1637         $(INSTALL_DATA) \
1638                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8388_v9.bin \
1639                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8682.bin \
1640                 $(1)/lib/firmware/libertas/
1641 endef
1642
1643 define KernelPackage/libertas-sd/install
1644         $(INSTALL_DIR) $(1)/lib/firmware/libertas
1645         $(INSTALL_DATA) \
1646                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8385_helper.bin \
1647                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8385.bin \
1648                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v9_helper.bin \
1649                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v9.bin \
1650                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8688_helper.bin \
1651                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8688.bin \
1652                 $(1)/lib/firmware/libertas
1653 endef
1654
1655 define KernelPackage/cfg80211/install
1656         $(INSTALL_DIR) $(1)/lib/wifi $(1)/lib/netifd/wireless
1657         $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
1658         $(INSTALL_BIN) ./files/lib/netifd/wireless/mac80211.sh $(1)/lib/netifd/wireless
1659 endef
1660
1661 define KernelPackage/p54-pci/install
1662         $(INSTALL_DIR) $(1)/lib/firmware
1663         $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
1664 endef
1665
1666 define KernelPackage/p54-usb/install
1667         $(INSTALL_DIR) $(1)/lib/firmware
1668         $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
1669 endef
1670
1671 define KernelPackage/p54-spi/install
1672         $(INSTALL_DIR) $(1)/lib/firmware
1673         $(INSTALL_DATA) $(DL_DIR)/$(P54SPIFW) $(1)/lib/firmware/3826.arm
1674 endef
1675
1676 define KernelPackage/rt61-pci/install
1677         $(INSTALL_DIR) $(1)/lib/firmware
1678         $(INSTALL_DATA) \
1679                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2561.bin \
1680                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2561s.bin \
1681                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2661.bin \
1682                 $(1)/lib/firmware/
1683 endef
1684
1685 define KernelPackage/rt73-usb/install
1686         $(INSTALL_DIR) $(1)/lib/firmware
1687         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt73.bin $(1)/lib/firmware/
1688 endef
1689
1690 define KernelPackage/rt2800-pci/install
1691         $(INSTALL_DIR) $(1)/lib/firmware
1692         $(INSTALL_DATA) \
1693                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2860.bin \
1694                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt3290.bin \
1695                 $(1)/lib/firmware
1696 endef
1697
1698 define KernelPackage/rt2800-usb/install
1699         $(INSTALL_DIR) $(1)/lib/firmware
1700         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2870.bin $(1)/lib/firmware/
1701 endef
1702
1703 define KernelPackage/wl12xx/install
1704         $(INSTALL_DIR) $(1)/lib/firmware/ti-connectivity
1705         $(INSTALL_DATA) \
1706                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-5-mr.bin \
1707                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-5-plt.bin \
1708                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-5-sr.bin \
1709                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl1271-nvs.bin \
1710                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl128x-fw-5-mr.bin \
1711                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl128x-fw-5-plt.bin \
1712                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl128x-fw-5-sr.bin \
1713                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl128x-nvs.bin \
1714                 $(1)/lib/firmware/ti-connectivity
1715 endef
1716
1717 define KernelPackage/wl18xx/install
1718         $(INSTALL_DIR) $(1)/lib/firmware/ti-connectivity
1719         $(INSTALL_DATA) \
1720                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl18xx-conf.bin \
1721                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl18xx-fw-3.bin \
1722                 $(1)/lib/firmware/ti-connectivity
1723 endef
1724
1725 define KernelPackage/zd1211rw/install
1726         $(INSTALL_DIR) $(1)/lib/firmware/zd1211
1727         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
1728 endef
1729
1730 define KernelPackage/carl9170/install
1731         $(INSTALL_DIR) $(1)/lib/firmware
1732         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/carl9170-1.fw $(1)/lib/firmware
1733 endef
1734
1735 define KernelPackage/ath9k-htc/install
1736         $(INSTALL_DIR) $(1)/lib/firmware
1737         $(INSTALL_DATA) \
1738                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/htc_9271.fw \
1739                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/htc_7010.fw \
1740                 $(1)/lib/firmware/
1741 endef
1742
1743 define KernelPackage/ath10k/install
1744         $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA988X/hw2.0
1745 ifeq ($(CONFIG_ATH10K_STA_FW),y)
1746         $(INSTALL_DATA) \
1747                 $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/ath10k/QCA988X/hw2.0/board.bin \
1748                 $(1)/lib/firmware/ath10k/QCA988X/hw2.0/
1749         $(INSTALL_DATA) \
1750                 $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/main/firmware-2.bin_999.999.0.636 \
1751                 $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-2.bin
1752 else
1753         $(INSTALL_DATA) \
1754                 $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/ath10k/QCA988X/hw2.0/board.bin \
1755                 $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/ath10k/QCA988X/hw2.0/firmware-2.bin \
1756                 $(1)/lib/firmware/ath10k/QCA988X/hw2.0/
1757 endif
1758 endef
1759
1760 define KernelPackage/mwl8k/install
1761         $(INSTALL_DIR) $(1)/lib/firmware/mwl8k
1762         $(INSTALL_DATA) \
1763                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366_ap-3.fw \
1764                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366.fw \
1765                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8366.fw \
1766                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8687.fw \
1767                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8687.fw \
1768                 $(1)/lib/firmware/mwl8k/
1769 endef
1770
1771 define KernelPackage/net-ipw2100/install
1772         $(INSTALL_DIR) $(1)/lib/firmware
1773         $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
1774 endef
1775
1776 define KernelPackage/net-ipw2200/install
1777         $(INSTALL_DIR) $(1)/lib/firmware
1778         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
1779 endef
1780
1781 define KernelPackage/iwlagn/install
1782         $(INSTALL_DIR) $(1)/lib/firmware
1783 ifneq ($(CONFIG_IWL5000_FW),)
1784         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5000-5.ucode $(1)/lib/firmware
1785 endif
1786 ifneq ($(CONFIG_IWL5150_FW),)
1787         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5150-2.ucode $(1)/lib/firmware
1788 endif
1789 ifneq ($(CONFIG_IWL1000_FW),)
1790         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-1000-5.ucode $(1)/lib/firmware
1791 endif
1792 ifneq ($(CONFIG_IWL6000_FW),)
1793         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000-4.ucode $(1)/lib/firmware
1794 endif
1795 ifneq ($(CONFIG_IWL6050_FW),)
1796         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6050-5.ucode $(1)/lib/firmware
1797 endif
1798 ifneq ($(CONFIG_IWL6005_FW),)
1799         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2a-6.ucode $(1)/lib/firmware
1800 endif
1801 ifneq ($(CONFIG_IWL6030_FW),)
1802         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2b-6.ucode $(1)/lib/firmware
1803 endif
1804 ifneq ($(CONFIG_IWL7260_FW),)
1805         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-7260-7.ucode $(1)/lib/firmware
1806 endif
1807 ifneq ($(CONFIG_IWL100_FW),)
1808         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-100-5.ucode $(1)/lib/firmware
1809 endif
1810 ifneq ($(CONFIG_IWL2000_FW),)
1811         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-2000-6.ucode $(1)/lib/firmware
1812 endif
1813 ifneq ($(CONFIG_IWL2030_FW),)
1814         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-2030-6.ucode $(1)/lib/firmware
1815 endif
1816 ifneq ($(CONFIG_IWL105_FW),)
1817         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-105-6.ucode $(1)/lib/firmware
1818 endif
1819 ifneq ($(CONFIG_IWL135_FW),)
1820         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-135-6.ucode $(1)/lib/firmware
1821 endif
1822 endef
1823
1824 define KernelPackage/iwl3945/install
1825         $(INSTALL_DIR) $(1)/lib/firmware
1826         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-3945-2.ucode $(1)/lib/firmware
1827 endef
1828
1829 define KernelPackage/iwl4965/install
1830         $(INSTALL_DIR) $(1)/lib/firmware
1831         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-4965-2.ucode $(1)/lib/firmware
1832 endef
1833
1834 define KernelPackage/b43/install
1835         rm -rf $(1)/lib/firmware/
1836 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1837         tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1838 else
1839         tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1840 endif
1841         $(INSTALL_DIR) $(1)/lib/firmware/
1842 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1843         $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
1844         $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
1845         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
1846         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
1847         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
1848 else
1849         b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
1850 endif
1851 ifneq ($(CONFIG_B43_FW_SQUASH),)
1852         b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
1853 endif
1854 endef
1855
1856 define KernelPackage/b43legacy/install
1857         $(INSTALL_DIR) $(1)/lib/firmware/
1858         b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
1859 ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
1860         b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy"
1861 endif
1862 endef
1863
1864 define KernelPackage/brcmsmac/install
1865         $(INSTALL_DIR) $(1)/lib/firmware/brcm
1866 ifeq ($(CONFIG_BRCMSMAC_USE_FW_FROM_WL),y)
1867         tar xjf "$(DL_DIR)/$(PKG_BRCMSMAC_FW_SOURCE)" -C "$(PKG_BUILD_DIR)"
1868         b43-fwcutter --brcmsmac -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_BRCMSMAC_FW_OBJECT)
1869 else
1870         $(INSTALL_DATA) \
1871                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx-0.fw \
1872                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx_hdr-0.fw \
1873                 $(1)/lib/firmware/brcm/
1874 endif
1875 endef
1876
1877 define KernelPackage/brcmfmac/install
1878         $(INSTALL_DIR) $(1)/lib/firmware/brcm
1879         $(INSTALL_DATA) \
1880                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/brcmfmac43236b.bin \
1881                 $(1)/lib/firmware/brcm/
1882 endef
1883
1884 $(eval $(call KernelPackage,adm8211))
1885 $(eval $(call KernelPackage,ath5k))
1886 $(eval $(call KernelPackage,lib80211))
1887 $(eval $(call KernelPackage,libertas-usb))
1888 $(eval $(call KernelPackage,libertas-sd))
1889 $(eval $(call KernelPackage,cfg80211))
1890 $(eval $(call KernelPackage,mac80211))
1891 $(eval $(call KernelPackage,p54-common))
1892 $(eval $(call KernelPackage,p54-pci))
1893 $(eval $(call KernelPackage,p54-usb))
1894 $(eval $(call KernelPackage,p54-spi))
1895 $(eval $(call KernelPackage,rt2x00-lib))
1896 $(eval $(call KernelPackage,rt2x00-mmio))
1897 $(eval $(call KernelPackage,rt2x00-pci))
1898 $(eval $(call KernelPackage,rt2x00-usb))
1899 $(eval $(call KernelPackage,rt2800-lib))
1900 $(eval $(call KernelPackage,rt2400-pci))
1901 $(eval $(call KernelPackage,rt2500-pci))
1902 $(eval $(call KernelPackage,rt2500-usb))
1903 $(eval $(call KernelPackage,rt61-pci))
1904 $(eval $(call KernelPackage,rt73-usb))
1905 $(eval $(call KernelPackage,rt2800-mmio))
1906 $(eval $(call KernelPackage,rt2800-soc))
1907 $(eval $(call KernelPackage,rt2800-pci))
1908 $(eval $(call KernelPackage,rt2800-usb))
1909 $(eval $(call KernelPackage,rtl8180))
1910 $(eval $(call KernelPackage,rtl8187))
1911 $(eval $(call KernelPackage,rtlwifi))
1912 $(eval $(call KernelPackage,rtlwifi-pci))
1913 $(eval $(call KernelPackage,rtlwifi-usb))
1914 $(eval $(call KernelPackage,rtl8192c-common))
1915 $(eval $(call KernelPackage,rtl8192ce))
1916 $(eval $(call KernelPackage,rtl8192se))
1917 $(eval $(call KernelPackage,rtl8192de))
1918 $(eval $(call KernelPackage,rtl8192cu))
1919 $(eval $(call KernelPackage,zd1211rw))
1920 $(eval $(call KernelPackage,mac80211-hwsim))
1921 $(eval $(call KernelPackage,ath9k-common))
1922 $(eval $(call KernelPackage,ath9k))
1923 $(eval $(call KernelPackage,ath9k-htc))
1924 $(eval $(call KernelPackage,ath10k))
1925 $(eval $(call KernelPackage,ath))
1926 $(eval $(call KernelPackage,carl9170))
1927 $(eval $(call KernelPackage,b43))
1928 $(eval $(call KernelPackage,b43legacy))
1929 $(eval $(call KernelPackage,brcmutil))
1930 $(eval $(call KernelPackage,brcmsmac))
1931 $(eval $(call KernelPackage,brcmfmac))
1932 $(eval $(call KernelPackage,net-libipw))
1933 $(eval $(call KernelPackage,net-ipw2100))
1934 $(eval $(call KernelPackage,net-ipw2200))
1935 $(eval $(call KernelPackage,iwlagn))
1936 $(eval $(call KernelPackage,iwl-legacy))
1937 $(eval $(call KernelPackage,iwl4965))
1938 $(eval $(call KernelPackage,iwl3945))
1939 $(eval $(call KernelPackage,mwl8k))
1940 $(eval $(call KernelPackage,net-hermes))
1941 $(eval $(call KernelPackage,net-hermes-pci))
1942 $(eval $(call KernelPackage,net-hermes-plx))
1943 $(eval $(call KernelPackage,net-hermes-pcmcia))
1944 $(eval $(call KernelPackage,wlcore))
1945 $(eval $(call KernelPackage,wl12xx))
1946 $(eval $(call KernelPackage,wl18xx))