mac80211: add missing dependencies
[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 +kmod-lib-crc-ccitt +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   DEPENDS:=+kmod-cfg80211
483   FILES:= \
484         $(PKG_BUILD_DIR)/net/wireless/lib80211.ko \
485         $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_wep.ko \
486         $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_ccmp.ko \
487         $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_tkip.ko
488   AUTOLOAD:=$(call AutoLoad,21, \
489         lib80211 \
490         lib80211_crypt_wep \
491         lib80211_crypt_ccmp \
492         lib80211_crypt_tkip \
493   )
494 endef
495
496 define KernelPackage/lib80211/description
497  Kernel modules for 802.11 Networking stack
498  Includes:
499  - lib80211
500  - lib80211_crypt_wep
501  - lib80211_crypt_tkip
502  - lib80211_crytp_ccmp
503 endef
504
505 define KernelPackage/libertas-usb
506   $(call KernelPackage/mac80211/Default)
507   DEPENDS+= @USB_SUPPORT +kmod-cfg80211 +kmod-usb-core +kmod-lib80211 +@DRIVER_WEXT_SUPPORT
508   TITLE:=Marvell 88W8015 Wireless Driver
509   FILES:= \
510         $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
511         $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/usb8xxx.ko
512   AUTOLOAD:=$(call AutoLoad,27,libertas usb8xxx)
513 endef
514
515 define KernelPackage/libertas-sd
516   $(call KernelPackage/mac80211/Default)
517   DEPENDS+= +kmod-cfg80211 +kmod-lib80211 +kmod-mmc +@DRIVER_WEXT_SUPPORT
518   TITLE:=Marvell 88W8686 Wireless Driver
519   FILES:= \
520         $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
521         $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas_sdio.ko
522   AUTOLOAD:=$(call AutoLoad,91,libertas libertas_sdio)
523 endef
524
525 define KernelPackage/mac80211-hwsim
526   $(call KernelPackage/mac80211/Default)
527   TITLE:=mac80211 HW simulation device
528   DEPENDS+= +kmod-mac80211
529   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.ko
530   AUTOLOAD:=$(call AutoLoad,60,mac80211_hwsim)
531 endef
532
533 define KernelPackage/net-libipw
534   $(call KernelPackage/mac80211/Default)
535   TITLE:=libipw for ipw2100 and ipw2200
536   DEPENDS:=@PCI_SUPPORT +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT
537   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/libipw.ko
538   AUTOLOAD:=$(call AutoLoad,49,libipw)
539 endef
540
541 define KernelPackage/net-libipw/description
542  Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
543 endef
544
545 IPW2100_NAME:=ipw2100-fw
546 IPW2100_VERSION:=1.3
547
548 define Download/net-ipw2100
549   URL:=http://bughost.org/firmware/
550   FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
551   MD5SUM=46aa75bcda1a00efa841f9707bbbd113
552 endef
553 $(eval $(call Download,net-ipw2100))
554
555 define KernelPackage/net-ipw2100
556   $(call KernelPackage/mac80211/Default)
557   TITLE:=Intel IPW2100 driver
558   DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
559   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2100.ko
560   AUTOLOAD:=$(call AutoLoad,50,ipw2100)
561 endef
562
563 define KernelPackage/net-ipw2100/description
564  Kernel support for Intel IPW2100
565  Includes:
566  - ipw2100
567 endef
568
569 IPW2200_NAME:=ipw2200-fw
570 IPW2200_VERSION:=3.1
571
572 define Download/net-ipw2200
573   URL:=http://bughost.org/firmware/
574   FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
575   MD5SUM=eaba788643c7cc7483dd67ace70f6e99
576 endef
577 $(eval $(call Download,net-ipw2200))
578
579 define KernelPackage/net-ipw2200
580   $(call KernelPackage/mac80211/Default)
581   TITLE:=Intel IPW2200 driver
582   DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
583   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2200.ko
584   AUTOLOAD:=$(call AutoLoad,50,ipw2200)
585 endef
586
587 define KernelPackage/net-ipw2200/description
588  Kernel support for Intel IPW2200
589  Includes:
590  - ipw2200
591 endef
592
593
594 define KernelPackage/net-hermes
595   $(call KernelPackage/mac80211/Default)
596   TITLE:=Hermes 802.11b chipset support
597   DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT
598   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco.ko
599   AUTOLOAD:=$(call AutoLoad,50,orinoco)
600 endef
601
602 define KernelPackage/net-hermes/description
603  Kernel support for Hermes 802.11b chipsets
604 endef
605
606 define KernelPackage/net-hermes-pci
607   $(call KernelPackage/mac80211/Default)
608   TITLE:=Intersil Prism 2.5 PCI support
609   DEPENDS:=@PCI_SUPPORT +kmod-net-hermes
610   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_pci.ko
611   AUTOLOAD:=$(call AutoLoad,55,orinoco_pci)
612 endef
613
614 define KernelPackage/net-hermes-pci/description
615  Kernel modules for Intersil Prism 2.5 PCI support
616 endef
617
618 define KernelPackage/net-hermes-plx
619   $(call KernelPackage/mac80211/Default)
620   TITLE:=PLX9052 based PCI adaptor
621   DEPENDS:=@PCI_SUPPORT +kmod-net-hermes
622   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_plx.ko
623   AUTOLOAD:=$(call AutoLoad,55,orinoco_plx)
624 endef
625
626 define KernelPackage/net-hermes-plx/description
627  Kernel modules for Hermes in PLX9052 based PCI adaptors
628 endef
629
630 define KernelPackage/net-hermes-pcmcia
631   $(call KernelPackage/mac80211/Default)
632   TITLE:=Hermes based PCMCIA adaptors
633   DEPENDS:=@PCMCIA_SUPPORT +kmod-net-hermes @BROKEN
634   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_cs.ko
635   AUTOLOAD:=$(call AutoLoad,55,orinoco_cs)
636 endef
637
638 define KernelPackage/net-hermes-pcmcia/description
639  Kernel modules for Hermes based PCMCIA adaptors
640 endef
641
642 define KernelPackage/iwlagn
643   $(call KernelPackage/mac80211/Default)
644   DEPENDS:= +kmod-mac80211 @PCI_SUPPORT +@DRIVER_11N_SUPPORT
645   TITLE:=Intel AGN Wireless support
646   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlwifi/iwlwifi.ko
647   AUTOLOAD:=$(call AutoLoad,60,iwlwifi)
648   MENU:=1
649 endef
650
651 define KernelPackage/iwlagn/description
652  iwlagn kernel module for Intel 5000/5150/1000/6000/6050/6005/6030/100 support
653 endef
654
655 define KernelPackage/iwlagn/config
656   if PACKAGE_kmod-iwlagn
657
658         config IWL5000_FW
659                 bool "Intel 5000 Firmware"
660                 default y
661                 help
662                   Download and install firmware for:
663                     Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN
664
665         config IWL5150_FW
666                 bool "Intel 5150 Firmware"
667                 default y
668                 help
669                   Download and install firmware for:
670                     Intel Wireless WiFi 5150AGN
671
672         config IWL1000_FW
673                 bool "Intel 1000 Firmware"
674                 default y
675                 help
676                   Download and install firmware for:
677                     Intel Centrino Wireless-N 1000
678
679         config IWL6000_FW
680                 bool "Intel 6000 Firmware"
681                 default y
682                 help
683                   Download and install firmware for:
684                     Intel Centrino Ultimate-N 6300 and Advanced-N 6200
685
686         config IWL6050_FW
687                 bool "Intel 6050 Firmware"
688                 default y
689                 help
690                   Download and install firmware for:
691                     Intel Centrino Advanced-N + WiMAX 6250 and Wireless-N + WiMAX 6150
692
693         config IWL6005_FW
694                 bool "Intel 6005 Firmware"
695                 default y
696                 help
697                   Download and install firmware for:
698                     Intel Centrino Advanced-N 6205
699
700         config IWL6030_FW
701                 bool "Intel 6030 Firmware"
702                 default y
703                 help
704                   Download and install firmware for:
705                     Intel Centrino Advanced-N 6230, Wireless-N 1030, Wireless-N 130 and Advanced-N 6235
706
707         config IWL100_FW
708                 bool "Intel 100 Firmware"
709                 default y
710                 help
711                   Download and install firmware for:
712                     Intel Centrino Wireless-N 100
713
714         config IWL2000_FW
715                 bool "Intel 2000 Firmware"
716                 default y
717                 help
718                   Download and install firmware for:
719                     Intel Centrino Wireless-N 2200
720
721         config IWL2030_FW
722                 bool "Intel 2030 Firmware"
723                 default y
724                 help
725                   Download and install firmware for:
726                     Intel Centrino Wireless-N 2230
727
728         config IWL105_FW
729                 bool "Intel 105 Firmware"
730                 default y
731                 help
732                   Download and install firmware for:
733                     Intel Centrino Wireless-N 105
734
735         config IWL135_FW
736                 bool "Intel 135 Firmware"
737                 default y
738                 help
739                   Download and install firmware for:
740                     Intel Centrino Wireless-N 135
741   endif
742 endef
743
744 define KernelPackage/iwl-legacy
745   $(call KernelPackage/mac80211/Default)
746   DEPENDS:= +kmod-mac80211 @PCI_SUPPORT
747   TITLE:=Intel legacy Wireless support
748   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwlegacy.ko
749   AUTOLOAD:=$(call AutoLoad,60,iwlegacy)
750 endef
751
752 define KernelPackage/iwl-legacy/description
753  iwl-legacy kernel module for legacy Intel wireless support
754 endef
755
756 define KernelPackage/iwl3945
757   $(call KernelPackage/mac80211/Default)
758   DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy
759   TITLE:=Intel iwl3945 Wireless support
760   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl3945.ko
761   AUTOLOAD:=$(call AutoLoad,61,iwl3945)
762 endef
763
764 define KernelPackage/iwl3945/description
765  iwl3945 kernel module for Intel 3945 support
766 endef
767
768 define KernelPackage/iwl4965
769   $(call KernelPackage/mac80211/Default)
770   DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy +@DRIVER_11N_SUPPORT
771   TITLE:=Intel iwl4965 Wireless support
772   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl4965.ko
773   AUTOLOAD:=$(call AutoLoad,61,iwl4965)
774 endef
775
776 define KernelPackage/iwl4965/description
777  iwl4965 kernel module for Intel 4965 support
778 endef
779
780
781 define KernelPackage/mwl8k
782   $(call KernelPackage/mac80211/Default)
783   TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards
784   URL:=http://wireless.kernel.org/en/users/Drivers/mwl8k
785   DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +@DRIVER_11N_SUPPORT
786   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mwl8k.ko
787   AUTOLOAD:=$(call AutoLoad,27,mwl8k)
788 endef
789
790 define KernelPackage/mwl8k/description
791  Kernel modules for Marvell TOPDOG 802.11 Wireless cards
792 endef
793
794
795 define KernelPackage/wl12xx
796   $(call KernelPackage/mac80211/Default)
797   TITLE:=Driver for TI WL12xx
798   URL:=http://wireless.kernel.org/en/users/Drivers/wl12xx
799   DEPENDS+= @TARGET_omap4 +kmod-mac80211
800   FILES:= \
801         $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl12xx/wl12xx.ko \
802         $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore.ko \
803         $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore_sdio.ko
804   AUTOLOAD:=$(call AutoLoad,61,wlcore wlcore_sdio wl12xx)
805 endef
806
807 define KernelPackage/wl12xx/description
808  Kernel modules for TI WL12xx
809 endef
810
811 #Broadcom firmware
812 ifneq ($(CONFIG_B43_FW_5_10),)
813   PKG_B43_FWV4_NAME:=broadcom-wl
814   PKG_B43_FWV4_VERSION:=5.10.56.27.3
815   PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta/wl_prebuilt.o
816   PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)_mipsel.tar.bz2
817   PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
818   PKG_B43_FWV4_MD5SUM:=3363e3a6b3d9d73c49dea870c7834eac
819 else
820 ifneq ($(CONFIG_B43_FW_4_178),)
821   PKG_B43_FWV4_NAME:=broadcom-wl
822   PKG_B43_FWV4_VERSION:=4.178.10.4
823   PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
824   PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
825   PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
826   PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
827 else
828 ifneq ($(CONFIG_B43_FW_5_100_138),)
829   PKG_B43_FWV4_NAME:=broadcom-wl
830   PKG_B43_FWV4_VERSION:=5.100.138
831   PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
832   PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
833   PKG_B43_FWV4_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
834   PKG_B43_FWV4_MD5SUM:=f4e357b09eaf5d8b1f1920cf3493a555
835 else
836   PKG_B43_FWV4_NAME:=broadcom-wl
837   PKG_B43_FWV4_VERSION:=4.150.10.5
838   PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
839   PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
840   PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
841   PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
842 endif
843 endif
844 endif
845 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
846   PKG_B43_FWV4_NAME:=broadcom-wl
847   PKG_B43_FWV4_VERSION:=5.2
848   PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
849   PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
850   PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
851   PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
852 endif
853
854
855 PKG_B43_FWV3_NAME:=wl_apsta
856 PKG_B43_FWV3_VERSION:=3.130.20.0
857 PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o
858 PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/
859 PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3
860
861 define Download/b43
862   FILE:=$(PKG_B43_FWV4_SOURCE)
863   URL:=$(PKG_B43_FWV4_SOURCE_URL)
864   MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
865 endef
866 $(eval $(call Download,b43))
867
868 define Download/b43legacy
869   FILE:=$(PKG_B43_FWV3_SOURCE)
870   URL:=$(PKG_B43_FWV3_SOURCE_URL)
871   MD5SUM:=$(PKG_B43_FWV3_MD5SUM)
872 endef
873 $(eval $(call Download,b43legacy))
874
875
876 define KernelPackage/b43
877   $(call KernelPackage/mac80211/Default)
878   TITLE:=Broadcom 43xx wireless support
879   URL:=http://linuxwireless.org/en/users/Drivers/b43
880   KCONFIG:= \
881         CONFIG_HW_RANDOM=y
882   DEPENDS+= +kmod-mac80211 +!TARGET_brcm47xx:kmod-bcma +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
883   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.ko
884   AUTOLOAD:=$(call AutoLoad,30,b43)
885   MENU:=1
886 endef
887
888 define KernelPackage/b43/config
889   if PACKAGE_kmod-b43
890
891         choice
892                 prompt "b43 firmware version"
893                 default B43_FW_5_100_138
894                 help
895                   This option allows you to select the version of the b43 firmware.
896
897         config B43_FW_4_150
898                 bool "Firmware 410.2160 from driver 4.150.10.5 (old stable)"
899                 help
900                   Stable firmware for BCM43xx devices.
901
902                   If unsure, select this.
903
904         config B43_FW_4_178
905                 bool "Firmware 478.104 from driver 4.178.10.4"
906                 help
907                   Experimental firmware for BCM43xx devices.
908
909                   This firmware is not tested as much as the "stable" firmware.
910
911                   If unsure, select the "stable" firmware.
912
913         config B43_FW_5_10
914                 bool "Firmware 508.1084 from driver 5.10.56.27"
915                 help
916                   Newer experimental firmware for BCM43xx devices.
917
918                   This firmware is mostly untested. It is needed for some N-PHY devices.
919
920                   If unsure, select the "stable" firmware.
921
922         config B43_FW_5_100_138
923                 bool "Firmware 666.2 from driver 5.100.138 (stable)"
924                 help
925                   Newer experimental firmware for BCM43xx devices.
926
927                   This firmware is mostly untested. It is needed for some N-PHY devices.
928
929                   If unsure, select the "stable" firmware.
930
931         config B43_OPENFIRMWARE
932                 bool "Open FirmWare for WiFi networks"
933                 help
934                   Opensource firmware for BCM43xx devices.
935
936                   Do _not_ select this, unless you know what you are doing.
937                   The Opensource firmware is not suitable for embedded devices, yet.
938                   It does not support QoS, which is bad for AccessPoints.
939                   It does not support hardware crypto acceleration, which is a showstopper
940                   for embedded devices with low CPU resources.
941
942                   If unsure, select the "stable" firmware.
943
944         endchoice
945
946         config B43_FW_SQUASH
947                 bool "Remove unnecessary firmware files"
948                 depends on !B43_OPENFIRMWARE
949                 default y
950                 help
951                   This options allows you to remove unnecessary b43 firmware files
952                   from the final rootfs image. This can reduce the rootfs size by
953                   up to 200k.
954
955                   If unsure, say Y.
956
957         config B43_FW_SQUASH_COREREVS
958                 string "Core revisions to include"
959                 depends on B43_FW_SQUASH
960                 default "5,6,7,8,9,10,11,13,15,16,29"
961                 help
962                   This is a comma seperated list of core revision numbers.
963
964                   Example (keep files for rev5 only):
965                     5
966
967                   Example (keep files for rev5 and rev11):
968                     5,11
969
970         config B43_FW_SQUASH_PHYTYPES
971                 string "PHY types to include"
972                 depends on B43_FW_SQUASH
973                 default "G,LP,N,HT"
974                 help
975                   This is a comma seperated list of PHY types:
976                     A  => A-PHY
977                     AG => Dual A-PHY G-PHY
978                     G  => G-PHY
979                     LP => LP-PHY
980                     N  => N-PHY
981                     HT  => HT-PHY
982                     LCN  => LCN-PHY
983
984                   Example (keep files for G-PHY only):
985                     G
986
987                   Example (keep files for G-PHY and N-PHY):
988                     G,N
989
990         config PACKAGE_B43_DEBUG
991                 bool "Enable debug output and debugfs for b43"
992                 default n
993                 help
994                   Enable additional debug output and runtime sanity checks for b43
995                   and enables the debugfs interface.
996
997                   If unsure, say N.
998
999         config PACKAGE_B43_PIO
1000                 bool "Enable support for PIO transfer mode"
1001                 default n
1002                 help
1003                   Enable support for using PIO instead of DMA. Unless you have DMA
1004                   transfer problems you don't need this.
1005
1006                   If unsure, say N.
1007
1008         config PACKAGE_B43_PHY_N
1009                 bool "Enable support for N-PHYs"
1010                 default y
1011                 help
1012                   Enable support for N-PHY. This includes support for the following devices:
1013                   PCI: BCM4321, BCM4322, BCM43222, BCM43224, BCM43225
1014                   SoC: BCM4716, BCM4717, BCM4718
1015
1016                   Currently only 11g speed is available.
1017
1018                   If unsure, say Y.
1019
1020         config PACKAGE_B43_PHY_HT
1021                 bool "Enable support for HT-PHYs"
1022                 default y
1023                 help
1024                   Enable support for HT-PHY. This includes support for the following devices:
1025                   PCI: BCM4331
1026
1027                   Currently only 11g speed is available.
1028
1029                   If unsure, say Y.
1030
1031         config PACKAGE_B43_PHY_LCN
1032                 bool "Enable support for LCN-PHYs"
1033                 depends on BROKEN
1034                 default n
1035                 help
1036                   Currently broken.
1037
1038                   If unsure, say N.
1039
1040   endif
1041 endef
1042
1043 define KernelPackage/b43/description
1044 Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
1045 endef
1046
1047 define KernelPackage/b43legacy
1048   $(call KernelPackage/mac80211/Default)
1049   TITLE:=Broadcom 43xx-legacy wireless support
1050   URL:=http://linuxwireless.org/en/users/Drivers/b43
1051   KCONFIG:= \
1052         CONFIG_HW_RANDOM=y
1053   DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
1054   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.ko
1055   AUTOLOAD:=$(call AutoLoad,30,b43legacy)
1056   MENU:=1
1057 endef
1058
1059 define KernelPackage/b43legacy/config
1060   if PACKAGE_kmod-b43legacy
1061
1062         config B43LEGACY_FW_SQUASH
1063                 bool "Remove unnecessary firmware files"
1064                 default y
1065                 help
1066                   This options allows you to remove unnecessary b43legacy firmware files
1067                   from the final rootfs image. This can reduce the rootfs size by
1068                   up to 50k.
1069
1070                   If unsure, say Y.
1071
1072         config B43LEGACY_FW_SQUASH_COREREVS
1073                 string "Core revisions to include"
1074                 depends on B43LEGACY_FW_SQUASH
1075                 default "1,2,3,4"
1076                 help
1077                   This is a comma seperated list of core revision numbers.
1078
1079                   Example (keep files for rev4 only):
1080                     4
1081
1082                   Example (keep files for rev2 and rev4):
1083                     2,4
1084
1085   endif
1086 endef
1087
1088 define KernelPackage/b43legacy/description
1089 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
1090 endef
1091
1092
1093 define KernelPackage/brcmutil
1094   $(call KernelPackage/mac80211/Default)
1095   TITLE:=Broadcom IEEE802.11n common driver parts
1096   URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
1097   DEPENDS+=@PCI_SUPPORT||USB_SUPPORT
1098   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmutil/brcmutil.ko
1099   AUTOLOAD:=$(call AutoLoad,30,brcmutil)
1100   MENU:=1
1101 endef
1102
1103 define KernelPackage/brcmutil/description
1104  This module contains some common parts needed by Broadcom Wireless drivers brcmsmac and brcmfmac.
1105 endef
1106
1107 define KernelPackage/brcmutil/config
1108   if PACKAGE_kmod-brcmutil
1109
1110         config PACKAGE_BRCM80211_DEBUG
1111                 bool "Broadcom wireless driver debugging"
1112                 help
1113                   Say Y, if you want to debug brcmsmac and brcmfmac wireless driver.
1114
1115   endif
1116 endef
1117
1118 PKG_BRCMSMAC_FW_NAME:=broadcom-wl
1119 PKG_BRCMSMAC_FW_VERSION:=5.100.138
1120 PKG_BRCMSMAC_FW_OBJECT:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION)/linux/wl_apsta.o
1121 PKG_BRCMSMAC_FW_SOURCE:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION).tar.bz2
1122 PKG_BRCMSMAC_FW_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
1123 PKG_BRCMSMAC_FW_MD5SUM:=f4e357b09eaf5d8b1f1920cf3493a555
1124
1125 define Download/brcmsmac
1126   FILE:=$(PKG_BRCMSMAC_FW_SOURCE)
1127   URL:=$(PKG_BRCMSMAC_FW_SOURCE_URL)
1128   MD5SUM:=$(PKG_BRCMSMAC_FW_MD5SUM)
1129 endef
1130 $(eval $(call Download,brcmsmac))
1131
1132 define KernelPackage/brcmsmac
1133   $(call KernelPackage/mac80211/Default)
1134   TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver
1135   URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
1136   DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT +!TARGET_brcm47xx:kmod-bcma +kmod-lib-cordic +kmod-lib-crc8 +kmod-brcmutil
1137   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko
1138   AUTOLOAD:=$(call AutoLoad,31,brcmsmac)
1139   MENU:=1
1140 endef
1141
1142 define KernelPackage/brcmsmac/description
1143  Kernel module for Broadcom IEEE802.11n PCIe Wireless cards
1144 endef
1145
1146 define KernelPackage/brcmsmac/config
1147   if PACKAGE_kmod-brcmsmac
1148
1149         config BRCMSMAC_USE_FW_FROM_WL
1150                 bool "Use firmware extracted from broadcom proprietary driver"
1151                 default y
1152                 help
1153                   Instead of using the official brcmsmac firmware a firmware
1154                   version 666.2 extracted from the proprietary Broadcom driver
1155                   is used. This is needed to get core rev 17 used in bcm4716
1156                   to work.
1157
1158                   If unsure, say Y.
1159
1160   endif
1161 endef
1162
1163
1164 define KernelPackage/brcmfmac
1165   $(call KernelPackage/mac80211/Default)
1166   TITLE:=Broadcom IEEE802.11n USB FullMAC WLAN driver
1167   URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
1168   DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-cfg80211 +@DRIVER_11N_SUPPORT +kmod-brcmutil
1169   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko
1170   AUTOLOAD:=$(call AutoLoad,60,brcmfmac)
1171 endef
1172
1173 define KernelPackage/brcmfmac/description
1174  Kernel module for Broadcom IEEE802.11n USB Wireless cards
1175 endef
1176
1177 config_package=$(if $(CONFIG_PACKAGE_kmod-$(1)),m)
1178
1179 config-y:= \
1180         WLAN \
1181         NL80211_TESTMODE \
1182         CFG80211_WEXT \
1183         CFG80211_INTERNAL_REGDB \
1184         MAC80211_RC_MINSTREL \
1185         MAC80211_RC_MINSTREL_HT \
1186         MAC80211_RC_DEFAULT_MINSTREL \
1187
1188 config-$(call config_package,cfg80211) += CFG80211
1189
1190 config-$(call config_package,mac80211) += MAC80211
1191 config-$(CONFIG_PACKAGE_MAC80211_MESH) += MAC80211_MESH
1192 ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
1193   config-y += \
1194         CFG80211_DEBUGFS \
1195         MAC80211_DEBUGFS \
1196         ATH9K_DEBUGFS \
1197         ATH9K_HTC_DEBUGFS \
1198         CARL9170_DEBUGFS \
1199         ATH5K_DEBUG
1200 endif
1201
1202 config-$(call config_package,lib80211) += LIB80211 LIB80211_CRYPT_WEP LIB80211_CRYPT_CCMP LIB80211_CRYPT_TKIP
1203
1204 config-$(call config_package,ath) += ATH_CARDS ATH_COMMON
1205 config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG
1206
1207 config-$(call config_package,ath9k) += ATH9K
1208 config-$(call config_package,ath9k-common) += ATH9K_COMMON
1209 config-$(CONFIG_TARGET_ar71xx) += ATH9K_AHB
1210 config-$(CONFIG_PCI) += ATH9K_PCI
1211 config-$(CONFIG_ATH_USER_REGD) += ATH_USER_REGD
1212
1213 config-$(call config_package,ath9k-htc) += ATH9K_HTC
1214
1215 config-$(call config_package,ath5k) += ATH5K
1216 ifdef CONFIG_TARGET_atheros
1217   config-y += ATH5K_AHB
1218 else
1219   config-y += ATH5K_PCI
1220 endif
1221
1222 config-$(call config_package,carl9170) += CARL9170
1223
1224 config-$(call config_package,b43) += B43
1225 config-y += B43_SSB B43_BCMA B43_PHY_LP
1226 config-$(CONFIG_PACKAGE_B43_PHY_N) += B43_PHY_N
1227 config-$(CONFIG_PACKAGE_B43_PHY_HT) += B43_PHY_HT
1228 config-$(CONFIG_PACKAGE_B43_PIO) += B43_PIO
1229 config-$(CONFIG_PACKAGE_B43_DEBUG) += B43_DEBUG
1230
1231 config-$(call config_package,b43legacy) += B43LEGACY
1232 config-y += B43LEGACY_DMA_MODE
1233
1234 config-$(call config_package,brcmutil) += BRCMUTIL
1235 config-$(call config_package,brcmsmac) += BRCMSMAC
1236 config-$(call config_package,brcmfmac) += BRCMFMAC BRCMFMAC_USB
1237 config-$(CONFIG_PACKAGE_BRCM80211_DEBUG) += BRCMDBG
1238
1239 config-$(call config_package,mac80211-hwsim) += MAC80211_HWSIM
1240
1241 config-$(call config_package,rt2x00-lib) += RT2X00 RT2X00_LIB
1242 config-$(call config_package,rt2x00-pci) += RT2X00_LIB_PCI
1243 config-$(call config_package,rt2x00-mmio) += RT2X00_LIB_MMIO
1244 config-$(call config_package,rt2x00-usb) += RT2X00_LIB_USB
1245 config-$(call config_package,rt2x00-soc) += RT2X00_LIB_SOC
1246 config-$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) += RT2X00_LIB_DEBUGFS
1247 config-$(CONFIG_PACKAGE_RT2X00_DEBUG) += RT2X00_DEBUG
1248
1249 config-$(call config_package,rt2400-pci) += RT2400PCI
1250 config-$(call config_package,rt2500-pci) += RT2500PCI
1251 config-$(call config_package,rt2500-usb) += RT2500USB
1252 config-$(call config_package,rt61-pci) += RT61PCI
1253 config-$(call config_package,rt73-usb) += RT73USB
1254
1255 config-$(call config_package,rt2800-lib) += RT2800_LIB
1256 config-y += RT2800PCI_RT33XX RT2800PCI_RT35XX RT2800PCI_RT53XX RT2800PCI_RT3290
1257
1258 config-$(call config_package,rt2800-pci) += RT2800PCI
1259 config-$(call config_package,rt2800-usb) += RT2800USB
1260
1261 config-$(call config_package,iwl-legacy) += IWLEGACY
1262 config-$(call config_package,iwl3945) += IWL3945
1263 config-$(call config_package,iwl4965) += IWL4965
1264 config-$(call config_package,iwlagn) += IWLWIFI
1265
1266 config-$(call config_package,net-libipw) += LIBIPW
1267 config-$(call config_package,net-ipw2100) += IPW2100
1268 config-$(call config_package,net-ipw2200) += IPW2200
1269
1270 config-$(call config_package,p54-common) += P54_COMMON
1271 config-$(call config_package,p54-pci) += P54_PCI
1272 config-$(call config_package,p54-usb) += P54_USB
1273 config-$(call config_package,p54-spi) += P54_SPI
1274
1275 config-$(call config_package,net-hermes) += HERMES
1276 config-$(call config_package,net-hermes-pci) += PCI_HERMES
1277 config-$(call config_package,net-hermes-plx) += PLX_HERMES
1278 config-$(call config_package,net-hermes-pcmcia) += PCMCIA_HERMES
1279 config-y += HERMES_PRISM
1280
1281 config-$(call config_package,adm8211) += ADM8211
1282 config-$(call config_package,libertas-sd) += LIBERTAS LIBERTAS_SDIO
1283 config-$(call config_package,libertas-usb) += LIBERTAS LIBERTAS_USB
1284 config-$(call config_package,mwl8k) += MWL8K
1285 config-$(call config_package,rtl8180) += RTL8180
1286 config-$(call config_package,rtl8187) += RTL8187
1287 config-$(call config_package,wl12xx) += WL_TI WLCORE WLCORE_SDIO WL12XX
1288 config-$(call config_package,zd1211rw) += ZD1211RW
1289
1290 config-$(CONFIG_LEDS_TRIGGERS) += MAC80211_LEDS B43_LEDS B43LEGACY_LEDS
1291
1292 MAKE_OPTS:= -C "$(PKG_BUILD_DIR)" \
1293         CROSS_COMPILE="$(KERNEL_CROSS)" \
1294         ARCH="$(LINUX_KARCH)" \
1295         EXTRA_CFLAGS="-I$(PKG_BUILD_DIR)/include" \
1296         KLIB_BUILD="$(LINUX_DIR)" \
1297         MODPROBE=true \
1298         KLIB=$(TARGET_MODULES_DIR) \
1299         KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \
1300         KBUILD_LDFLAGS_MODULE_PREREQ=
1301
1302 define ConfigVars
1303 $(subst $(space),,$(foreach opt,$(config-$(1)),CPTCFG_$(opt)=$(1)
1304 ))
1305 endef
1306
1307 define mac80211_config
1308 $(call ConfigVars,m)$(call ConfigVars,y)
1309 endef
1310 $(eval $(call shexport,mac80211_config))
1311
1312 define Build/Prepare
1313         rm -rf $(PKG_BUILD_DIR)
1314         mkdir -p $(PKG_BUILD_DIR)
1315         $(PKG_UNPACK)
1316         $(Build/Patch)
1317         $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
1318         $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
1319         $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
1320         $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(PKG_LINUX_FIRMWARE_SOURCE)
1321         rm -rf \
1322                 $(PKG_BUILD_DIR)/include/linux/ssb \
1323                 $(PKG_BUILD_DIR)/include/linux/bcma \
1324                 $(PKG_BUILD_DIR)/include/net/bluetooth
1325
1326         rm -f \
1327                 $(PKG_BUILD_DIR)/include/linux/cordic.h \
1328                 $(PKG_BUILD_DIR)/include/linux/crc8.h \
1329                 $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h \
1330                 $(PKG_BUILD_DIR)/include/linux/wl12xx.h \
1331                 $(PKG_BUILD_DIR)/include/linux/spi/libertas_spi.h \
1332                 $(PKG_BUILD_DIR)/include/net/ieee80211.h
1333
1334         echo 'compat-wireless-$(PKG_VERSION)-$(PKG_RELEASE)-$(REVISION)' > $(PKG_BUILD_DIR)/compat_version
1335         $(CP) ./files/regdb.txt $(PKG_BUILD_DIR)/net/wireless/db.txt
1336 endef
1337
1338 ifneq ($(CONFIG_PACKAGE_kmod-cfg80211)$(CONFIG_PACKAGE_kmod-lib80211),)
1339  define Build/Compile/kmod
1340         rm -rf $(PKG_BUILD_DIR)/modules
1341         +$(MAKE) $(PKG_JOBS) $(MAKE_OPTS) modules
1342  endef
1343 endif
1344
1345 define Build/Configure
1346         cmp $(PKG_BUILD_DIR)/include/linux/ath9k_platform.h $(LINUX_DIR)/include/linux/ath9k_platform.h
1347         cmp $(PKG_BUILD_DIR)/include/linux/ath5k_platform.h $(LINUX_DIR)/include/linux/ath5k_platform.h
1348         cmp $(PKG_BUILD_DIR)/include/linux/rt2x00_platform.h $(LINUX_DIR)/include/linux/rt2x00_platform.h
1349 endef
1350
1351 define Build/Compile
1352         $(SH_FUNC) var2file "$(call shvar,mac80211_config)" $(PKG_BUILD_DIR)/.config
1353         $(MAKE) $(MAKE_OPTS) allnoconfig
1354         $(call Build/Compile/kmod)
1355 endef
1356
1357 define Build/InstallDev
1358         mkdir -p \
1359                 $(1)/usr/include/mac80211 \
1360                 $(1)/usr/include/mac80211-backport \
1361                 $(1)/usr/include/mac80211/ath \
1362                 $(1)/usr/include/net/mac80211
1363         $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
1364         $(CP) $(PKG_BUILD_DIR)/backport-include/* $(1)/usr/include/mac80211-backport/
1365         $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
1366         $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
1367 endef
1368
1369 define KernelPackage/libertas-usb/install
1370         $(INSTALL_DIR) $(1)/lib/firmware/libertas
1371         $(INSTALL_DATA) \
1372                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8388_v9.bin \
1373                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8682.bin \
1374                 $(1)/lib/firmware/libertas/
1375 endef
1376
1377 define KernelPackage/libertas-sd/install
1378         $(INSTALL_DIR) $(1)/lib/firmware/libertas
1379         $(INSTALL_DATA) \
1380                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8385_helper.bin \
1381                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8385.bin \
1382                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v9_helper.bin \
1383                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v9.bin \
1384                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8688_helper.bin \
1385                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8688.bin \
1386                 $(1)/lib/firmware/libertas
1387 endef
1388
1389 define KernelPackage/cfg80211/install
1390         $(INSTALL_DIR) $(1)/lib/wifi
1391         $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
1392 endef
1393
1394 define KernelPackage/p54-pci/install
1395         $(INSTALL_DIR) $(1)/lib/firmware
1396         $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
1397 endef
1398
1399 define KernelPackage/p54-usb/install
1400         $(INSTALL_DIR) $(1)/lib/firmware
1401         $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
1402 endef
1403
1404 define KernelPackage/p54-spi/install
1405         $(INSTALL_DIR) $(1)/lib/firmware
1406         $(INSTALL_DATA) $(DL_DIR)/$(P54SPIFW) $(1)/lib/firmware/3826.arm
1407 endef
1408
1409 define KernelPackage/rt61-pci/install
1410         $(INSTALL_DIR) $(1)/lib/firmware
1411         $(INSTALL_DATA) \
1412                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2561.bin \
1413                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2561s.bin \
1414                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2661.bin \
1415                 $(1)/lib/firmware/
1416 endef
1417
1418 define KernelPackage/rt73-usb/install
1419         $(INSTALL_DIR) $(1)/lib/firmware
1420         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt73.bin $(1)/lib/firmware/
1421 endef
1422
1423 define KernelPackage/rt2800-pci/install
1424         $(INSTALL_DIR) $(1)/lib/firmware
1425         $(INSTALL_DATA) \
1426                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2860.bin \
1427                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt3290.bin \
1428                 $(1)/lib/firmware
1429 endef
1430
1431 define KernelPackage/rt2800-usb/install
1432         $(INSTALL_DIR) $(1)/lib/firmware
1433         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2870.bin $(1)/lib/firmware/
1434 endef
1435
1436 define KernelPackage/wl12xx/install
1437         $(INSTALL_DIR) $(1)/lib/firmware/ti-connectivity
1438         $(INSTALL_DATA) \
1439                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-5-mr.bin \
1440                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-5-plt.bin \
1441                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-5-sr.bin \
1442                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl1271-nvs.bin \
1443                 $(1)/lib/firmware/ti-connectivity
1444 endef
1445
1446
1447 define KernelPackage/zd1211rw/install
1448         $(INSTALL_DIR) $(1)/lib/firmware/zd1211
1449         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
1450 endef
1451
1452 define KernelPackage/ath9k-htc/install
1453         $(INSTALL_DIR) $(1)/lib/firmware
1454         $(INSTALL_DATA) \
1455                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/htc_9271.fw \
1456                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/htc_7010.fw \
1457                 $(1)/lib/firmware/
1458 endef
1459
1460 define KernelPackage/mwl8k/install
1461         $(INSTALL_DIR) $(1)/lib/firmware/mwl8k
1462         $(INSTALL_DATA) \
1463                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366_ap-3.fw \
1464                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366.fw \
1465                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8366.fw \
1466                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8687.fw \
1467                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8687.fw \
1468                 $(1)/lib/firmware/mwl8k/
1469 endef
1470
1471 define KernelPackage/net-ipw2100/install
1472         $(INSTALL_DIR) $(1)/lib/firmware
1473         $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
1474 endef
1475
1476 define KernelPackage/net-ipw2200/install
1477         $(INSTALL_DIR) $(1)/lib/firmware
1478         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
1479 endef
1480
1481 define KernelPackage/iwlagn/install
1482         $(INSTALL_DIR) $(1)/lib/firmware
1483 ifneq ($(CONFIG_IWL5000_FW),)
1484         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5000-5.ucode $(1)/lib/firmware
1485 endif
1486 ifneq ($(CONFIG_IWL5150_FW),)
1487         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5150-2.ucode $(1)/lib/firmware
1488 endif
1489 ifneq ($(CONFIG_IWL1000_FW),)
1490         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-1000-5.ucode $(1)/lib/firmware
1491 endif
1492 ifneq ($(CONFIG_IWL6000_FW),)
1493         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000-4.ucode $(1)/lib/firmware
1494 endif
1495 ifneq ($(CONFIG_IWL6050_FW),)
1496         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6050-5.ucode $(1)/lib/firmware
1497 endif
1498 ifneq ($(CONFIG_IWL6005_FW),)
1499         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2a-6.ucode $(1)/lib/firmware
1500 endif
1501 ifneq ($(CONFIG_IWL6030_FW),)
1502         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2b-6.ucode $(1)/lib/firmware
1503 endif
1504 ifneq ($(CONFIG_IWL100_FW),)
1505         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-100-5.ucode $(1)/lib/firmware
1506 endif
1507 ifneq ($(CONFIG_IWL2000_FW),)
1508         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-2000-6.ucode $(1)/lib/firmware
1509 endif
1510 ifneq ($(CONFIG_IWL2030_FW),)
1511         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-2030-6.ucode $(1)/lib/firmware
1512 endif
1513 ifneq ($(CONFIG_IWL105_FW),)
1514         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-105-6.ucode $(1)/lib/firmware
1515 endif
1516 ifneq ($(CONFIG_IWL135_FW),)
1517         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-135-6.ucode $(1)/lib/firmware
1518 endif
1519 endef
1520
1521 define KernelPackage/iwl3945/install
1522         $(INSTALL_DIR) $(1)/lib/firmware
1523         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-3945-2.ucode $(1)/lib/firmware
1524 endef
1525
1526 define KernelPackage/iwl4965/install
1527         $(INSTALL_DIR) $(1)/lib/firmware
1528         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-4965-2.ucode $(1)/lib/firmware
1529 endef
1530
1531 define KernelPackage/b43/install
1532         rm -rf $(1)/lib/firmware/
1533 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1534         tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1535 else
1536         tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1537 endif
1538         $(INSTALL_DIR) $(1)/lib/firmware/
1539 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1540         $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
1541         $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
1542         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
1543         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
1544         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
1545 else
1546         b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
1547 endif
1548 ifneq ($(CONFIG_B43_FW_SQUASH),)
1549         b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
1550 endif
1551 endef
1552
1553 define KernelPackage/b43legacy/install
1554         $(INSTALL_DIR) $(1)/lib/firmware/
1555         b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
1556 ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
1557         b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy"
1558 endif
1559 endef
1560
1561 define KernelPackage/brcmsmac/install
1562         $(INSTALL_DIR) $(1)/lib/firmware/brcm
1563 ifeq ($(CONFIG_BRCMSMAC_USE_FW_FROM_WL),y)
1564         tar xjf "$(DL_DIR)/$(PKG_BRCMSMAC_FW_SOURCE)" -C "$(PKG_BUILD_DIR)"
1565         b43-fwcutter --brcmsmac -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_BRCMSMAC_FW_OBJECT)
1566 else
1567         $(INSTALL_DATA) \
1568                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx-0.fw \
1569                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx_hdr-0.fw \
1570                 $(1)/lib/firmware/brcm/
1571 endif
1572 endef
1573
1574 define KernelPackage/brcmfmac/install
1575         $(INSTALL_DIR) $(1)/lib/firmware/brcm
1576         $(INSTALL_DATA) \
1577                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/brcmfmac43236b.bin \
1578                 $(1)/lib/firmware/brcm/
1579 endef
1580
1581 $(eval $(call KernelPackage,adm8211))
1582 $(eval $(call KernelPackage,ath5k))
1583 $(eval $(call KernelPackage,lib80211))
1584 $(eval $(call KernelPackage,libertas-usb))
1585 $(eval $(call KernelPackage,libertas-sd))
1586 $(eval $(call KernelPackage,cfg80211))
1587 $(eval $(call KernelPackage,mac80211))
1588 $(eval $(call KernelPackage,p54-common))
1589 $(eval $(call KernelPackage,p54-pci))
1590 $(eval $(call KernelPackage,p54-usb))
1591 $(eval $(call KernelPackage,p54-spi))
1592 $(eval $(call KernelPackage,rt2x00-lib))
1593 $(eval $(call KernelPackage,rt2x00-mmio))
1594 $(eval $(call KernelPackage,rt2x00-pci))
1595 $(eval $(call KernelPackage,rt2x00-usb))
1596 $(eval $(call KernelPackage,rt2x00-soc))
1597 $(eval $(call KernelPackage,rt2800-lib))
1598 $(eval $(call KernelPackage,rt2400-pci))
1599 $(eval $(call KernelPackage,rt2500-pci))
1600 $(eval $(call KernelPackage,rt2500-usb))
1601 $(eval $(call KernelPackage,rt61-pci))
1602 $(eval $(call KernelPackage,rt73-usb))
1603 $(eval $(call KernelPackage,rt2800-pci))
1604 $(eval $(call KernelPackage,rt2800-usb))
1605 $(eval $(call KernelPackage,rtl8180))
1606 $(eval $(call KernelPackage,rtl8187))
1607 $(eval $(call KernelPackage,zd1211rw))
1608 $(eval $(call KernelPackage,mac80211-hwsim))
1609 $(eval $(call KernelPackage,ath9k-common))
1610 $(eval $(call KernelPackage,ath9k))
1611 $(eval $(call KernelPackage,ath9k-htc))
1612 $(eval $(call KernelPackage,ath))
1613 $(eval $(call KernelPackage,carl9170))
1614 $(eval $(call KernelPackage,b43))
1615 $(eval $(call KernelPackage,b43legacy))
1616 $(eval $(call KernelPackage,brcmutil))
1617 $(eval $(call KernelPackage,brcmsmac))
1618 $(eval $(call KernelPackage,brcmfmac))
1619 $(eval $(call KernelPackage,net-libipw))
1620 $(eval $(call KernelPackage,net-ipw2100))
1621 $(eval $(call KernelPackage,net-ipw2200))
1622 $(eval $(call KernelPackage,iwlagn))
1623 $(eval $(call KernelPackage,iwl-legacy))
1624 $(eval $(call KernelPackage,iwl4965))
1625 $(eval $(call KernelPackage,iwl3945))
1626 $(eval $(call KernelPackage,mwl8k))
1627 $(eval $(call KernelPackage,net-hermes))
1628 $(eval $(call KernelPackage,net-hermes-pci))
1629 $(eval $(call KernelPackage,net-hermes-plx))
1630 $(eval $(call KernelPackage,net-hermes-pcmcia))
1631 $(eval $(call KernelPackage,wl12xx))