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