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