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