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