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