mac80211: b43: activate LP-Phy support every time
[openwrt.git] / package / kernel / mac80211 / Makefile
1 #
2 # Copyright (C) 2007-2012 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:=2013-06-27
14 PKG_RELEASE:=1
15 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
16 PKG_BACKPORT_VERSION:=.1
17 PKG_MD5SUM:=73bd220c64c5c6fdc22b3bb7f180644f
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 rt2x00-soc rt2800-lib rt2400-pci \
28         rt2500-pci rt2500-usb rt61-pci rt73-usb rt2800-pci rt2800-usb \
29         rtl8180 rtl8187 zd1211rw mac80211-hwsim carl9170 b43 b43legacy \
30         ath9k-common ath9k ath9k-htc 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 wl12xx lib80211
33
34 PKG_CONFIG_DEPENDS:= \
35         CONFIG_PACKAGE_kmod-mac80211 \
36         $(patsubst %,CONFIG_PACKAGE_kmod-%,$(PKG_DRIVERS)) \
37         CONFIG_PACKAGE_MAC80211_DEBUGFS \
38         CONFIG_PACKAGE_MAC80211_MESH \
39         CONFIG_PACKAGE_ATH_DEBUG \
40         CONFIG_PACKAGE_B43_DEBUG \
41         CONFIG_PACKAGE_B43_PIO \
42         CONFIG_PACKAGE_B43_N_PHY \
43         CONFIG_ATH_USER_REGD \
44
45 CARL9170_FW_VERSION:=1.9.6
46
47 include $(INCLUDE_DIR)/package.mk
48
49 WMENU:=Wireless Drivers
50
51 define KernelPackage/mac80211/Default
52   SUBMENU:=$(WMENU)
53   URL:=http://linuxwireless.org/
54   MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
55   DEPENDS:=@(!(TARGET_avr32||TARGET_ps3||TARGET_pxcab)||BROKEN)
56 endef
57
58 define KernelPackage/cfg80211
59   $(call KernelPackage/mac80211/Default)
60   TITLE:=cfg80211 - wireless configuration API
61   DEPENDS+= +iw
62   FILES:= \
63         $(PKG_BUILD_DIR)/compat/compat.ko \
64         $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
65   AUTOLOAD:=$(call AutoLoad,20,compat cfg80211)
66 endef
67
68 define KernelPackage/cfg80211/description
69 cfg80211 is the Linux wireless LAN (802.11) configuration API.
70 endef
71
72 define KernelPackage/mac80211
73   $(call KernelPackage/mac80211/Default)
74   TITLE:=Linux 802.11 Wireless Networking Stack
75   DEPENDS+= +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-cfg80211
76   KCONFIG:=\
77         CONFIG_AVERAGE=y
78   FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.ko
79   AUTOLOAD:=$(call AutoLoad,21,mac80211)
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:=6942dba419d2ebf8c15514972e89734fd7a8cebc
108 PKG_LINUX_FIRMWARE_SOURCE:=$(PKG_LINUX_FIRMWARE_NAME)-$(PKG_LINUX_FIRMWARE_VERSION).tar.bz2
109 PKG_LINUX_FIRMWARE_PROTO:=git
110 PKG_LINUX_FIRMWARE_SOURCE_URL:=git://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:=a5f8c27af9e43f0ad24d7f821c5a781e
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 # Prism54 drivers
126 P54PCIFW:=2.13.12.0.arm
127 P54USBFW:=2.13.24.0.lm87.arm
128 P54SPIFW:=2.13.0.0.a.13.14.arm
129 CARL9170_FW:=carl9170-1.fw
130
131 define Download/p54usb
132   FILE:=$(P54USBFW)
133   URL:=http://daemonizer.de/prism54/prism54-fw/fw-usb
134   MD5SUM:=8e8ab005a4f8f0123bcdc51bc25b47f6
135 endef
136 $(eval $(call Download,p54usb))
137
138 define Download/p54pci
139   FILE:=$(P54PCIFW)
140   URL:=http://daemonizer.de/prism54/prism54-fw/fw-softmac
141   MD5SUM:=ff7536af2092b1c4b21315bd103ef4c4
142 endef
143 $(eval $(call Download,p54pci))
144
145 define Download/p54spi
146   FILE:=$(P54SPIFW)
147   URL:=http://daemonizer.de/prism54/prism54-fw/stlc4560
148   MD5SUM:=42661f8ecbadd88012807493f596081d
149 endef
150 $(eval $(call Download,p54spi))
151
152 define Download/carl9170
153   FILE:=$(CARL9170_FW)-$(CARL9170_FW_VERSION)
154   URL:=http://downloads.openwrt.org/sources/
155   MD5SUM:=2fa6ed98d53d0b5fbcc136d1cf5e9609
156 endef
157 $(eval $(call Download,carl9170))
158
159 define KernelPackage/p54/Default
160   $(call KernelPackage/mac80211/Default)
161   TITLE:=Prism54 Drivers
162 endef
163
164 define KernelPackage/p54/description
165   Kernel module for Prism54 chipsets (mac80211)
166 endef
167
168 define KernelPackage/p54-common
169   $(call KernelPackage/p54/Default)
170   DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT||@TARGET_omap24xx +kmod-mac80211 +kmod-lib-crc-ccitt
171   TITLE+= (COMMON)
172   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54common.ko
173   AUTOLOAD:=$(call AutoLoad,30,p54common)
174 endef
175
176 define KernelPackage/p54-pci
177   $(call KernelPackage/p54/Default)
178   TITLE+= (PCI)
179   DEPENDS+= @PCI_SUPPORT +kmod-p54-common
180   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54pci.ko
181   AUTOLOAD:=$(call AutoLoad,31,p54pci)
182 endef
183
184 define KernelPackage/p54-usb
185   $(call KernelPackage/p54/Default)
186   TITLE+= (USB)
187   DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common
188   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54usb.ko
189   AUTOLOAD:=$(call AutoLoad,31,p54usb)
190 endef
191
192 define KernelPackage/p54-spi
193   $(call KernelPackage/p54/Default)
194   TITLE+= (SPI)
195   DEPENDS+= @TARGET_omap24xx +kmod-p54-common
196   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54spi.ko
197   AUTOLOAD:=$(call AutoLoad,31,p54spi)
198 endef
199
200 define KernelPackage/rt2x00/Default
201   $(call KernelPackage/mac80211/Default)
202   TITLE:=Ralink Drivers for RT2x00 cards
203 endef
204
205 define KernelPackage/rt2x00-lib
206 $(call KernelPackage/rt2x00/Default)
207   DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-mac80211 +kmod-lib-crc-itu-t
208   TITLE+= (LIB)
209   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00lib.ko
210   AUTOLOAD:=$(call AutoLoad,24,rt2x00lib)
211   MENU:=1
212 endef
213
214 define KernelPackage/rt2x00-lib/config
215   if PACKAGE_kmod-rt2x00-lib
216
217         config PACKAGE_RT2X00_LIB_DEBUGFS
218                 bool "Enable rt2x00 debugfs support"
219                 depends on PACKAGE_MAC80211_DEBUGFS
220                 help
221                   Enable creation of debugfs files for the rt2x00 drivers.
222                   These debugfs files support both reading and writing of the
223                   most important register types of the rt2x00 hardware.
224
225         config PACKAGE_RT2X00_DEBUG
226                 bool "Enable rt2x00 debug output"
227                 help
228                   Enable debugging output for all rt2x00 modules
229
230   endif
231 endef
232
233 define KernelPackage/rt2x00-mmio
234 $(call KernelPackage/rt2x00/Default)
235   DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-eeprom-93cx6
236   TITLE+= (MMIO)
237   FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00mmio.ko
238   AUTOLOAD:=$(call AutoLoad,25,rt2x00mmio)
239 endef
240
241 define KernelPackage/rt2x00-pci
242 $(call KernelPackage/rt2x00/Default)
243   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-mmio +kmod-rt2x00-lib
244   TITLE+= (PCI)
245   FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00pci.ko
246   AUTOLOAD:=$(call AutoLoad,26,rt2x00pci)
247 endef
248
249 define KernelPackage/rt2x00-usb
250 $(call KernelPackage/rt2x00/Default)
251   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
252   TITLE+= (USB)
253   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00usb.ko
254   AUTOLOAD:=$(call AutoLoad,26,rt2x00usb)
255 endef
256
257 define KernelPackage/rt2x00-soc
258 $(call KernelPackage/rt2x00/Default)
259   DEPENDS+= @TARGET_ramips @!TARGET_ramips_mt7620a @!TARGET_ramips_rt3883 +kmod-rt2x00-mmio +kmod-rt2x00-lib
260   TITLE+= (SoC)
261   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00soc.ko
262   AUTOLOAD:=$(call AutoLoad,26,rt2x00soc)
263 endef
264
265 define KernelPackage/rt2800-lib
266 $(call KernelPackage/rt2x00/Default)
267   DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +TARGET_ramips:kmod-rt2x00-soc +@DRIVER_11N_SUPPORT
268   TITLE+= (rt2800 LIB)
269   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800lib.ko
270   AUTOLOAD:=$(call AutoLoad,27,rt2800lib)
271 endef
272
273 define KernelPackage/rt2400-pci
274 $(call KernelPackage/rt2x00/Default)
275   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
276   TITLE+= (RT2400 PCI)
277   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2400pci.ko
278   AUTOLOAD:=$(call AutoLoad,27,rt2400pci)
279 endef
280
281 define KernelPackage/rt2500-pci
282 $(call KernelPackage/rt2x00/Default)
283   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
284   TITLE+= (RT2500 PCI)
285   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500pci.ko
286   AUTOLOAD:=$(call AutoLoad,27,rt2500pci)
287 endef
288
289 define KernelPackage/rt2500-usb
290 $(call KernelPackage/rt2x00/Default)
291   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
292   TITLE+= (RT2500 USB)
293   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500usb.ko
294   AUTOLOAD:=$(call AutoLoad,27,rt2500usb)
295 endef
296
297 define KernelPackage/rt61-pci
298 $(call KernelPackage/rt2x00/Default)
299   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
300   TITLE+= (RT2x61 PCI)
301   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt61pci.ko
302   AUTOLOAD:=$(call AutoLoad,27,rt61pci)
303 endef
304
305 define KernelPackage/rt73-usb
306   $(call KernelPackage/rt2x00/Default)
307   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
308   TITLE+= (RT73 USB)
309   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt73usb.ko
310   AUTOLOAD:=$(call AutoLoad,27,rt73usb)
311 endef
312
313 define KernelPackage/rt2800-pci
314 $(call KernelPackage/rt2x00/Default)
315   DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +PCI_SUPPORT:kmod-rt2x00-pci +kmod-rt2800-lib +kmod-lib-crc-ccitt +TARGET_ramips:kmod-rt2x00-soc
316   TITLE+= (RT2860 PCI)
317   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800pci.ko
318   AUTOLOAD:=$(call AutoLoad,28,rt2800pci)
319 endef
320
321 define KernelPackage/rt2800-usb
322 $(call KernelPackage/rt2x00/Default)
323   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb +kmod-rt2800-lib +kmod-lib-crc-ccitt
324   TITLE+= (RT2870 USB)
325   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800usb.ko
326   AUTOLOAD:=$(call AutoLoad,28,rt2800usb)
327 endef
328
329 define KernelPackage/rtl818x/Default
330   $(call KernelPackage/mac80211/Default)
331   TITLE:=Realtek Drivers for RTL818x devices
332   URL:=http://wireless.kernel.org/en/users/Drivers/rtl8187
333   DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211
334 endef
335
336 define KernelPackage/rtl8180
337   $(call KernelPackage/rtl818x/Default)
338   DEPENDS+= @PCI_SUPPORT
339   TITLE+= (RTL8180 PCI)
340   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8180/rtl8180.ko
341   AUTOLOAD:=$(call AutoLoad,27,rtl8180)
342 endef
343
344 define KernelPackage/rtl8187
345 $(call KernelPackage/rtl818x/Default)
346   DEPENDS+= @USB_SUPPORT +kmod-usb-core
347   TITLE+= (RTL8187 USB)
348   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko
349   AUTOLOAD:=$(call AutoLoad,27,rtl8187)
350 endef
351
352 ZD1211FW_NAME:=zd1211-firmware
353 ZD1211FW_VERSION:=1.4
354 define Download/zd1211rw
355   FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
356   URL:=@SF/zd1211/
357   MD5SUM:=19f28781d76569af8551c9d11294c870
358 endef
359 $(eval $(call Download,zd1211rw))
360
361 define KernelPackage/zd1211rw
362   $(call KernelPackage/mac80211/Default)
363   TITLE:=Zydas ZD1211 support
364   DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
365   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zd1211rw/zd1211rw.ko
366   AUTOLOAD:=$(call AutoLoad,60,zd1211rw)
367 endef
368
369 define KernelPackage/adm8211
370   $(call KernelPackage/mac80211/Default)
371   TITLE:=ADMTek 8211 support
372   DEPENDS+=@PCI_SUPPORT +kmod-mac80211 +kmod-eeprom-93cx6
373   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/adm8211.ko
374   AUTOLOAD:=$(call AutoLoad,60,adm8211)
375 endef
376
377 define KernelPackage/ath/config
378   if PACKAGE_kmod-ath
379         config ATH_USER_REGD
380                 bool "Force Atheros drivers to respect the user's regdomain settings"
381                 help
382                   Atheros' idea of regulatory handling is that the EEPROM of the card defines
383                   the regulatory limits and the user is only allowed to restrict the settings
384                   even further, even if the country allows frequencies or power levels that
385                   are forbidden by the EEPROM settings.
386
387                   Select this option if you want the driver to respect the user's decision about
388                   regulatory settings.
389
390         config PACKAGE_ATH_DEBUG
391                 bool "Atheros wireless debugging"
392                 help
393                   Say Y, if you want to debug atheros wireless drivers.
394                   Right now only ath9k makes use of this.
395   endif
396 endef
397
398 define KernelPackage/ath
399   $(call KernelPackage/mac80211/Default)
400   TITLE:=Atheros common driver part
401   DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx||TARGET_atheros +kmod-mac80211
402   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.ko
403   AUTOLOAD:=$(call AutoLoad,26,ath)
404   MENU:=1
405 endef
406
407 define KernelPackage/ath/description
408  This module contains some common parts needed by Atheros Wireless drivers.
409 endef
410
411 define KernelPackage/ath5k
412   $(call KernelPackage/mac80211/Default)
413   TITLE:=Atheros 5xxx wireless cards support
414   URL:=http://linuxwireless.org/en/users/Drivers/ath5k
415   DEPENDS+= @PCI_SUPPORT||@TARGET_atheros +kmod-ath
416   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.ko
417   AUTOLOAD:=$(call AutoLoad,27,ath5k)
418 endef
419
420 define KernelPackage/ath5k/description
421  This module adds support for wireless adapters based on
422  Atheros 5xxx chipset.
423 endef
424
425 define KernelPackage/ath9k-common
426   $(call KernelPackage/mac80211/Default)
427   TITLE:=Atheros 802.11n wireless devices (common code for ath9k and ath9k_htc)
428   URL:=http://linuxwireless.org/en/users/Drivers/ath9k
429   DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx +kmod-ath +@DRIVER_11N_SUPPORT
430   FILES:= \
431         $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.ko \
432         $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
433   AUTOLOAD:=$(call AutoLoad,27,ath9k_hw ath9k_common)
434 endef
435
436 define KernelPackage/ath9k
437   $(call KernelPackage/mac80211/Default)
438   TITLE:=Atheros 802.11n PCI wireless cards support
439   URL:=http://linuxwireless.org/en/users/Drivers/ath9k
440   DEPENDS+= @PCI_SUPPORT||TARGET_ar71xx +kmod-ath9k-common
441   FILES:= \
442         $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.ko
443   AUTOLOAD:=$(call AutoLoad,28,ath9k)
444 endef
445
446 define KernelPackage/ath9k/description
447 This module adds support for wireless adapters based on
448 Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
449 endef
450
451 define KernelPackage/ath9k-htc
452   $(call KernelPackage/mac80211/Default)
453   TITLE:=Atheros 802.11n USB device support
454   URL:=http://linuxwireless.org/en/users/Drivers/ath9k
455   DEPENDS+= @USB_SUPPORT +kmod-ath9k-common +kmod-usb-core
456   FILES:= \
457         $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
458   AUTOLOAD:=$(call AutoLoad,55,ath9k_htc)
459 endef
460
461 define KernelPackage/ath9k-htc/description
462 This module adds support for wireless adapters based on
463 Atheros USB AR9271 and AR7010 family of chipsets.
464 endef
465
466 define KernelPackage/carl9170
467   $(call KernelPackage/mac80211/Default)
468   TITLE:=Driver for Atheros AR9170 USB sticks
469   DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core +kmod-input-core +@DRIVER_11N_SUPPORT
470   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/carl9170/carl9170.ko
471   AUTOLOAD:=$(call AutoLoad,60,carl9170)
472 endef
473
474 define KernelPackage/carl9170/install
475         $(INSTALL_DIR) $(1)/lib/firmware
476         $(INSTALL_DATA) $(DL_DIR)/$(CARL9170_FW)-$(CARL9170_FW_VERSION) $(1)/lib/firmware/$(CARL9170_FW)
477 endef
478
479 define KernelPackage/lib80211
480   $(call KernelPackage/mac80211/Default)
481   TITLE:=802.11 Networking stack
482   FILES:= \
483         $(PKG_BUILD_DIR)/net/wireless/lib80211.ko \
484         $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_wep.ko \
485         $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_ccmp.ko \
486         $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_tkip.ko
487   AUTOLOAD:=$(call AutoLoad,21, \
488         lib80211 \
489         lib80211_crypt_wep \
490         lib80211_crypt_ccmp \
491         lib80211_crypt_tkip \
492   )
493 endef
494
495 define KernelPackage/lib80211/description
496  Kernel modules for 802.11 Networking stack
497  Includes:
498  - lib80211
499  - lib80211_crypt_wep
500  - lib80211_crypt_tkip
501  - lib80211_crytp_ccmp
502 endef
503
504 define KernelPackage/libertas-usb
505   $(call KernelPackage/mac80211/Default)
506   DEPENDS+= @USB_SUPPORT +kmod-cfg80211 +kmod-usb-core +kmod-lib80211 +@DRIVER_WEXT_SUPPORT
507   TITLE:=Marvell 88W8015 Wireless Driver
508   FILES:= \
509         $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
510         $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/usb8xxx.ko
511   AUTOLOAD:=$(call AutoLoad,27,libertas usb8xxx)
512 endef
513
514 define KernelPackage/libertas-sd
515   $(call KernelPackage/mac80211/Default)
516   DEPENDS+= +kmod-cfg80211 +kmod-lib80211 +kmod-mmc +@DRIVER_WEXT_SUPPORT
517   TITLE:=Marvell 88W8686 Wireless Driver
518   FILES:= \
519         $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
520         $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas_sdio.ko
521   AUTOLOAD:=$(call AutoLoad,91,libertas libertas_sdio)
522 endef
523
524 define KernelPackage/mac80211-hwsim
525   $(call KernelPackage/mac80211/Default)
526   TITLE:=mac80211 HW simulation device
527   DEPENDS+= +kmod-mac80211
528   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.ko
529   AUTOLOAD:=$(call AutoLoad,60,mac80211_hwsim)
530 endef
531
532 define KernelPackage/net-libipw
533   $(call KernelPackage/mac80211/Default)
534   TITLE:=libipw for ipw2100 and ipw2200
535   DEPENDS:=@PCI_SUPPORT +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT
536   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/libipw.ko
537   AUTOLOAD:=$(call AutoLoad,49,libipw)
538 endef
539
540 define KernelPackage/net-libipw/description
541  Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
542 endef
543
544 IPW2100_NAME:=ipw2100-fw
545 IPW2100_VERSION:=1.3
546
547 define Download/net-ipw2100
548   URL:=http://bughost.org/firmware/
549   FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
550   MD5SUM=46aa75bcda1a00efa841f9707bbbd113
551 endef
552 $(eval $(call Download,net-ipw2100))
553
554 define KernelPackage/net-ipw2100
555   $(call KernelPackage/mac80211/Default)
556   TITLE:=Intel IPW2100 driver
557   DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
558   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2100.ko
559   AUTOLOAD:=$(call AutoLoad,50,ipw2100)
560 endef
561
562 define KernelPackage/net-ipw2100/description
563  Kernel support for Intel IPW2100
564  Includes:
565  - ipw2100
566 endef
567
568 IPW2200_NAME:=ipw2200-fw
569 IPW2200_VERSION:=3.1
570
571 define Download/net-ipw2200
572   URL:=http://bughost.org/firmware/
573   FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
574   MD5SUM=eaba788643c7cc7483dd67ace70f6e99
575 endef
576 $(eval $(call Download,net-ipw2200))
577
578 define KernelPackage/net-ipw2200
579   $(call KernelPackage/mac80211/Default)
580   TITLE:=Intel IPW2200 driver
581   DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
582   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2200.ko
583   AUTOLOAD:=$(call AutoLoad,50,ipw2200)
584 endef
585
586 define KernelPackage/net-ipw2200/description
587  Kernel support for Intel IPW2200
588  Includes:
589  - ipw2200
590 endef
591
592
593 define KernelPackage/net-hermes
594   $(call KernelPackage/mac80211/Default)
595   TITLE:=Hermes 802.11b chipset support
596   DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT
597   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco.ko
598   AUTOLOAD:=$(call AutoLoad,50,orinoco)
599 endef
600
601 define KernelPackage/net-hermes/description
602  Kernel support for Hermes 802.11b chipsets
603 endef
604
605 define KernelPackage/net-hermes-pci
606   $(call KernelPackage/mac80211/Default)
607   TITLE:=Intersil Prism 2.5 PCI support
608   DEPENDS:=@PCI_SUPPORT +kmod-net-hermes
609   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_pci.ko
610   AUTOLOAD:=$(call AutoLoad,55,orinoco_pci)
611 endef
612
613 define KernelPackage/net-hermes-pci/description
614  Kernel modules for Intersil Prism 2.5 PCI support
615 endef
616
617 define KernelPackage/net-hermes-plx
618   $(call KernelPackage/mac80211/Default)
619   TITLE:=PLX9052 based PCI adaptor
620   DEPENDS:=@PCI_SUPPORT +kmod-net-hermes
621   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_plx.ko
622   AUTOLOAD:=$(call AutoLoad,55,orinoco_plx)
623 endef
624
625 define KernelPackage/net-hermes-plx/description
626  Kernel modules for Hermes in PLX9052 based PCI adaptors
627 endef
628
629 define KernelPackage/net-hermes-pcmcia
630   $(call KernelPackage/mac80211/Default)
631   TITLE:=Hermes based PCMCIA adaptors
632   DEPENDS:=@PCMCIA_SUPPORT +kmod-net-hermes @BROKEN
633   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_cs.ko
634   AUTOLOAD:=$(call AutoLoad,55,orinoco_cs)
635 endef
636
637 define KernelPackage/net-hermes-pcmcia/description
638  Kernel modules for Hermes based PCMCIA adaptors
639 endef
640
641 define KernelPackage/iwlagn
642   $(call KernelPackage/mac80211/Default)
643   DEPENDS:= +kmod-mac80211 @PCI_SUPPORT +@DRIVER_11N_SUPPORT
644   TITLE:=Intel AGN Wireless support
645   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlwifi/iwlwifi.ko
646   AUTOLOAD:=$(call AutoLoad,60,iwlwifi)
647   MENU:=1
648 endef
649
650 define KernelPackage/iwlagn/description
651  iwlagn kernel module for Intel 5000/5150/1000/6000/6050/6005/6030/100 support
652 endef
653
654 define KernelPackage/iwlagn/config
655   if PACKAGE_kmod-iwlagn
656
657         config IWL5000_FW
658                 bool "Intel 5000 Firmware"
659                 default y
660                 help
661                   Download and install firmware for:
662                     Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN
663
664         config IWL5150_FW
665                 bool "Intel 5150 Firmware"
666                 default y
667                 help
668                   Download and install firmware for:
669                     Intel Wireless WiFi 5150AGN
670
671         config IWL1000_FW
672                 bool "Intel 1000 Firmware"
673                 default y
674                 help
675                   Download and install firmware for:
676                     Intel Centrino Wireless-N 1000
677
678         config IWL6000_FW
679                 bool "Intel 6000 Firmware"
680                 default y
681                 help
682                   Download and install firmware for:
683                     Intel Centrino Ultimate-N 6300 and Advanced-N 6200
684
685         config IWL6050_FW
686                 bool "Intel 6050 Firmware"
687                 default y
688                 help
689                   Download and install firmware for:
690                     Intel Centrino Advanced-N + WiMAX 6250 and Wireless-N + WiMAX 6150
691
692         config IWL6005_FW
693                 bool "Intel 6005 Firmware"
694                 default y
695                 help
696                   Download and install firmware for:
697                     Intel Centrino Advanced-N 6205
698
699         config IWL6030_FW
700                 bool "Intel 6030 Firmware"
701                 default y
702                 help
703                   Download and install firmware for:
704                     Intel Centrino Advanced-N 6230, Wireless-N 1030, Wireless-N 130 and Advanced-N 6235
705
706         config IWL100_FW
707                 bool "Intel 100 Firmware"
708                 default y
709                 help
710                   Download and install firmware for:
711                     Intel Centrino Wireless-N 100
712
713         config IWL2000_FW
714                 bool "Intel 2000 Firmware"
715                 default y
716                 help
717                   Download and install firmware for:
718                     Intel Centrino Wireless-N 2200
719
720         config IWL2030_FW
721                 bool "Intel 2030 Firmware"
722                 default y
723                 help
724                   Download and install firmware for:
725                     Intel Centrino Wireless-N 2230
726
727         config IWL105_FW
728                 bool "Intel 105 Firmware"
729                 default y
730                 help
731                   Download and install firmware for:
732                     Intel Centrino Wireless-N 105
733
734         config IWL135_FW
735                 bool "Intel 135 Firmware"
736                 default y
737                 help
738                   Download and install firmware for:
739                     Intel Centrino Wireless-N 135
740   endif
741 endef
742
743 define KernelPackage/iwl-legacy
744   $(call KernelPackage/mac80211/Default)
745   DEPENDS:= +kmod-mac80211 @PCI_SUPPORT
746   TITLE:=Intel legacy Wireless support
747   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwlegacy.ko
748   AUTOLOAD:=$(call AutoLoad,60,iwlegacy)
749 endef
750
751 define KernelPackage/iwl-legacy/description
752  iwl-legacy kernel module for legacy Intel wireless support
753 endef
754
755 define KernelPackage/iwl3945
756   $(call KernelPackage/mac80211/Default)
757   DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy
758   TITLE:=Intel iwl3945 Wireless support
759   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl3945.ko
760   AUTOLOAD:=$(call AutoLoad,61,iwl3945)
761 endef
762
763 define KernelPackage/iwl3945/description
764  iwl3945 kernel module for Intel 3945 support
765 endef
766
767 define KernelPackage/iwl4965
768   $(call KernelPackage/mac80211/Default)
769   DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy +@DRIVER_11N_SUPPORT
770   TITLE:=Intel iwl4965 Wireless support
771   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl4965.ko
772   AUTOLOAD:=$(call AutoLoad,61,iwl4965)
773 endef
774
775 define KernelPackage/iwl4965/description
776  iwl4965 kernel module for Intel 4965 support
777 endef
778
779
780 define KernelPackage/mwl8k
781   $(call KernelPackage/mac80211/Default)
782   TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards
783   URL:=http://wireless.kernel.org/en/users/Drivers/mwl8k
784   DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +@DRIVER_11N_SUPPORT
785   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mwl8k.ko
786   AUTOLOAD:=$(call AutoLoad,27,mwl8k)
787 endef
788
789 define KernelPackage/mwl8k/description
790  Kernel modules for Marvell TOPDOG 802.11 Wireless cards
791 endef
792
793
794 define KernelPackage/wl12xx
795   $(call KernelPackage/mac80211/Default)
796   TITLE:=Driver for TI WL12xx
797   URL:=http://wireless.kernel.org/en/users/Drivers/wl12xx
798   DEPENDS+= @TARGET_omap4 +kmod-mac80211
799   FILES:= \
800         $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl12xx/wl12xx.ko \
801         $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore.ko \
802         $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore_sdio.ko
803   AUTOLOAD:=$(call AutoLoad,61,wlcore wlcore_sdio wl12xx)
804 endef
805
806 define KernelPackage/wl12xx/description
807  Kernel modules for TI WL12xx
808 endef
809
810 #Broadcom firmware
811 ifneq ($(CONFIG_B43_FW_5_10),)
812   PKG_B43_FWV4_NAME:=broadcom-wl
813   PKG_B43_FWV4_VERSION:=5.10.56.27.3
814   PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta/wl_prebuilt.o
815   PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)_mipsel.tar.bz2
816   PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
817   PKG_B43_FWV4_MD5SUM:=3363e3a6b3d9d73c49dea870c7834eac
818 else
819 ifneq ($(CONFIG_B43_FW_4_178),)
820   PKG_B43_FWV4_NAME:=broadcom-wl
821   PKG_B43_FWV4_VERSION:=4.178.10.4
822   PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
823   PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
824   PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
825   PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
826 else
827 ifneq ($(CONFIG_B43_FW_5_100_138),)
828   PKG_B43_FWV4_NAME:=broadcom-wl
829   PKG_B43_FWV4_VERSION:=5.100.138
830   PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
831   PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
832   PKG_B43_FWV4_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
833   PKG_B43_FWV4_MD5SUM:=f4e357b09eaf5d8b1f1920cf3493a555
834 else
835   PKG_B43_FWV4_NAME:=broadcom-wl
836   PKG_B43_FWV4_VERSION:=4.150.10.5
837   PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
838   PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
839   PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
840   PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
841 endif
842 endif
843 endif
844 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
845   PKG_B43_FWV4_NAME:=broadcom-wl
846   PKG_B43_FWV4_VERSION:=5.2
847   PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
848   PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
849   PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
850   PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
851 endif
852
853
854 PKG_B43_FWV3_NAME:=wl_apsta
855 PKG_B43_FWV3_VERSION:=3.130.20.0
856 PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o
857 PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/
858 PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3
859
860 define Download/b43
861   FILE:=$(PKG_B43_FWV4_SOURCE)
862   URL:=$(PKG_B43_FWV4_SOURCE_URL)
863   MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
864 endef
865 $(eval $(call Download,b43))
866
867 define Download/b43legacy
868   FILE:=$(PKG_B43_FWV3_SOURCE)
869   URL:=$(PKG_B43_FWV3_SOURCE_URL)
870   MD5SUM:=$(PKG_B43_FWV3_MD5SUM)
871 endef
872 $(eval $(call Download,b43legacy))
873
874
875 define KernelPackage/b43
876   $(call KernelPackage/mac80211/Default)
877   TITLE:=Broadcom 43xx wireless support
878   URL:=http://linuxwireless.org/en/users/Drivers/b43
879   KCONFIG:= \
880         CONFIG_HW_RANDOM=y
881   DEPENDS+= +kmod-mac80211 +!TARGET_brcm47xx:kmod-bcma +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
882   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.ko
883   AUTOLOAD:=$(call AutoLoad,30,b43)
884   MENU:=1
885 endef
886
887 define KernelPackage/b43/config
888   if PACKAGE_kmod-b43
889
890         choice
891                 prompt "b43 firmware version"
892                 default B43_FW_5_100_138
893                 help
894                   This option allows you to select the version of the b43 firmware.
895
896         config B43_FW_4_150
897                 bool "Firmware 410.2160 from driver 4.150.10.5 (old stable)"
898                 help
899                   Stable firmware for BCM43xx devices.
900
901                   If unsure, select this.
902
903         config B43_FW_4_178
904                 bool "Firmware 478.104 from driver 4.178.10.4"
905                 help
906                   Experimental firmware for BCM43xx devices.
907
908                   This firmware is not tested as much as the "stable" firmware.
909
910                   If unsure, select the "stable" firmware.
911
912         config B43_FW_5_10
913                 bool "Firmware 508.1084 from driver 5.10.56.27"
914                 help
915                   Newer experimental firmware for BCM43xx devices.
916
917                   This firmware is mostly untested. It is needed for some N-PHY devices.
918
919                   If unsure, select the "stable" firmware.
920
921         config B43_FW_5_100_138
922                 bool "Firmware 666.2 from driver 5.100.138 (stable)"
923                 help
924                   Newer experimental firmware for BCM43xx devices.
925
926                   This firmware is mostly untested. It is needed for some N-PHY devices.
927
928                   If unsure, select the "stable" firmware.
929
930         config B43_OPENFIRMWARE
931                 bool "Open FirmWare for WiFi networks"
932                 help
933                   Opensource firmware for BCM43xx devices.
934
935                   Do _not_ select this, unless you know what you are doing.
936                   The Opensource firmware is not suitable for embedded devices, yet.
937                   It does not support QoS, which is bad for AccessPoints.
938                   It does not support hardware crypto acceleration, which is a showstopper
939                   for embedded devices with low CPU resources.
940
941                   If unsure, select the "stable" firmware.
942
943         endchoice
944
945         config B43_FW_SQUASH
946                 bool "Remove unnecessary firmware files"
947                 depends on !B43_OPENFIRMWARE
948                 default y
949                 help
950                   This options allows you to remove unnecessary b43 firmware files
951                   from the final rootfs image. This can reduce the rootfs size by
952                   up to 200k.
953
954                   If unsure, say Y.
955
956         config B43_FW_SQUASH_COREREVS
957                 string "Core revisions to include"
958                 depends on B43_FW_SQUASH
959                 default "5,6,7,8,9,10,11,13,15,16,29"
960                 help
961                   This is a comma seperated list of core revision numbers.
962
963                   Example (keep files for rev5 only):
964                     5
965
966                   Example (keep files for rev5 and rev11):
967                     5,11
968
969         config B43_FW_SQUASH_PHYTYPES
970                 string "PHY types to include"
971                 depends on B43_FW_SQUASH
972                 default "G,LP,N,HT"
973                 help
974                   This is a comma seperated list of PHY types:
975                     A  => A-PHY
976                     AG => Dual A-PHY G-PHY
977                     G  => G-PHY
978                     LP => LP-PHY
979                     N  => N-PHY
980                     HT  => HT-PHY
981                     LCN  => LCN-PHY
982
983                   Example (keep files for G-PHY only):
984                     G
985
986                   Example (keep files for G-PHY and N-PHY):
987                     G,N
988
989         config PACKAGE_B43_DEBUG
990                 bool "Enable debug output and debugfs for b43"
991                 default n
992                 help
993                   Enable additional debug output and runtime sanity checks for b43
994                   and enables the debugfs interface.
995
996                   If unsure, say N.
997
998         config PACKAGE_B43_PIO
999                 bool "Enable support for PIO transfer mode"
1000                 default n
1001                 help
1002                   Enable support for using PIO instead of DMA. Unless you have DMA
1003                   transfer problems you don't need this.
1004
1005                   If unsure, say N.
1006
1007         config PACKAGE_B43_PHY_N
1008                 bool "Enable support for N-PHYs"
1009                 default y
1010                 help
1011                   Enable support for N-PHY. This includes support for the following devices:
1012                   PCI: BCM4321, BCM4322, BCM43222, BCM43224, BCM43225
1013                   SoC: BCM4716, BCM4717, BCM4718
1014
1015                   Currently only 11g speed is available.
1016
1017                   If unsure, say Y.
1018
1019         config PACKAGE_B43_PHY_HT
1020                 bool "Enable support for HT-PHYs"
1021                 default y
1022                 help
1023                   Enable support for HT-PHY. This includes support for the following devices:
1024                   PCI: BCM4331
1025
1026                   Currently only 11g speed is available.
1027
1028                   If unsure, say Y.
1029
1030         config PACKAGE_B43_PHY_LCN
1031                 bool "Enable support for LCN-PHYs"
1032                 depends on BROKEN
1033                 default n
1034                 help
1035                   Currently broken.
1036
1037                   If unsure, say N.
1038
1039   endif
1040 endef
1041
1042 define KernelPackage/b43/description
1043 Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
1044 endef
1045
1046 define KernelPackage/b43legacy
1047   $(call KernelPackage/mac80211/Default)
1048   TITLE:=Broadcom 43xx-legacy wireless support
1049   URL:=http://linuxwireless.org/en/users/Drivers/b43
1050   KCONFIG:= \
1051         CONFIG_HW_RANDOM=y
1052   DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
1053   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.ko
1054   AUTOLOAD:=$(call AutoLoad,30,b43legacy)
1055   MENU:=1
1056 endef
1057
1058 define KernelPackage/b43legacy/config
1059   if PACKAGE_kmod-b43legacy
1060
1061         config B43LEGACY_FW_SQUASH
1062                 bool "Remove unnecessary firmware files"
1063                 default y
1064                 help
1065                   This options allows you to remove unnecessary b43legacy firmware files
1066                   from the final rootfs image. This can reduce the rootfs size by
1067                   up to 50k.
1068
1069                   If unsure, say Y.
1070
1071         config B43LEGACY_FW_SQUASH_COREREVS
1072                 string "Core revisions to include"
1073                 depends on B43LEGACY_FW_SQUASH
1074                 default "1,2,3,4"
1075                 help
1076                   This is a comma seperated list of core revision numbers.
1077
1078                   Example (keep files for rev4 only):
1079                     4
1080
1081                   Example (keep files for rev2 and rev4):
1082                     2,4
1083
1084   endif
1085 endef
1086
1087 define KernelPackage/b43legacy/description
1088 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
1089 endef
1090
1091
1092 define KernelPackage/brcmutil
1093   $(call KernelPackage/mac80211/Default)
1094   TITLE:=Broadcom IEEE802.11n common driver parts
1095   URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
1096   DEPENDS+=@PCI_SUPPORT||USB_SUPPORT
1097   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmutil/brcmutil.ko
1098   AUTOLOAD:=$(call AutoLoad,30,brcmutil)
1099   MENU:=1
1100 endef
1101
1102 define KernelPackage/brcmutil/description
1103  This module contains some common parts needed by Broadcom Wireless drivers brcmsmac and brcmfmac.
1104 endef
1105
1106 define KernelPackage/brcmutil/config
1107   if PACKAGE_kmod-brcmutil
1108
1109         config PACKAGE_BRCM80211_DEBUG
1110                 bool "Broadcom wireless driver debugging"
1111                 help
1112                   Say Y, if you want to debug brcmsmac and brcmfmac wireless driver.
1113
1114   endif
1115 endef
1116
1117 PKG_BRCMSMAC_FW_NAME:=broadcom-wl
1118 PKG_BRCMSMAC_FW_VERSION:=5.100.138
1119 PKG_BRCMSMAC_FW_OBJECT:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION)/linux/wl_apsta.o
1120 PKG_BRCMSMAC_FW_SOURCE:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION).tar.bz2
1121 PKG_BRCMSMAC_FW_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
1122 PKG_BRCMSMAC_FW_MD5SUM:=f4e357b09eaf5d8b1f1920cf3493a555
1123
1124 define Download/brcmsmac
1125   FILE:=$(PKG_BRCMSMAC_FW_SOURCE)
1126   URL:=$(PKG_BRCMSMAC_FW_SOURCE_URL)
1127   MD5SUM:=$(PKG_BRCMSMAC_FW_MD5SUM)
1128 endef
1129 $(eval $(call Download,brcmsmac))
1130
1131 define KernelPackage/brcmsmac
1132   $(call KernelPackage/mac80211/Default)
1133   TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver
1134   URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
1135   DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT +!TARGET_brcm47xx:kmod-bcma +kmod-lib-cordic +kmod-lib-crc8 +kmod-brcmutil
1136   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko
1137   AUTOLOAD:=$(call AutoLoad,31,brcmsmac)
1138   MENU:=1
1139 endef
1140
1141 define KernelPackage/brcmsmac/description
1142  Kernel module for Broadcom IEEE802.11n PCIe Wireless cards
1143 endef
1144
1145 define KernelPackage/brcmsmac/config
1146   if PACKAGE_kmod-brcmsmac
1147
1148         config BRCMSMAC_USE_FW_FROM_WL
1149                 bool "Use firmware extracted from broadcom proprietary driver"
1150                 default y
1151                 help
1152                   Instead of using the official brcmsmac firmware a firmware
1153                   version 666.2 extracted from the proprietary Broadcom driver
1154                   is used. This is needed to get core rev 17 used in bcm4716
1155                   to work.
1156
1157                   If unsure, say Y.
1158
1159   endif
1160 endef
1161
1162
1163 define KernelPackage/brcmfmac
1164   $(call KernelPackage/mac80211/Default)
1165   TITLE:=Broadcom IEEE802.11n USB FullMAC WLAN driver
1166   URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
1167   DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-cfg80211 +@DRIVER_11N_SUPPORT +kmod-brcmutil
1168   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko
1169   AUTOLOAD:=$(call AutoLoad,60,brcmfmac)
1170 endef
1171
1172 define KernelPackage/brcmfmac/description
1173  Kernel module for Broadcom IEEE802.11n USB Wireless cards
1174 endef
1175
1176 config_package=$(if $(CONFIG_PACKAGE_kmod-$(1)),m)
1177
1178 config-y:= \
1179         WLAN \
1180         NL80211_TESTMODE \
1181         CFG80211_WEXT \
1182         CFG80211_INTERNAL_REGDB \
1183         MAC80211_RC_MINSTREL \
1184         MAC80211_RC_MINSTREL_HT \
1185         MAC80211_RC_DEFAULT_MINSTREL \
1186
1187 config-$(call config_package,cfg80211) += CFG80211
1188
1189 config-$(call config_package,mac80211) += MAC80211
1190 config-$(CONFIG_PACKAGE_MAC80211_MESH) += MAC80211_MESH
1191 ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
1192   config-y += \
1193         CFG80211_DEBUGFS \
1194         MAC80211_DEBUGFS \
1195         ATH9K_DEBUGFS \
1196         ATH9K_HTC_DEBUGFS \
1197         CARL9170_DEBUGFS \
1198         ATH5K_DEBUG
1199 endif
1200
1201 config-$(call config_package,lib80211) += LIB80211 LIB80211_CRYPT_WEP LIB80211_CRYPT_CCMP LIB80211_CRYPT_TKIP
1202
1203 config-$(call config_package,ath) += ATH_CARDS ATH_COMMON
1204 config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG
1205
1206 config-$(call config_package,ath9k) += ATH9K
1207 config-$(call config_package,ath9k-common) += ATH9K_COMMON
1208 config-$(CONFIG_TARGET_ar71xx) += ATH9K_AHB
1209 config-$(CONFIG_PCI) += ATH9K_PCI
1210 config-$(CONFIG_ATH_USER_REGD) += ATH_USER_REGD
1211
1212 config-$(call config_package,ath9k-htc) += ATH9K_HTC
1213
1214 config-$(call config_package,ath5k) += ATH5K
1215 ifdef CONFIG_TARGET_atheros
1216   config-y += ATH5K_AHB
1217 else
1218   config-y += ATH5K_PCI
1219 endif
1220
1221 config-$(call config_package,carl9170) += CARL9170
1222
1223 config-$(call config_package,b43) += B43
1224 config-y += B43_SSB B43_BCMA B43_BCMA_EXTRA B43_PHY_LP
1225 config-$(CONFIG_PACKAGE_B43_PHY_N) += B43_PHY_N
1226 config-$(CONFIG_PACKAGE_B43_PHY_HT) += B43_PHY_HT
1227 config-$(CONFIG_PACKAGE_B43_PIO) += B43_PIO
1228 config-$(CONFIG_PACKAGE_B43_DEBUG) += B43_DEBUG
1229
1230 config-$(call config_package,b43legacy) += B43LEGACY
1231 config-y += B43LEGACY_DMA_MODE
1232
1233 config-$(call config_package,brcmutil) += BRCMUTIL
1234 config-$(call config_package,brcmsmac) += BRCMSMAC
1235 config-$(call config_package,brcmfmac) += BRCMFMAC BRCMFMAC_USB
1236 config-$(CONFIG_PACKAGE_BRCM80211_DEBUG) += BRCMDBG
1237
1238 config-$(call config_package,mac80211-hwsim) += MAC80211_HWSIM
1239
1240 config-$(call config_package,rt2x00-lib) += RT2X00 RT2X00_LIB
1241 config-$(call config_package,rt2x00-pci) += RT2X00_LIB_PCI
1242 config-$(call config_package,rt2x00-mmio) += RT2X00_LIB_MMIO
1243 config-$(call config_package,rt2x00-usb) += RT2X00_LIB_USB
1244 config-$(call config_package,rt2x00-soc) += RT2X00_LIB_SOC
1245 config-$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) += RT2X00_LIB_DEBUGFS
1246 config-$(CONFIG_PACKAGE_RT2X00_DEBUG) += RT2X00_DEBUG
1247
1248 config-$(call config_package,rt2400-pci) += RT2400PCI
1249 config-$(call config_package,rt2500-pci) += RT2500PCI
1250 config-$(call config_package,rt2500-usb) += RT2500USB
1251 config-$(call config_package,rt61-pci) += RT61PCI
1252 config-$(call config_package,rt73-usb) += RT73USB
1253
1254 config-$(call config_package,rt2800-lib) += RT2800_LIB
1255 config-y += RT2800PCI_RT33XX RT2800PCI_RT35XX RT2800PCI_RT53XX RT2800PCI_RT3290
1256
1257 config-$(call config_package,rt2800-pci) += RT2800PCI
1258 config-$(call config_package,rt2800-usb) += RT2800USB
1259
1260 config-$(call config_package,iwl-legacy) += IWLEGACY
1261 config-$(call config_package,iwl3945) += IWL3945
1262 config-$(call config_package,iwl4965) += IWL4965
1263 config-$(call config_package,iwlagn) += IWLWIFI
1264
1265 config-$(call config_package,net-libipw) += LIBIPW
1266 config-$(call config_package,net-ipw2100) += IPW2100
1267 config-$(call config_package,net-ipw2200) += IPW2200
1268
1269 config-$(call config_package,p54-common) += P54_COMMON
1270 config-$(call config_package,p54-pci) += P54_PCI
1271 config-$(call config_package,p54-usb) += P54_USB
1272 config-$(call config_package,p54-spi) += P54_SPI
1273
1274 config-$(call config_package,net-hermes) += HERMES
1275 config-$(call config_package,net-hermes-pci) += PCI_HERMES
1276 config-$(call config_package,net-hermes-plx) += PLX_HERMES
1277 config-$(call config_package,net-hermes-pcmcia) += PCMCIA_HERMES
1278 config-y += HERMES_PRISM
1279
1280 config-$(call config_package,adm8211) += ADM8211
1281 config-$(call config_package,libertas-sd) += LIBERTAS LIBERTAS_SDIO
1282 config-$(call config_package,libertas-usb) += LIBERTAS LIBERTAS_USB
1283 config-$(call config_package,mwl8k) += MWL8K
1284 config-$(call config_package,rtl8180) += RTL8180
1285 config-$(call config_package,rtl8187) += RTL8187
1286 config-$(call config_package,wl12xx) += WL_TI WLCORE WLCORE_SDIO WL12XX
1287 config-$(call config_package,zd1211rw) += ZD1211RW
1288
1289 config-$(CONFIG_LEDS_TRIGGERS) += MAC80211_LEDS B43_LEDS B43LEGACY_LEDS
1290
1291 MAKE_OPTS:= -C "$(PKG_BUILD_DIR)" \
1292         CROSS_COMPILE="$(KERNEL_CROSS)" \
1293         ARCH="$(LINUX_KARCH)" \
1294         EXTRA_CFLAGS="-I$(PKG_BUILD_DIR)/include" \
1295         KLIB_BUILD="$(LINUX_DIR)" \
1296         MODPROBE=true \
1297         KLIB=$(TARGET_MODULES_DIR) \
1298         KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \
1299         KBUILD_LDFLAGS_MODULE_PREREQ=
1300
1301 define ConfigVars
1302 $(subst $(space),,$(foreach opt,$(config-$(1)),CPTCFG_$(opt)=$(1)
1303 ))
1304 endef
1305
1306 define mac80211_config
1307 $(call ConfigVars,m)$(call ConfigVars,y)
1308 endef
1309 $(eval $(call shexport,mac80211_config))
1310
1311 define Build/Prepare
1312         rm -rf $(PKG_BUILD_DIR)
1313         mkdir -p $(PKG_BUILD_DIR)
1314         $(PKG_UNPACK)
1315         $(Build/Patch)
1316         $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
1317         $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
1318         $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
1319         $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(PKG_LINUX_FIRMWARE_SOURCE)
1320         rm -rf \
1321                 $(PKG_BUILD_DIR)/include/linux/ssb \
1322                 $(PKG_BUILD_DIR)/include/linux/bcma \
1323                 $(PKG_BUILD_DIR)/include/net/bluetooth
1324
1325         rm -f \
1326                 $(PKG_BUILD_DIR)/include/linux/cordic.h \
1327                 $(PKG_BUILD_DIR)/include/linux/crc8.h \
1328                 $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h \
1329                 $(PKG_BUILD_DIR)/include/linux/wl12xx.h \
1330                 $(PKG_BUILD_DIR)/include/linux/spi/libertas_spi.h \
1331                 $(PKG_BUILD_DIR)/include/net/ieee80211.h
1332
1333         echo 'compat-wireless-$(PKG_VERSION)-$(PKG_RELEASE)-$(REVISION)' > $(PKG_BUILD_DIR)/compat_version
1334         $(CP) ./files/regdb.txt $(PKG_BUILD_DIR)/net/wireless/db.txt
1335 endef
1336
1337 ifneq ($(CONFIG_PACKAGE_kmod-cfg80211)$(CONFIG_PACKAGE_kmod-lib80211),)
1338  define Build/Compile/kmod
1339         rm -rf $(PKG_BUILD_DIR)/modules
1340         +$(MAKE) $(PKG_JOBS) $(MAKE_OPTS) modules
1341  endef
1342 endif
1343
1344 define Build/Configure
1345         cmp $(PKG_BUILD_DIR)/include/linux/ath9k_platform.h $(LINUX_DIR)/include/linux/ath9k_platform.h
1346         cmp $(PKG_BUILD_DIR)/include/linux/ath5k_platform.h $(LINUX_DIR)/include/linux/ath5k_platform.h
1347         cmp $(PKG_BUILD_DIR)/include/linux/rt2x00_platform.h $(LINUX_DIR)/include/linux/rt2x00_platform.h
1348 endef
1349
1350 define Build/Compile
1351         $(SH_FUNC) var2file "$(call shvar,mac80211_config)" $(PKG_BUILD_DIR)/.config
1352         $(MAKE) $(MAKE_OPTS) allnoconfig
1353         $(call Build/Compile/kmod)
1354 endef
1355
1356 define Build/InstallDev
1357         mkdir -p \
1358                 $(1)/usr/include/mac80211 \
1359                 $(1)/usr/include/mac80211-backport \
1360                 $(1)/usr/include/mac80211/ath \
1361                 $(1)/usr/include/net/mac80211
1362         $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
1363         $(CP) $(PKG_BUILD_DIR)/backport-include/* $(1)/usr/include/mac80211-backport/
1364         $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
1365         $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
1366 endef
1367
1368 define KernelPackage/libertas-usb/install
1369         $(INSTALL_DIR) $(1)/lib/firmware/libertas
1370         $(INSTALL_DATA) \
1371                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8388_v9.bin \
1372                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8682.bin \
1373                 $(1)/lib/firmware/libertas/
1374 endef
1375
1376 define KernelPackage/libertas-sd/install
1377         $(INSTALL_DIR) $(1)/lib/firmware/libertas
1378         $(INSTALL_DATA) \
1379                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8385_helper.bin \
1380                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8385.bin \
1381                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v9_helper.bin \
1382                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v9.bin \
1383                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8688_helper.bin \
1384                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8688.bin \
1385                 $(1)/lib/firmware/libertas
1386 endef
1387
1388 define KernelPackage/cfg80211/install
1389         $(INSTALL_DIR) $(1)/lib/wifi
1390         $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
1391 endef
1392
1393 define KernelPackage/p54-pci/install
1394         $(INSTALL_DIR) $(1)/lib/firmware
1395         $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
1396 endef
1397
1398 define KernelPackage/p54-usb/install
1399         $(INSTALL_DIR) $(1)/lib/firmware
1400         $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
1401 endef
1402
1403 define KernelPackage/p54-spi/install
1404         $(INSTALL_DIR) $(1)/lib/firmware
1405         $(INSTALL_DATA) $(DL_DIR)/$(P54SPIFW) $(1)/lib/firmware/3826.arm
1406 endef
1407
1408 define KernelPackage/rt61-pci/install
1409         $(INSTALL_DIR) $(1)/lib/firmware
1410         $(INSTALL_DATA) \
1411                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2561.bin \
1412                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2561s.bin \
1413                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2661.bin \
1414                 $(1)/lib/firmware/
1415 endef
1416
1417 define KernelPackage/rt73-usb/install
1418         $(INSTALL_DIR) $(1)/lib/firmware
1419         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt73.bin $(1)/lib/firmware/
1420 endef
1421
1422 define KernelPackage/rt2800-pci/install
1423         $(INSTALL_DIR) $(1)/lib/firmware
1424         $(INSTALL_DATA) \
1425                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2860.bin \
1426                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt3290.bin \
1427                 $(1)/lib/firmware
1428 endef
1429
1430 define KernelPackage/rt2800-usb/install
1431         $(INSTALL_DIR) $(1)/lib/firmware
1432         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2870.bin $(1)/lib/firmware/
1433 endef
1434
1435 define KernelPackage/wl12xx/install
1436         $(INSTALL_DIR) $(1)/lib/firmware/ti-connectivity
1437         $(INSTALL_DATA) \
1438                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-5-mr.bin \
1439                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-5-plt.bin \
1440                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-5-sr.bin \
1441                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl1271-nvs.bin \
1442                 $(1)/lib/firmware/ti-connectivity
1443 endef
1444
1445
1446 define KernelPackage/zd1211rw/install
1447         $(INSTALL_DIR) $(1)/lib/firmware/zd1211
1448         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
1449 endef
1450
1451 define KernelPackage/ath9k-htc/install
1452         $(INSTALL_DIR) $(1)/lib/firmware
1453         $(INSTALL_DATA) \
1454                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/htc_9271.fw \
1455                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/htc_7010.fw \
1456                 $(1)/lib/firmware/
1457 endef
1458
1459 define KernelPackage/mwl8k/install
1460         $(INSTALL_DIR) $(1)/lib/firmware/mwl8k
1461         $(INSTALL_DATA) \
1462                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366_ap-3.fw \
1463                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366.fw \
1464                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8366.fw \
1465                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8687.fw \
1466                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8687.fw \
1467                 $(1)/lib/firmware/mwl8k/
1468 endef
1469
1470 define KernelPackage/net-ipw2100/install
1471         $(INSTALL_DIR) $(1)/lib/firmware
1472         $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
1473 endef
1474
1475 define KernelPackage/net-ipw2200/install
1476         $(INSTALL_DIR) $(1)/lib/firmware
1477         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
1478 endef
1479
1480 define KernelPackage/iwlagn/install
1481         $(INSTALL_DIR) $(1)/lib/firmware
1482 ifneq ($(CONFIG_IWL5000_FW),)
1483         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5000-5.ucode $(1)/lib/firmware
1484 endif
1485 ifneq ($(CONFIG_IWL5150_FW),)
1486         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5150-2.ucode $(1)/lib/firmware
1487 endif
1488 ifneq ($(CONFIG_IWL1000_FW),)
1489         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-1000-5.ucode $(1)/lib/firmware
1490 endif
1491 ifneq ($(CONFIG_IWL6000_FW),)
1492         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000-4.ucode $(1)/lib/firmware
1493 endif
1494 ifneq ($(CONFIG_IWL6050_FW),)
1495         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6050-5.ucode $(1)/lib/firmware
1496 endif
1497 ifneq ($(CONFIG_IWL6005_FW),)
1498         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2a-6.ucode $(1)/lib/firmware
1499 endif
1500 ifneq ($(CONFIG_IWL6030_FW),)
1501         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2b-6.ucode $(1)/lib/firmware
1502 endif
1503 ifneq ($(CONFIG_IWL100_FW),)
1504         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-100-5.ucode $(1)/lib/firmware
1505 endif
1506 ifneq ($(CONFIG_IWL2000_FW),)
1507         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-2000-6.ucode $(1)/lib/firmware
1508 endif
1509 ifneq ($(CONFIG_IWL2030_FW),)
1510         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-2030-6.ucode $(1)/lib/firmware
1511 endif
1512 ifneq ($(CONFIG_IWL105_FW),)
1513         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-105-6.ucode $(1)/lib/firmware
1514 endif
1515 ifneq ($(CONFIG_IWL135_FW),)
1516         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-135-6.ucode $(1)/lib/firmware
1517 endif
1518 endef
1519
1520 define KernelPackage/iwl3945/install
1521         $(INSTALL_DIR) $(1)/lib/firmware
1522         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-3945-2.ucode $(1)/lib/firmware
1523 endef
1524
1525 define KernelPackage/iwl4965/install
1526         $(INSTALL_DIR) $(1)/lib/firmware
1527         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-4965-2.ucode $(1)/lib/firmware
1528 endef
1529
1530 define KernelPackage/b43/install
1531         rm -rf $(1)/lib/firmware/
1532 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1533         tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1534 else
1535         tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1536 endif
1537         $(INSTALL_DIR) $(1)/lib/firmware/
1538 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1539         $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
1540         $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
1541         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
1542         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
1543         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
1544 else
1545         b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
1546 endif
1547 ifneq ($(CONFIG_B43_FW_SQUASH),)
1548         b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
1549 endif
1550 endef
1551
1552 define KernelPackage/b43legacy/install
1553         $(INSTALL_DIR) $(1)/lib/firmware/
1554         b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
1555 ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
1556         b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy"
1557 endif
1558 endef
1559
1560 define KernelPackage/brcmsmac/install
1561         $(INSTALL_DIR) $(1)/lib/firmware/brcm
1562 ifeq ($(CONFIG_BRCMSMAC_USE_FW_FROM_WL),y)
1563         tar xjf "$(DL_DIR)/$(PKG_BRCMSMAC_FW_SOURCE)" -C "$(PKG_BUILD_DIR)"
1564         b43-fwcutter --brcmsmac -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_BRCMSMAC_FW_OBJECT)
1565 else
1566         $(INSTALL_DATA) \
1567                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx-0.fw \
1568                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx_hdr-0.fw \
1569                 $(1)/lib/firmware/brcm/
1570 endif
1571 endef
1572
1573 define KernelPackage/brcmfmac/install
1574         $(INSTALL_DIR) $(1)/lib/firmware/brcm
1575         $(INSTALL_DATA) \
1576                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/brcmfmac43236b.bin \
1577                 $(1)/lib/firmware/brcm/
1578 endef
1579
1580 $(eval $(call KernelPackage,adm8211))
1581 $(eval $(call KernelPackage,ath5k))
1582 $(eval $(call KernelPackage,lib80211))
1583 $(eval $(call KernelPackage,libertas-usb))
1584 $(eval $(call KernelPackage,libertas-sd))
1585 $(eval $(call KernelPackage,cfg80211))
1586 $(eval $(call KernelPackage,mac80211))
1587 $(eval $(call KernelPackage,p54-common))
1588 $(eval $(call KernelPackage,p54-pci))
1589 $(eval $(call KernelPackage,p54-usb))
1590 $(eval $(call KernelPackage,p54-spi))
1591 $(eval $(call KernelPackage,rt2x00-lib))
1592 $(eval $(call KernelPackage,rt2x00-mmio))
1593 $(eval $(call KernelPackage,rt2x00-pci))
1594 $(eval $(call KernelPackage,rt2x00-usb))
1595 $(eval $(call KernelPackage,rt2x00-soc))
1596 $(eval $(call KernelPackage,rt2800-lib))
1597 $(eval $(call KernelPackage,rt2400-pci))
1598 $(eval $(call KernelPackage,rt2500-pci))
1599 $(eval $(call KernelPackage,rt2500-usb))
1600 $(eval $(call KernelPackage,rt61-pci))
1601 $(eval $(call KernelPackage,rt73-usb))
1602 $(eval $(call KernelPackage,rt2800-pci))
1603 $(eval $(call KernelPackage,rt2800-usb))
1604 $(eval $(call KernelPackage,rtl8180))
1605 $(eval $(call KernelPackage,rtl8187))
1606 $(eval $(call KernelPackage,zd1211rw))
1607 $(eval $(call KernelPackage,mac80211-hwsim))
1608 $(eval $(call KernelPackage,ath9k-common))
1609 $(eval $(call KernelPackage,ath9k))
1610 $(eval $(call KernelPackage,ath9k-htc))
1611 $(eval $(call KernelPackage,ath))
1612 $(eval $(call KernelPackage,carl9170))
1613 $(eval $(call KernelPackage,b43))
1614 $(eval $(call KernelPackage,b43legacy))
1615 $(eval $(call KernelPackage,brcmutil))
1616 $(eval $(call KernelPackage,brcmsmac))
1617 $(eval $(call KernelPackage,brcmfmac))
1618 $(eval $(call KernelPackage,net-libipw))
1619 $(eval $(call KernelPackage,net-ipw2100))
1620 $(eval $(call KernelPackage,net-ipw2200))
1621 $(eval $(call KernelPackage,iwlagn))
1622 $(eval $(call KernelPackage,iwl-legacy))
1623 $(eval $(call KernelPackage,iwl4965))
1624 $(eval $(call KernelPackage,iwl3945))
1625 $(eval $(call KernelPackage,mwl8k))
1626 $(eval $(call KernelPackage,net-hermes))
1627 $(eval $(call KernelPackage,net-hermes-pci))
1628 $(eval $(call KernelPackage,net-hermes-plx))
1629 $(eval $(call KernelPackage,net-hermes-pcmcia))
1630 $(eval $(call KernelPackage,wl12xx))