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