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