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