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