b51dc1a3b549250046c3e4147e8c555eeb1412a8
[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_MD5SUM:=e9300c5113e3f41488718b82d0624123
17
18 PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
19 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
20 PKG_BUILD_PARALLEL:=1
21
22 PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
23
24 PKG_DRIVERS = \
25         adm8211 ath5k libertas-usb libertas-sd p54-common p54-pci p54-usb p54-spi \
26         rt2x00-lib rt2x00-pci rt2x00-usb rt2x00-soc rt2800-lib rt2400-pci \
27         rt2500-pci rt2500-usb rt61-pci rt73-usb rt2800-pci rt2800-usb \
28         rtl8180 rtl8187 zd1211rw mac80211-hwsim carl9170 b43 b43legacy \
29         ath9k-common ath9k ath9k-htc ath net-libipw net-ipw2100 net-ipw2200 \
30         mwl8k net-hermes net-hermes-pci net-hermes-plx net-hermes-pcmcia \
31         iwl-legacy iwl3945 iwl4965 iwlagn wl12xx lib80211
32
33 PKG_CONFIG_DEPENDS:= \
34         CONFIG_PACKAGE_kmod-mac80211 \
35         $(patsubst %,CONFIG_PACKAGE_kmod-%,$(PKG_DRIVERS)) \
36         CONFIG_PACKAGE_MAC80211_DEBUGFS \
37         CONFIG_PACKAGE_MAC80211_MESH \
38         CONFIG_PACKAGE_ATH_DEBUG \
39         CONFIG_PACKAGE_B43_DEBUG \
40         CONFIG_PACKAGE_B43_PIO \
41         CONFIG_PACKAGE_B43_N_PHY \
42         CONFIG_ATH_USER_REGD \
43
44 CARL9170_FW_VERSION:=1.9.6
45
46 include $(INCLUDE_DIR)/package.mk
47
48 WMENU:=Wireless Drivers
49
50 define KernelPackage/mac80211/Default
51   SUBMENU:=$(WMENU)
52   URL:=http://linuxwireless.org/
53   MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
54   DEPENDS:=@(!(TARGET_avr32||TARGET_ps3||TARGET_pxcab)||BROKEN)
55 endef
56
57 define KernelPackage/cfg80211
58   $(call KernelPackage/mac80211/Default)
59   TITLE:=cfg80211 - wireless configuration API
60   DEPENDS+= +iw
61   FILES:= \
62         $(PKG_BUILD_DIR)/compat/compat.ko \
63         $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
64   AUTOLOAD:=$(call AutoLoad,20,compat cfg80211)
65 endef
66
67 define KernelPackage/cfg80211/description
68 cfg80211 is the Linux wireless LAN (802.11) configuration API.
69 endef
70
71 define KernelPackage/mac80211
72   $(call KernelPackage/mac80211/Default)
73   TITLE:=Linux 802.11 Wireless Networking Stack
74   DEPENDS+= +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-cfg80211
75   KCONFIG:=\
76         CONFIG_AVERAGE=y
77   FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.ko
78   AUTOLOAD:=$(call AutoLoad,21,mac80211)
79   MENU:=1
80 endef
81
82 define KernelPackage/mac80211/config
83   if PACKAGE_kmod-mac80211
84
85         config PACKAGE_MAC80211_DEBUGFS
86                 bool "Export mac80211 internals in DebugFS"
87                 select KERNEL_DEBUG_FS
88                 select KERNEL_RELAY if PACKAGE_kmod-ath9k-common
89                 default y
90                 help
91                   Select this to see extensive information about
92                   the internal state of mac80211 in debugfs.
93
94         config PACKAGE_MAC80211_MESH
95                 bool "Enable 802.11s mesh support"
96                 default y
97
98   endif
99 endef
100
101 define KernelPackage/mac80211/description
102 Generic IEEE 802.11 Networking Stack (mac80211)
103 endef
104
105 PKG_LINUX_FIRMWARE_NAME:=linux-firmware
106 PKG_LINUX_FIRMWARE_VERSION:=6942dba419d2ebf8c15514972e89734fd7a8cebc
107 PKG_LINUX_FIRMWARE_SOURCE:=$(PKG_LINUX_FIRMWARE_NAME)-$(PKG_LINUX_FIRMWARE_VERSION).tar.bz2
108 PKG_LINUX_FIRMWARE_PROTO:=git
109 PKG_LINUX_FIRMWARE_SOURCE_URL:=git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
110 PKG_LINUX_FIRMWARE_SUBDIR:=$(PKG_LINUX_FIRMWARE_NAME)-$(PKG_LINUX_FIRMWARE_VERSION)
111 PKG_LINUX_FIRMWARE_MIRROR_MD5SUM:=a5f8c27af9e43f0ad24d7f821c5a781e
112
113 define Download/linux-firmware
114   FILE:=$(PKG_LINUX_FIRMWARE_SOURCE)
115   URL:=$(PKG_LINUX_FIRMWARE_SOURCE_URL)
116   MD5SUM:=$(PKG_LINUX_FIRMWARE_MD5SUM)
117   PROTO:=$(PKG_LINUX_FIRMWARE_PROTO)
118   VERSION:=$(PKG_LINUX_FIRMWARE_VERSION)
119   SUBDIR:=$(PKG_LINUX_FIRMWARE_SUBDIR)
120   MIRROR_MD5SUM:=$(PKG_LINUX_FIRMWARE_MIRROR_MD5SUM)
121 endef
122 $(eval $(call Download,linux-firmware))
123
124 # Prism54 drivers
125 P54PCIFW:=2.13.12.0.arm
126 P54USBFW:=2.13.24.0.lm87.arm
127 P54SPIFW:=2.13.0.0.a.13.14.arm
128 CARL9170_FW:=carl9170-1.fw
129
130 define Download/p54usb
131   FILE:=$(P54USBFW)
132   URL:=http://daemonizer.de/prism54/prism54-fw/fw-usb
133   MD5SUM:=8e8ab005a4f8f0123bcdc51bc25b47f6
134 endef
135 $(eval $(call Download,p54usb))
136
137 define Download/p54pci
138   FILE:=$(P54PCIFW)
139   URL:=http://daemonizer.de/prism54/prism54-fw/fw-softmac
140   MD5SUM:=ff7536af2092b1c4b21315bd103ef4c4
141 endef
142 $(eval $(call Download,p54pci))
143
144 define Download/p54spi
145   FILE:=$(P54SPIFW)
146   URL:=http://daemonizer.de/prism54/prism54-fw/stlc4560
147   MD5SUM:=42661f8ecbadd88012807493f596081d
148 endef
149 $(eval $(call Download,p54spi))
150
151 define Download/carl9170
152   FILE:=$(CARL9170_FW)-$(CARL9170_FW_VERSION)
153   URL:=http://downloads.openwrt.org/sources/
154   MD5SUM:=2fa6ed98d53d0b5fbcc136d1cf5e9609
155 endef
156 $(eval $(call Download,carl9170))
157
158 define KernelPackage/p54/Default
159   $(call KernelPackage/mac80211/Default)
160   TITLE:=Prism54 Drivers
161 endef
162
163 define KernelPackage/p54/description
164   Kernel module for Prism54 chipsets (mac80211)
165 endef
166
167 define KernelPackage/p54-common
168   $(call KernelPackage/p54/Default)
169   DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT||@TARGET_omap24xx +kmod-mac80211 +kmod-lib-crc-ccitt
170   TITLE+= (COMMON)
171   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54common.ko
172   AUTOLOAD:=$(call AutoLoad,30,p54common)
173 endef
174
175 define KernelPackage/p54-pci
176   $(call KernelPackage/p54/Default)
177   TITLE+= (PCI)
178   DEPENDS+= @PCI_SUPPORT +kmod-p54-common
179   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54pci.ko
180   AUTOLOAD:=$(call AutoLoad,31,p54pci)
181 endef
182
183 define KernelPackage/p54-usb
184   $(call KernelPackage/p54/Default)
185   TITLE+= (USB)
186   DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common
187   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54usb.ko
188   AUTOLOAD:=$(call AutoLoad,31,p54usb)
189 endef
190
191 define KernelPackage/p54-spi
192   $(call KernelPackage/p54/Default)
193   TITLE+= (SPI)
194   DEPENDS+= @TARGET_omap24xx +kmod-p54-common
195   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54spi.ko
196   AUTOLOAD:=$(call AutoLoad,31,p54spi)
197 endef
198
199 define KernelPackage/rt2x00/Default
200   $(call KernelPackage/mac80211/Default)
201   TITLE:=Ralink Drivers for RT2x00 cards
202 endef
203
204 define KernelPackage/rt2x00-lib
205 $(call KernelPackage/rt2x00/Default)
206   DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-mac80211 +kmod-lib-crc-itu-t
207   TITLE+= (LIB)
208   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00lib.ko
209   AUTOLOAD:=$(call AutoLoad,24,rt2x00lib)
210   MENU:=1
211 endef
212
213 define KernelPackage/rt2x00-lib/config
214   if PACKAGE_kmod-rt2x00-lib
215
216         config PACKAGE_RT2X00_LIB_DEBUGFS
217                 bool "Enable rt2x00 debugfs support"
218                 depends on PACKAGE_MAC80211_DEBUGFS
219                 help
220                   Enable creation of debugfs files for the rt2x00 drivers.
221                   These debugfs files support both reading and writing of the
222                   most important register types of the rt2x00 hardware.
223
224         config PACKAGE_RT2X00_DEBUG
225                 bool "Enable rt2x00 debug output"
226                 help
227                   Enable debugging output for all rt2x00 modules
228
229   endif
230 endef
231
232 define KernelPackage/rt2x00-mmio
233 $(call KernelPackage/rt2x00/Default)
234   DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-eeprom-93cx6
235   TITLE+= (MMIO)
236   FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00mmio.ko
237   AUTOLOAD:=$(call AutoLoad,25,rt2x00mmio)
238 endef
239
240 define KernelPackage/rt2x00-pci
241 $(call KernelPackage/rt2x00/Default)
242   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-mmio +kmod-rt2x00-lib
243   TITLE+= (PCI)
244   FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00pci.ko
245   AUTOLOAD:=$(call AutoLoad,26,rt2x00pci)
246 endef
247
248 define KernelPackage/rt2x00-usb
249 $(call KernelPackage/rt2x00/Default)
250   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
251   TITLE+= (USB)
252   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00usb.ko
253   AUTOLOAD:=$(call AutoLoad,26,rt2x00usb)
254 endef
255
256 define KernelPackage/rt2x00-soc
257 $(call KernelPackage/rt2x00/Default)
258   DEPENDS+= @TARGET_ramips @!TARGET_ramips_mt7620a +kmod-rt2x00-mmio +kmod-rt2x00-lib
259   TITLE+= (SoC)
260   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00soc.ko
261   AUTOLOAD:=$(call AutoLoad,26,rt2x00soc)
262 endef
263
264 define KernelPackage/rt2800-lib
265 $(call KernelPackage/rt2x00/Default)
266   DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +TARGET_ramips:kmod-rt2x00-soc +@DRIVER_11N_SUPPORT
267   TITLE+= (rt2800 LIB)
268   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800lib.ko
269   AUTOLOAD:=$(call AutoLoad,27,rt2800lib)
270 endef
271
272 define KernelPackage/rt2400-pci
273 $(call KernelPackage/rt2x00/Default)
274   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
275   TITLE+= (RT2400 PCI)
276   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2400pci.ko
277   AUTOLOAD:=$(call AutoLoad,27,rt2400pci)
278 endef
279
280 define KernelPackage/rt2500-pci
281 $(call KernelPackage/rt2x00/Default)
282   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
283   TITLE+= (RT2500 PCI)
284   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500pci.ko
285   AUTOLOAD:=$(call AutoLoad,27,rt2500pci)
286 endef
287
288 define KernelPackage/rt2500-usb
289 $(call KernelPackage/rt2x00/Default)
290   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
291   TITLE+= (RT2500 USB)
292   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500usb.ko
293   AUTOLOAD:=$(call AutoLoad,27,rt2500usb)
294 endef
295
296 define KernelPackage/rt61-pci
297 $(call KernelPackage/rt2x00/Default)
298   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
299   TITLE+= (RT2x61 PCI)
300   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt61pci.ko
301   AUTOLOAD:=$(call AutoLoad,27,rt61pci)
302 endef
303
304 define KernelPackage/rt73-usb
305   $(call KernelPackage/rt2x00/Default)
306   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
307   TITLE+= (RT73 USB)
308   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt73usb.ko
309   AUTOLOAD:=$(call AutoLoad,27,rt73usb)
310 endef
311
312 define KernelPackage/rt2800-pci
313 $(call KernelPackage/rt2x00/Default)
314   DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +PCI_SUPPORT:kmod-rt2x00-pci +kmod-rt2800-lib +kmod-lib-crc-ccitt +TARGET_ramips:kmod-rt2x00-soc
315   TITLE+= (RT2860 PCI)
316   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800pci.ko
317   AUTOLOAD:=$(call AutoLoad,28,rt2800pci)
318 endef
319
320 define KernelPackage/rt2800-usb
321 $(call KernelPackage/rt2x00/Default)
322   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb +kmod-rt2800-lib +kmod-lib-crc-ccitt
323   TITLE+= (RT2870 USB)
324   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800usb.ko
325   AUTOLOAD:=$(call AutoLoad,28,rt2800usb)
326 endef
327
328 define KernelPackage/rtl818x/Default
329   $(call KernelPackage/mac80211/Default)
330   TITLE:=Realtek Drivers for RTL818x devices
331   URL:=http://wireless.kernel.org/en/users/Drivers/rtl8187
332   DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211
333 endef
334
335 define KernelPackage/rtl8180
336   $(call KernelPackage/rtl818x/Default)
337   DEPENDS+= @PCI_SUPPORT
338   TITLE+= (RTL8180 PCI)
339   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8180/rtl8180.ko
340   AUTOLOAD:=$(call AutoLoad,27,rtl8180)
341 endef
342
343 define KernelPackage/rtl8187
344 $(call KernelPackage/rtl818x/Default)
345   DEPENDS+= @USB_SUPPORT +kmod-usb-core
346   TITLE+= (RTL8187 USB)
347   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko
348   AUTOLOAD:=$(call AutoLoad,27,rtl8187)
349 endef
350
351 ZD1211FW_NAME:=zd1211-firmware
352 ZD1211FW_VERSION:=1.4
353 define Download/zd1211rw
354   FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
355   URL:=@SF/zd1211/
356   MD5SUM:=19f28781d76569af8551c9d11294c870
357 endef
358 $(eval $(call Download,zd1211rw))
359
360 define KernelPackage/zd1211rw
361   $(call KernelPackage/mac80211/Default)
362   TITLE:=Zydas ZD1211 support
363   DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
364   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zd1211rw/zd1211rw.ko
365   AUTOLOAD:=$(call AutoLoad,60,zd1211rw)
366 endef
367
368 define KernelPackage/adm8211
369   $(call KernelPackage/mac80211/Default)
370   TITLE:=ADMTek 8211 support
371   DEPENDS+=@PCI_SUPPORT +kmod-mac80211 +kmod-eeprom-93cx6
372   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/adm8211.ko
373   AUTOLOAD:=$(call AutoLoad,60,adm8211)
374 endef
375
376 define KernelPackage/ath/config
377   if PACKAGE_kmod-ath
378         config ATH_USER_REGD
379                 bool "Force Atheros drivers to respect the user's regdomain settings"
380                 help
381                   Atheros' idea of regulatory handling is that the EEPROM of the card defines
382                   the regulatory limits and the user is only allowed to restrict the settings
383                   even further, even if the country allows frequencies or power levels that
384                   are forbidden by the EEPROM settings.
385
386                   Select this option if you want the driver to respect the user's decision about
387                   regulatory settings.
388
389         config PACKAGE_ATH_DEBUG
390                 bool "Atheros wireless debugging"
391                 help
392                   Say Y, if you want to debug atheros wireless drivers.
393                   Right now only ath9k makes use of this.
394   endif
395 endef
396
397 define KernelPackage/ath
398   $(call KernelPackage/mac80211/Default)
399   TITLE:=Atheros common driver part
400   DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx||TARGET_atheros +kmod-mac80211
401   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.ko
402   AUTOLOAD:=$(call AutoLoad,26,ath)
403   MENU:=1
404 endef
405
406 define KernelPackage/ath/description
407  This module contains some common parts needed by Atheros Wireless drivers.
408 endef
409
410 define KernelPackage/ath5k
411   $(call KernelPackage/mac80211/Default)
412   TITLE:=Atheros 5xxx wireless cards support
413   URL:=http://linuxwireless.org/en/users/Drivers/ath5k
414   DEPENDS+= @PCI_SUPPORT||@TARGET_atheros +kmod-ath
415   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.ko
416   AUTOLOAD:=$(call AutoLoad,27,ath5k)
417 endef
418
419 define KernelPackage/ath5k/description
420  This module adds support for wireless adapters based on
421  Atheros 5xxx chipset.
422 endef
423
424 define KernelPackage/ath9k-common
425   $(call KernelPackage/mac80211/Default)
426   TITLE:=Atheros 802.11n wireless devices (common code for ath9k and ath9k_htc)
427   URL:=http://linuxwireless.org/en/users/Drivers/ath9k
428   DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx +kmod-ath +@DRIVER_11N_SUPPORT
429   FILES:= \
430         $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.ko \
431         $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
432   AUTOLOAD:=$(call AutoLoad,27,ath9k_hw ath9k_common)
433 endef
434
435 define KernelPackage/ath9k
436   $(call KernelPackage/mac80211/Default)
437   TITLE:=Atheros 802.11n PCI wireless cards support
438   URL:=http://linuxwireless.org/en/users/Drivers/ath9k
439   DEPENDS+= @PCI_SUPPORT||TARGET_ar71xx +kmod-ath9k-common
440   FILES:= \
441         $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.ko
442   AUTOLOAD:=$(call AutoLoad,28,ath9k)
443 endef
444
445 define KernelPackage/ath9k/description
446 This module adds support for wireless adapters based on
447 Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
448 endef
449
450 define KernelPackage/ath9k-htc
451   $(call KernelPackage/mac80211/Default)
452   TITLE:=Atheros 802.11n USB device support
453   URL:=http://linuxwireless.org/en/users/Drivers/ath9k
454   DEPENDS+= @USB_SUPPORT +kmod-ath9k-common +kmod-usb-core
455   FILES:= \
456         $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
457   AUTOLOAD:=$(call AutoLoad,55,ath9k_htc)
458 endef
459
460 define KernelPackage/ath9k-htc/description
461 This module adds support for wireless adapters based on
462 Atheros USB AR9271 and AR7010 family of chipsets.
463 endef
464
465 define KernelPackage/carl9170
466   $(call KernelPackage/mac80211/Default)
467   TITLE:=Driver for Atheros AR9170 USB sticks
468   DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core +kmod-input-core +@DRIVER_11N_SUPPORT
469   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/carl9170/carl9170.ko
470   AUTOLOAD:=$(call AutoLoad,60,carl9170)
471 endef
472
473 define KernelPackage/carl9170/install
474         $(INSTALL_DIR) $(1)/lib/firmware
475         $(INSTALL_DATA) $(DL_DIR)/$(CARL9170_FW)-$(CARL9170_FW_VERSION) $(1)/lib/firmware/$(CARL9170_FW)
476 endef
477
478 define KernelPackage/lib80211
479   $(call KernelPackage/mac80211/Default)
480   TITLE:=802.11 Networking stack
481   FILES:= \
482         $(PKG_BUILD_DIR)/net/wireless/lib80211.ko \
483         $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_wep.ko \
484         $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_ccmp.ko \
485         $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_tkip.ko
486   AUTOLOAD:=$(call AutoLoad,21, \
487         lib80211 \
488         lib80211_crypt_wep \
489         lib80211_crypt_ccmp \
490         lib80211_crypt_tkip \
491   )
492 endef
493
494 define KernelPackage/lib80211/description
495  Kernel modules for 802.11 Networking stack
496  Includes:
497  - lib80211
498  - lib80211_crypt_wep
499  - lib80211_crypt_tkip
500  - lib80211_crytp_ccmp
501 endef
502
503 define KernelPackage/libertas-usb
504   $(call KernelPackage/mac80211/Default)
505   DEPENDS+= @USB_SUPPORT +kmod-cfg80211 +kmod-usb-core +kmod-lib80211 +@DRIVER_WEXT_SUPPORT
506   TITLE:=Marvell 88W8015 Wireless Driver
507   FILES:= \
508         $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
509         $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/usb8xxx.ko
510   AUTOLOAD:=$(call AutoLoad,27,libertas usb8xxx)
511 endef
512
513 define KernelPackage/libertas-sd
514   $(call KernelPackage/mac80211/Default)
515   DEPENDS+= +kmod-cfg80211 +kmod-lib80211 +kmod-mmc +@DRIVER_WEXT_SUPPORT
516   TITLE:=Marvell 88W8686 Wireless Driver
517   FILES:= \
518         $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
519         $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas_sdio.ko
520   AUTOLOAD:=$(call AutoLoad,91,libertas libertas_sdio)
521 endef
522
523 define KernelPackage/mac80211-hwsim
524   $(call KernelPackage/mac80211/Default)
525   TITLE:=mac80211 HW simulation device
526   DEPENDS+= +kmod-mac80211
527   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.ko
528   AUTOLOAD:=$(call AutoLoad,60,mac80211_hwsim)
529 endef
530
531 define KernelPackage/net-libipw
532   $(call KernelPackage/mac80211/Default)
533   TITLE:=libipw for ipw2100 and ipw2200
534   DEPENDS:=@PCI_SUPPORT +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT
535   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/libipw.ko
536   AUTOLOAD:=$(call AutoLoad,49,libipw)
537 endef
538
539 define KernelPackage/net-libipw/description
540  Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
541 endef
542
543 IPW2100_NAME:=ipw2100-fw
544 IPW2100_VERSION:=1.3
545
546 define Download/net-ipw2100
547   URL:=http://bughost.org/firmware/
548   FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
549   MD5SUM=46aa75bcda1a00efa841f9707bbbd113
550 endef
551 $(eval $(call Download,net-ipw2100))
552
553 define KernelPackage/net-ipw2100
554   $(call KernelPackage/mac80211/Default)
555   TITLE:=Intel IPW2100 driver
556   DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
557   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2100.ko
558   AUTOLOAD:=$(call AutoLoad,50,ipw2100)
559 endef
560
561 define KernelPackage/net-ipw2100/description
562  Kernel support for Intel IPW2100
563  Includes:
564  - ipw2100
565 endef
566
567 IPW2200_NAME:=ipw2200-fw
568 IPW2200_VERSION:=3.1
569
570 define Download/net-ipw2200
571   URL:=http://bughost.org/firmware/
572   FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
573   MD5SUM=eaba788643c7cc7483dd67ace70f6e99
574 endef
575 $(eval $(call Download,net-ipw2200))
576
577 define KernelPackage/net-ipw2200
578   $(call KernelPackage/mac80211/Default)
579   TITLE:=Intel IPW2200 driver
580   DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
581   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2200.ko
582   AUTOLOAD:=$(call AutoLoad,50,ipw2200)
583 endef
584
585 define KernelPackage/net-ipw2200/description
586  Kernel support for Intel IPW2200
587  Includes:
588  - ipw2200
589 endef
590
591
592 define KernelPackage/net-hermes
593   $(call KernelPackage/mac80211/Default)
594   TITLE:=Hermes 802.11b chipset support
595   DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT
596   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco.ko
597   AUTOLOAD:=$(call AutoLoad,50,orinoco)
598 endef
599
600 define KernelPackage/net-hermes/description
601  Kernel support for Hermes 802.11b chipsets
602 endef
603
604 define KernelPackage/net-hermes-pci
605   $(call KernelPackage/mac80211/Default)
606   TITLE:=Intersil Prism 2.5 PCI support
607   DEPENDS:=@PCI_SUPPORT +kmod-net-hermes
608   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_pci.ko
609   AUTOLOAD:=$(call AutoLoad,55,orinoco_pci)
610 endef
611
612 define KernelPackage/net-hermes-pci/description
613  Kernel modules for Intersil Prism 2.5 PCI support
614 endef
615
616 define KernelPackage/net-hermes-plx
617   $(call KernelPackage/mac80211/Default)
618   TITLE:=PLX9052 based PCI adaptor
619   DEPENDS:=@PCI_SUPPORT +kmod-net-hermes
620   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_plx.ko
621   AUTOLOAD:=$(call AutoLoad,55,orinoco_plx)
622 endef
623
624 define KernelPackage/net-hermes-plx/description
625  Kernel modules for Hermes in PLX9052 based PCI adaptors
626 endef
627
628 define KernelPackage/net-hermes-pcmcia
629   $(call KernelPackage/mac80211/Default)
630   TITLE:=Hermes based PCMCIA adaptors
631   DEPENDS:=@PCMCIA_SUPPORT +kmod-net-hermes @BROKEN
632   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_cs.ko
633   AUTOLOAD:=$(call AutoLoad,55,orinoco_cs)
634 endef
635
636 define KernelPackage/net-hermes-pcmcia/description
637  Kernel modules for Hermes based PCMCIA adaptors
638 endef
639
640 define KernelPackage/iwlagn
641   $(call KernelPackage/mac80211/Default)
642   DEPENDS:= +kmod-mac80211 @PCI_SUPPORT +@DRIVER_11N_SUPPORT
643   TITLE:=Intel AGN Wireless support
644   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlwifi/iwlwifi.ko
645   AUTOLOAD:=$(call AutoLoad,60,iwlwifi)
646   MENU:=1
647 endef
648
649 define KernelPackage/iwlagn/description
650  iwlagn kernel module for Intel 5000/5150/1000/6000/6050/6005/6030/100 support
651 endef
652
653 define KernelPackage/iwlagn/config
654   if PACKAGE_kmod-iwlagn
655
656         config IWL5000_FW
657                 bool "Intel 5000 Firmware"
658                 default y
659                 help
660                   Download and install firmware for:
661                     Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN
662
663         config IWL5150_FW
664                 bool "Intel 5150 Firmware"
665                 default y
666                 help
667                   Download and install firmware for:
668                     Intel Wireless WiFi 5150AGN
669
670         config IWL1000_FW
671                 bool "Intel 1000 Firmware"
672                 default y
673                 help
674                   Download and install firmware for:
675                     Intel Centrino Wireless-N 1000
676
677         config IWL6000_FW
678                 bool "Intel 6000 Firmware"
679                 default y
680                 help
681                   Download and install firmware for:
682                     Intel Centrino Ultimate-N 6300 and Advanced-N 6200
683
684         config IWL6050_FW
685                 bool "Intel 6050 Firmware"
686                 default y
687                 help
688                   Download and install firmware for:
689                     Intel Centrino Advanced-N + WiMAX 6250 and Wireless-N + WiMAX 6150
690
691         config IWL6005_FW
692                 bool "Intel 6005 Firmware"
693                 default y
694                 help
695                   Download and install firmware for:
696                     Intel Centrino Advanced-N 6205
697
698         config IWL6030_FW
699                 bool "Intel 6030 Firmware"
700                 default y
701                 help
702                   Download and install firmware for:
703                     Intel Centrino Advanced-N 6230, Wireless-N 1030, Wireless-N 130 and Advanced-N 6235
704
705         config IWL100_FW
706                 bool "Intel 100 Firmware"
707                 default y
708                 help
709                   Download and install firmware for:
710                     Intel Centrino Wireless-N 100
711
712         config IWL2000_FW
713                 bool "Intel 2000 Firmware"
714                 default y
715                 help
716                   Download and install firmware for:
717                     Intel Centrino Wireless-N 2200
718
719         config IWL2030_FW
720                 bool "Intel 2030 Firmware"
721                 default y
722                 help
723                   Download and install firmware for:
724                     Intel Centrino Wireless-N 2230
725
726         config IWL105_FW
727                 bool "Intel 105 Firmware"
728                 default y
729                 help
730                   Download and install firmware for:
731                     Intel Centrino Wireless-N 105
732
733         config IWL135_FW
734                 bool "Intel 135 Firmware"
735                 default y
736                 help
737                   Download and install firmware for:
738                     Intel Centrino Wireless-N 135
739   endif
740 endef
741
742 define KernelPackage/iwl-legacy
743   $(call KernelPackage/mac80211/Default)
744   DEPENDS:= +kmod-mac80211 @PCI_SUPPORT
745   TITLE:=Intel legacy Wireless support
746   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwlegacy.ko
747   AUTOLOAD:=$(call AutoLoad,60,iwlegacy)
748 endef
749
750 define KernelPackage/iwl-legacy/description
751  iwl-legacy kernel module for legacy Intel wireless support
752 endef
753
754 define KernelPackage/iwl3945
755   $(call KernelPackage/mac80211/Default)
756   DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy
757   TITLE:=Intel iwl3945 Wireless support
758   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl3945.ko
759   AUTOLOAD:=$(call AutoLoad,61,iwl3945)
760 endef
761
762 define KernelPackage/iwl3945/description
763  iwl3945 kernel module for Intel 3945 support
764 endef
765
766 define KernelPackage/iwl4965
767   $(call KernelPackage/mac80211/Default)
768   DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy +@DRIVER_11N_SUPPORT
769   TITLE:=Intel iwl4965 Wireless support
770   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl4965.ko
771   AUTOLOAD:=$(call AutoLoad,61,iwl4965)
772 endef
773
774 define KernelPackage/iwl4965/description
775  iwl4965 kernel module for Intel 4965 support
776 endef
777
778
779 define KernelPackage/mwl8k
780   $(call KernelPackage/mac80211/Default)
781   TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards
782   URL:=http://wireless.kernel.org/en/users/Drivers/mwl8k
783   DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +@DRIVER_11N_SUPPORT
784   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mwl8k.ko
785   AUTOLOAD:=$(call AutoLoad,27,mwl8k)
786 endef
787
788 define KernelPackage/mwl8k/description
789  Kernel modules for Marvell TOPDOG 802.11 Wireless cards
790 endef
791
792
793 define KernelPackage/wl12xx
794   $(call KernelPackage/mac80211/Default)
795   TITLE:=Driver for TI WL12xx
796   URL:=http://wireless.kernel.org/en/users/Drivers/wl12xx
797   DEPENDS+= @TARGET_omap4 +kmod-mac80211
798   FILES:= \
799         $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl12xx/wl12xx.ko \
800         $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore.ko \
801         $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore_sdio.ko
802   AUTOLOAD:=$(call AutoLoad,61,wlcore wlcore_sdio wl12xx)
803 endef
804
805 define KernelPackage/wl12xx/description
806  Kernel modules for TI WL12xx
807 endef
808
809 #Broadcom firmware
810 ifneq ($(CONFIG_B43_FW_5_10),)
811   PKG_B43_FWV4_NAME:=broadcom-wl
812   PKG_B43_FWV4_VERSION:=5.10.56.27.3
813   PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta/wl_prebuilt.o
814   PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)_mipsel.tar.bz2
815   PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
816   PKG_B43_FWV4_MD5SUM:=3363e3a6b3d9d73c49dea870c7834eac
817 else
818 ifneq ($(CONFIG_B43_FW_4_178),)
819   PKG_B43_FWV4_NAME:=broadcom-wl
820   PKG_B43_FWV4_VERSION:=4.178.10.4
821   PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
822   PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
823   PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
824   PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
825 else
826 ifneq ($(CONFIG_B43_FW_5_100_138),)
827   PKG_B43_FWV4_NAME:=broadcom-wl
828   PKG_B43_FWV4_VERSION:=5.100.138
829   PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
830   PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
831   PKG_B43_FWV4_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
832   PKG_B43_FWV4_MD5SUM:=f4e357b09eaf5d8b1f1920cf3493a555
833 else
834   PKG_B43_FWV4_NAME:=broadcom-wl
835   PKG_B43_FWV4_VERSION:=4.150.10.5
836   PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
837   PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
838   PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
839   PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
840 endif
841 endif
842 endif
843 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
844   PKG_B43_FWV4_NAME:=broadcom-wl
845   PKG_B43_FWV4_VERSION:=5.2
846   PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
847   PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
848   PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
849   PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
850 endif
851
852
853 PKG_B43_FWV3_NAME:=wl_apsta
854 PKG_B43_FWV3_VERSION:=3.130.20.0
855 PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o
856 PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/
857 PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3
858
859 define Download/b43
860   FILE:=$(PKG_B43_FWV4_SOURCE)
861   URL:=$(PKG_B43_FWV4_SOURCE_URL)
862   MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
863 endef
864 $(eval $(call Download,b43))
865
866 define Download/b43legacy
867   FILE:=$(PKG_B43_FWV3_SOURCE)
868   URL:=$(PKG_B43_FWV3_SOURCE_URL)
869   MD5SUM:=$(PKG_B43_FWV3_MD5SUM)
870 endef
871 $(eval $(call Download,b43legacy))
872
873
874 define KernelPackage/b43
875   $(call KernelPackage/mac80211/Default)
876   TITLE:=Broadcom 43xx wireless support
877   URL:=http://linuxwireless.org/en/users/Drivers/b43
878   KCONFIG:= \
879         CONFIG_HW_RANDOM=y
880   DEPENDS+= +kmod-mac80211 +!TARGET_brcm47xx:kmod-bcma +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
881   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.ko
882   AUTOLOAD:=$(call AutoLoad,30,b43)
883   MENU:=1
884 endef
885
886 define KernelPackage/b43/config
887   if PACKAGE_kmod-b43
888
889         choice
890                 prompt "b43 firmware version"
891                 default B43_FW_5_100_138
892                 help
893                   This option allows you to select the version of the b43 firmware.
894
895         config B43_FW_4_150
896                 bool "Firmware 410.2160 from driver 4.150.10.5 (old stable)"
897                 help
898                   Stable firmware for BCM43xx devices.
899
900                   If unsure, select this.
901
902         config B43_FW_4_178
903                 bool "Firmware 478.104 from driver 4.178.10.4"
904                 help
905                   Experimental firmware for BCM43xx devices.
906
907                   This firmware is not tested as much as the "stable" firmware.
908
909                   If unsure, select the "stable" firmware.
910
911         config B43_FW_5_10
912                 bool "Firmware 508.1084 from driver 5.10.56.27"
913                 help
914                   Newer experimental firmware for BCM43xx devices.
915
916                   This firmware is mostly untested. It is needed for some N-PHY devices.
917
918                   If unsure, select the "stable" firmware.
919
920         config B43_FW_5_100_138
921                 bool "Firmware 666.2 from driver 5.100.138 (stable)"
922                 help
923                   Newer experimental firmware for BCM43xx devices.
924
925                   This firmware is mostly untested. It is needed for some N-PHY devices.
926
927                   If unsure, select the "stable" firmware.
928
929         config B43_OPENFIRMWARE
930                 bool "Open FirmWare for WiFi networks"
931                 help
932                   Opensource firmware for BCM43xx devices.
933
934                   Do _not_ select this, unless you know what you are doing.
935                   The Opensource firmware is not suitable for embedded devices, yet.
936                   It does not support QoS, which is bad for AccessPoints.
937                   It does not support hardware crypto acceleration, which is a showstopper
938                   for embedded devices with low CPU resources.
939
940                   If unsure, select the "stable" firmware.
941
942         endchoice
943
944         config B43_FW_SQUASH
945                 bool "Remove unnecessary firmware files"
946                 depends on !B43_OPENFIRMWARE
947                 default y
948                 help
949                   This options allows you to remove unnecessary b43 firmware files
950                   from the final rootfs image. This can reduce the rootfs size by
951                   up to 200k.
952
953                   If unsure, say Y.
954
955         config B43_FW_SQUASH_COREREVS
956                 string "Core revisions to include"
957                 depends on B43_FW_SQUASH
958                 default "5,6,7,8,9,10,11,13,15,16,29"
959                 help
960                   This is a comma seperated list of core revision numbers.
961
962                   Example (keep files for rev5 only):
963                     5
964
965                   Example (keep files for rev5 and rev11):
966                     5,11
967
968         config B43_FW_SQUASH_PHYTYPES
969                 string "PHY types to include"
970                 depends on B43_FW_SQUASH
971                 default "G,LP,N,HT"
972                 help
973                   This is a comma seperated list of PHY types:
974                     A  => A-PHY
975                     AG => Dual A-PHY G-PHY
976                     G  => G-PHY
977                     LP => LP-PHY
978                     N  => N-PHY
979                     HT  => HT-PHY
980                     LCN  => LCN-PHY
981
982                   Example (keep files for G-PHY only):
983                     G
984
985                   Example (keep files for G-PHY and N-PHY):
986                     G,N
987
988         config PACKAGE_B43_DEBUG
989                 bool "Enable debug output and debugfs for b43"
990                 default n
991                 help
992                   Enable additional debug output and runtime sanity checks for b43
993                   and enables the debugfs interface.
994
995                   If unsure, say N.
996
997         config PACKAGE_B43_PIO
998                 bool "Enable support for PIO transfer mode"
999                 default n
1000                 help
1001                   Enable support for using PIO instead of DMA. Unless you have DMA
1002                   transfer problems you don't need this.
1003
1004                   If unsure, say N.
1005
1006         config PACKAGE_B43_PHY_N
1007                 bool "Enable support for N-PHYs"
1008                 default y
1009                 help
1010                   Enable support for N-PHY. This includes support for the following devices:
1011                   PCI: BCM4321, BCM4322, BCM43222, BCM43224, BCM43225
1012                   SoC: BCM4716, BCM4717, BCM4718
1013
1014                   Currently only 11g speed is available.
1015
1016                   If unsure, say Y.
1017
1018         config PACKAGE_B43_PHY_HT
1019                 bool "Enable support for HT-PHYs"
1020                 default y
1021                 help
1022                   Enable support for HT-PHY. This includes support for the following devices:
1023                   PCI: BCM4331
1024
1025                   Currently only 11g speed is available.
1026
1027                   If unsure, say Y.
1028
1029         config PACKAGE_B43_PHY_LCN
1030                 bool "Enable support for LCN-PHYs"
1031                 depends on BROKEN
1032                 default n
1033                 help
1034                   Currently broken.
1035
1036                   If unsure, say N.
1037
1038   endif
1039 endef
1040
1041 define KernelPackage/b43/description
1042 Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
1043 endef
1044
1045 define KernelPackage/b43legacy
1046   $(call KernelPackage/mac80211/Default)
1047   TITLE:=Broadcom 43xx-legacy wireless support
1048   URL:=http://linuxwireless.org/en/users/Drivers/b43
1049   KCONFIG:= \
1050         CONFIG_HW_RANDOM=y
1051   DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
1052   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.ko
1053   AUTOLOAD:=$(call AutoLoad,30,b43legacy)
1054   MENU:=1
1055 endef
1056
1057 define KernelPackage/b43legacy/config
1058   if PACKAGE_kmod-b43legacy
1059
1060         config B43LEGACY_FW_SQUASH
1061                 bool "Remove unnecessary firmware files"
1062                 default y
1063                 help
1064                   This options allows you to remove unnecessary b43legacy firmware files
1065                   from the final rootfs image. This can reduce the rootfs size by
1066                   up to 50k.
1067
1068                   If unsure, say Y.
1069
1070         config B43LEGACY_FW_SQUASH_COREREVS
1071                 string "Core revisions to include"
1072                 depends on B43LEGACY_FW_SQUASH
1073                 default "1,2,3,4"
1074                 help
1075                   This is a comma seperated list of core revision numbers.
1076
1077                   Example (keep files for rev4 only):
1078                     4
1079
1080                   Example (keep files for rev2 and rev4):
1081                     2,4
1082
1083   endif
1084 endef
1085
1086 define KernelPackage/b43legacy/description
1087 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
1088 endef
1089
1090
1091 define KernelPackage/brcmutil
1092   $(call KernelPackage/mac80211/Default)
1093   TITLE:=Broadcom IEEE802.11n common driver parts
1094   URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
1095   DEPENDS+=@PCI_SUPPORT||USB_SUPPORT
1096   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmutil/brcmutil.ko
1097   AUTOLOAD:=$(call AutoLoad,30,brcmutil)
1098   MENU:=1
1099 endef
1100
1101 define KernelPackage/brcmutil/description
1102  This module contains some common parts needed by Broadcom Wireless drivers brcmsmac and brcmfmac.
1103 endef
1104
1105 define KernelPackage/brcmutil/config
1106   if PACKAGE_kmod-brcmutil
1107
1108         config PACKAGE_BRCM80211_DEBUG
1109                 bool "Broadcom wireless driver debugging"
1110                 help
1111                   Say Y, if you want to debug brcmsmac and brcmfmac wireless driver.
1112
1113   endif
1114 endef
1115
1116 PKG_BRCMSMAC_FW_NAME:=broadcom-wl
1117 PKG_BRCMSMAC_FW_VERSION:=5.100.138
1118 PKG_BRCMSMAC_FW_OBJECT:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION)/linux/wl_apsta.o
1119 PKG_BRCMSMAC_FW_SOURCE:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION).tar.bz2
1120 PKG_BRCMSMAC_FW_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
1121 PKG_BRCMSMAC_FW_MD5SUM:=f4e357b09eaf5d8b1f1920cf3493a555
1122
1123 define Download/brcmsmac
1124   FILE:=$(PKG_BRCMSMAC_FW_SOURCE)
1125   URL:=$(PKG_BRCMSMAC_FW_SOURCE_URL)
1126   MD5SUM:=$(PKG_BRCMSMAC_FW_MD5SUM)
1127 endef
1128 $(eval $(call Download,brcmsmac))
1129
1130 define KernelPackage/brcmsmac
1131   $(call KernelPackage/mac80211/Default)
1132   TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver
1133   URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
1134   DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT +!TARGET_brcm47xx:kmod-bcma +kmod-lib-cordic +kmod-lib-crc8 +kmod-brcmutil
1135   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko
1136   AUTOLOAD:=$(call AutoLoad,31,brcmsmac)
1137   MENU:=1
1138 endef
1139
1140 define KernelPackage/brcmsmac/description
1141  Kernel module for Broadcom IEEE802.11n PCIe Wireless cards
1142 endef
1143
1144 define KernelPackage/brcmsmac/config
1145   if PACKAGE_kmod-brcmsmac
1146
1147         config BRCMSMAC_USE_FW_FROM_WL
1148                 bool "Use firmware extracted from broadcom proprietary driver"
1149                 default y
1150                 help
1151                   Instead of using the official brcmsmac firmware a firmware
1152                   version 666.2 extracted from the proprietary Broadcom driver
1153                   is used. This is needed to get core rev 17 used in bcm4716
1154                   to work.
1155
1156                   If unsure, say Y.
1157
1158   endif
1159 endef
1160
1161
1162 define KernelPackage/brcmfmac
1163   $(call KernelPackage/mac80211/Default)
1164   TITLE:=Broadcom IEEE802.11n USB FullMAC WLAN driver
1165   URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
1166   DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-cfg80211 +@DRIVER_11N_SUPPORT +kmod-brcmutil
1167   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko
1168   AUTOLOAD:=$(call AutoLoad,60,brcmfmac)
1169 endef
1170
1171 define KernelPackage/brcmfmac/description
1172  Kernel module for Broadcom IEEE802.11n USB Wireless cards
1173 endef
1174
1175 config_package=$(if $(CONFIG_PACKAGE_kmod-$(1)),m)
1176
1177 config-y:= \
1178         WLAN \
1179         NL80211_TESTMODE \
1180         CFG80211_WEXT \
1181         CFG80211_INTERNAL_REGDB \
1182         MAC80211_RC_MINSTREL \
1183         MAC80211_RC_MINSTREL_HT \
1184         MAC80211_RC_DEFAULT_MINSTREL \
1185
1186 config-$(call config_package,cfg80211) += CFG80211
1187
1188 config-$(call config_package,mac80211) += MAC80211
1189 config-$(CONFIG_PACKAGE_MAC80211_MESH) += MAC80211_MESH
1190 ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
1191   config-y += \
1192         CFG80211_DEBUGFS \
1193         MAC80211_DEBUGFS \
1194         ATH9K_DEBUGFS \
1195         ATH9K_HTC_DEBUGFS \
1196         CARL9170_DEBUGFS \
1197         ATH5K_DEBUG
1198 endif
1199
1200 config-$(call config_package,lib80211) += LIB80211 LIB80211_CRYPT_WEP LIB80211_CRYPT_CCMP LIB80211_CRYPT_TKIP
1201
1202 config-$(call config_package,ath) += ATH_CARDS ATH_COMMON
1203 config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG
1204
1205 config-$(call config_package,ath9k) += ATH9K
1206 config-$(call config_package,ath9k-common) += ATH9K_COMMON
1207 config-$(CONFIG_TARGET_ar71xx) += ATH9K_AHB
1208 config-$(CONFIG_PCI) += ATH9K_PCI
1209 config-$(CONFIG_ATH_USER_REGD) += ATH_USER_REGD
1210
1211 config-$(call config_package,ath9k-htc) += ATH9K_HTC
1212
1213 config-$(call config_package,ath5k) += ATH5K
1214 ifdef CONFIG_TARGET_atheros
1215   config-y += ATH5K_AHB
1216 else
1217   config-y += ATH5K_PCI
1218 endif
1219
1220 config-$(call config_package,carl9170) += CARL9170
1221
1222 config-$(call config_package,b43) += B43
1223 config-y += B43_SSB B43_BCMA B43_BCMA_EXTRA
1224 config-$(CONFIG_PACKAGE_B43_PHY_N) += B43_PHY_N
1225 config-$(CONFIG_PACKAGE_B43_PHY_LP) += B43_PHY_LP
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         $(SH_FUNC) var2file "$(call shvar,mac80211_config)" $(PKG_BUILD_DIR)/.config
1349         $(MAKE) $(MAKE_OPTS) allnoconfig
1350 endef
1351
1352 define Build/Compile
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))