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