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