max80211: rt2x00: load the eeprom data from a file on Ralink SoCs
[openwrt.git] / package / mac80211 / Makefile
1 #
2 # Copyright (C) 2007-2010 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:=2011-06-22
14 PKG_RELEASE:=2
15 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
16 PKG_MD5SUM:=3ffdd5cecedcf4236f599bdbc55ba10d
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_DRIVERS = \
23         ath5k libertas-usb libertas-sd p54-common p54-pci p54-usb p54-spi \
24         rt2x00-lib rt2x00-pci rt2x00-usb rt2x00-soc rt2800-lib rt2400-pci \
25         rt2500-pci rt2500-usb rt61-pci rt73-usb rt2800-pci rt2800-usb \
26         rtl8180 rtl8187 zd1211rw mac80211-hwsim carl9170 b43 b43legacy \
27         ath9k-common ath9k ath9k-htc ath net-libipw net-ipw2100 net-ipw2200 \
28         mwl8k net-hermes net-hermes-pci net-hermes-plx net-hermes-pcmcia \
29         iwl-legacy iwl3945 iwl4965 iwlagn
30
31 PKG_CONFIG_DEPENDS:= \
32         CONFIG_PACKAGE_kmod-mac80211 \
33         $(patsubst %,CONFIG_PACKAGE_kmod-%,$(PKG_DRIVERS)) \
34         CONFIG_PACKAGE_MAC80211_DEBUGFS \
35         CONFIG_PACKAGE_ATH_DEBUG \
36         CONFIG_PACKAGE_B43_DEBUG \
37         CONFIG_PACKAGE_B43_PIO \
38         CONFIG_PACKAGE_B43_N_PHY \
39         CONFIG_ATH_USER_REGD \
40
41 CARL9170_FW_VERSION:=1.9.2
42
43 include $(INCLUDE_DIR)/package.mk
44
45 WMENU:=Wireless Drivers
46
47 define KernelPackage/mac80211/Default
48   SUBMENU:=$(WMENU)
49   URL:=http://linuxwireless.org/
50   MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
51   DEPENDS:=@(!(TARGET_avr32||TARGET_ep93xx||TARGET_ps3||TARGET_pxcab)||BROKEN)
52 endef
53
54 define KernelPackage/cfg80211
55   $(call KernelPackage/mac80211/Default)
56   TITLE:=cfg80211 - wireless configuration API
57   DEPENDS+= +wireless-tools +iw +crda
58 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.33)),1)
59   FILES:= \
60         $(PKG_BUILD_DIR)/compat/compat.ko \
61         $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
62   AUTOLOAD:=$(call AutoLoad,20,compat cfg80211)
63 else
64   FILES:= \
65         $(PKG_BUILD_DIR)/compat/compat.ko \
66         $(PKG_BUILD_DIR)/compat/compat_firmware_class.ko \
67         $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
68   AUTOLOAD:=$(call AutoLoad,20,compat compat_firmware_class cfg80211)
69 endif
70 endef
71
72 define KernelPackage/cfg80211/description
73 cfg80211 is the Linux wireless LAN (802.11) configuration API.
74 endef
75
76 define KernelPackage/mac80211
77   $(call KernelPackage/mac80211/Default)
78   TITLE:=Linux 802.11 Wireless Networking Stack
79   DEPENDS+= +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-cfg80211
80   KCONFIG:=\
81         CONFIG_AVERAGE=y
82   FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.ko
83   AUTOLOAD:=$(call AutoLoad,21,mac80211)
84   MENU:=1
85 endef
86
87 define KernelPackage/mac80211/config
88         menu "Configuration"
89                 depends on PACKAGE_kmod-mac80211
90
91         config PACKAGE_MAC80211_DEBUGFS
92                 bool "Export mac80211 internals in DebugFS"
93                 default y
94                 help
95                   Select this to see extensive information about
96                   the internal state of mac80211 in debugfs.
97
98                   Say N unless you know you need this.
99
100         endmenu
101 endef
102
103 define KernelPackage/mac80211/description
104 Generic IEEE 802.11 Networking Stack (mac80211)
105 endef
106
107 PKG_LINUX_FIRMWARE_NAME:=linux-firmware
108 PKG_LINUX_FIRMWARE_VERSION:=97649b1e5449029c845ebf7500e780a8867c3e89
109 PKG_LINUX_FIRMWARE_SOURCE:=$(PKG_LINUX_FIRMWARE_NAME)-$(PKG_LINUX_FIRMWARE_VERSION).tar.bz2
110 PKG_LINUX_FIRMWARE_PROTO:=git
111 PKG_LINUX_FIRMWARE_SOURCE_URL:=git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/linux-firmware.git
112 PKG_LINUX_FIRMWARE_SUBDIR:=$(PKG_LINUX_FIRMWARE_NAME)-$(PKG_LINUX_FIRMWARE_VERSION)
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 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:=9e33ac39dcd610aa1ad80bbf4f1abccf
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-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 NEED_RT2X00_LIB_CRYPTO:=y
200 NEED_RT2X00_LIB_FIRMWARE:=y
201 NEED_RT2X00_LIB_EEPROM:=y
202 NEED_RT2X00_LIB_HT:=y
203 NEED_RT2X00_LIB_LEDS:=y
204
205 define KernelPackage/rt2x00/Default
206   $(call KernelPackage/mac80211/Default)
207   TITLE:=Ralink Drivers for RT2x00 cards
208 endef
209
210 define KernelPackage/rt2x00-lib
211 $(call KernelPackage/rt2x00/Default)
212   DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-mac80211 +kmod-crc-itu-t
213   TITLE+= (LIB)
214   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00lib.ko
215   AUTOLOAD:=$(call AutoLoad,25,rt2x00lib)
216   MENU:=1
217 endef
218
219 define KernelPackage/rt2x00-lib/config
220         menu "Configuration"
221                 depends PACKAGE_kmod-rt2x00-lib
222
223         config PACKAGE_RT2X00_LIB_DEBUGFS
224                 bool "Enable rt2x00 debugfs support"
225                 depends PACKAGE_MAC80211_DEBUGFS
226                 help
227                   Enable creation of debugfs files for the rt2x00 drivers.
228                   These debugfs files support both reading and writing of the
229                   most important register types of the rt2x00 hardware.
230
231         config PACKAGE_RT2X00_DEBUG
232                 bool "Enable rt2x00 debug output"
233                 help
234                   Enable debugging output for all rt2x00 modules
235
236         endmenu
237 endef
238
239 define KernelPackage/rt2x00-pci
240 $(call KernelPackage/rt2x00/Default)
241   DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-eeprom-93cx6
242   TITLE+= (PCI)
243   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00pci.ko
244   AUTOLOAD:=$(call AutoLoad,26,rt2x00pci)
245 endef
246
247 define KernelPackage/rt2x00-usb
248 $(call KernelPackage/rt2x00/Default)
249   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
250   TITLE+= (USB)
251   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00usb.ko
252   AUTOLOAD:=$(call AutoLoad,26,rt2x00usb)
253 endef
254
255 define KernelPackage/rt2x00-soc
256 $(call KernelPackage/rt2x00/Default)
257   DEPENDS+= @TARGET_ramips +kmod-rt2x00-lib
258   TITLE+= (SoC)
259   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00soc.ko
260   AUTOLOAD:=$(call AutoLoad,26,rt2x00soc)
261 endef
262
263 define KernelPackage/rt2800-lib
264 $(call KernelPackage/rt2x00/Default)
265   DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +TARGET_ramips:kmod-rt2x00-soc +@DRIVER_11N_SUPPORT
266   TITLE+= (rt2800 LIB)
267   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800lib.ko
268   AUTOLOAD:=$(call AutoLoad,27,rt2800lib)
269 endef
270
271 define KernelPackage/rt2400-pci
272 $(call KernelPackage/rt2x00/Default)
273   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
274   TITLE+= (RT2400 PCI)
275   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2400pci.ko
276   AUTOLOAD:=$(call AutoLoad,27,rt2400pci)
277 endef
278
279 define KernelPackage/rt2500-pci
280 $(call KernelPackage/rt2x00/Default)
281   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
282   TITLE+= (RT2500 PCI)
283   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500pci.ko
284   AUTOLOAD:=$(call AutoLoad,27,rt2500pci)
285 endef
286
287 define KernelPackage/rt2500-usb
288 $(call KernelPackage/rt2x00/Default)
289   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
290   TITLE+= (RT2500 USB)
291   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500usb.ko
292   AUTOLOAD:=$(call AutoLoad,27,rt2500usb)
293 endef
294
295 define KernelPackage/rt61-pci
296 $(call KernelPackage/rt2x00/Default)
297   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
298   TITLE+= (RT2x61 PCI)
299   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt61pci.ko
300   AUTOLOAD:=$(call AutoLoad,27,rt61pci)
301 endef
302
303 define KernelPackage/rt73-usb
304   $(call KernelPackage/rt2x00/Default)
305   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
306   TITLE+= (RT73 USB)
307   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt73usb.ko
308   AUTOLOAD:=$(call AutoLoad,27,rt73usb)
309 endef
310
311 define KernelPackage/rt2800-pci
312 $(call KernelPackage/rt2x00/Default)
313   DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-pci +kmod-rt2800-lib +kmod-crc-ccitt +TARGET_ramips:kmod-rt2x00-soc
314   TITLE+= (RT2860 PCI)
315   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800pci.ko
316   AUTOLOAD:=$(call AutoLoad,28,rt2800pci)
317 endef
318
319 define KernelPackage/rt2800-usb
320 $(call KernelPackage/rt2x00/Default)
321   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb +kmod-rt2800-lib +kmod-crc-ccitt
322   TITLE+= (RT2870 USB)
323   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800usb.ko
324   AUTOLOAD:=$(call AutoLoad,28,rt2800usb)
325 endef
326
327 define KernelPackage/rtl818x/Default
328   $(call KernelPackage/mac80211/Default)
329   TITLE:=Realtek Drivers for RTL818x devices
330   URL:=http://wireless.kernel.org/en/users/Drivers/rtl8187
331   DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211
332 endef
333
334 define KernelPackage/rtl8180
335   $(call KernelPackage/rtl818x/Default)
336   DEPENDS+= @PCI_SUPPORT
337   TITLE+= (RTL8180 PCI)
338   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8180/rtl8180.ko
339   AUTOLOAD:=$(call AutoLoad,27,rtl8180)
340 endef
341
342 define KernelPackage/rtl8187
343 $(call KernelPackage/rtl818x/Default)
344   DEPENDS+= @USB_SUPPORT +kmod-usb-core
345   TITLE+= (RTL8187 USB)
346   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko
347   AUTOLOAD:=$(call AutoLoad,27,rtl8187)
348 endef
349
350 ZD1211FW_NAME:=zd1211-firmware
351 ZD1211FW_VERSION:=1.4
352 define Download/zd1211rw
353   FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
354   URL:=@SF/zd1211/
355   MD5SUM:=19f28781d76569af8551c9d11294c870
356 endef
357 $(eval $(call Download,zd1211rw))
358
359 define KernelPackage/zd1211rw
360   $(call KernelPackage/mac80211/Default)
361   TITLE:=Zydas ZD1211 support
362   DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
363   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zd1211rw/zd1211rw.ko
364   AUTOLOAD:=$(call AutoLoad,60,zd1211rw)
365 endef
366
367 define KernelPackage/ath/config
368         menu "Configuration"
369                 depends on PACKAGE_kmod-ath
370
371         config ATH_USER_REGD
372                 bool "Force Atheros drivers to respect the user's regdomain settings"
373                 help
374                   Atheros' idea of regulatory handling is that the EEPROM of the card defines
375                   the regulatory limits and the user is only allowed to restrict the settings
376                   even further, even if the country allows frequencies or power levels that
377                   are forbidden by the EEPROM settings.
378
379                   Select this option if you want the driver to respect the user's decision about
380                   regulatory settings.
381
382         config PACKAGE_ATH_DEBUG
383                 bool "Atheros wireless debugging"
384                 help
385                   Say Y, if you want to debug atheros wireless drivers.
386                   Right now only ath9k makes use of this.
387
388         endmenu
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 +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||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,28,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 +@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/libertas-usb
473   $(call KernelPackage/mac80211/Default)
474   DEPENDS+= @USB_SUPPORT +kmod-mac80211 +kmod-usb-core +kmod-lib80211
475   TITLE:=Marvell 88W8015 Wireless Driver
476   FILES:= \
477         $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
478         $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/usb8xxx.ko
479   AUTOLOAD:=$(call AutoLoad,27,libertas usb8xxx)
480 endef
481
482 define KernelPackage/libertas-sd
483   $(call KernelPackage/mac80211/Default)
484   DEPENDS+= +kmod-mac80211 +kmod-lib80211 +@DRIVER_WEXT_SUPPORT
485   TITLE:=Marvell 88W8686 Wireless Driver
486   FILES:= \
487         $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
488         $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas_sdio.ko
489   AUTOLOAD:=$(call AutoLoad,91,libertas libertas_sdio)
490 endef
491
492 define KernelPackage/mac80211-hwsim
493   $(call KernelPackage/mac80211/Default)
494   TITLE:=mac80211 HW simulation device
495   DEPENDS+= +kmod-mac80211
496   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.ko
497   AUTOLOAD:=$(call AutoLoad,60,mac80211_hwsim)
498 endef
499
500 define KernelPackage/net-libipw
501   $(call KernelPackage/mac80211/Default)
502   TITLE:=libipw for ipw2100 and ipw2200
503   DEPENDS:=@PCI_SUPPORT +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 +kmod-cfg80211
504   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/libipw.ko
505   AUTOLOAD:=$(call AutoLoad,49,libipw)
506 endef
507
508 define KernelPackage/net-libipw/description
509  Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
510 endef
511
512 IPW2100_NAME:=ipw2100-fw
513 IPW2100_VERSION:=1.3
514
515 define Download/net-ipw2100
516   URL:=http://bughost.org/firmware/
517   FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
518   MD5SUM=46aa75bcda1a00efa841f9707bbbd113
519 endef
520 $(eval $(call Download,net-ipw2100))
521
522 define KernelPackage/net-ipw2100
523   $(call KernelPackage/mac80211/Default)
524   TITLE:=Intel IPW2100 driver
525   DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
526   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2100.ko
527   AUTOLOAD:=$(call AutoLoad,50,ipw2100)
528 endef
529
530 define KernelPackage/net-ipw2100/description
531  Kernel support for Intel IPW2100
532  Includes:
533  - ipw2100
534 endef
535
536 IPW2200_NAME:=ipw2200-fw
537 IPW2200_VERSION:=3.1
538
539 define Download/net-ipw2200
540   URL:=http://bughost.org/firmware/
541   FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
542   MD5SUM=eaba788643c7cc7483dd67ace70f6e99
543 endef
544 $(eval $(call Download,net-ipw2200))
545
546 define KernelPackage/net-ipw2200
547   $(call KernelPackage/mac80211/Default)
548   TITLE:=Intel IPW2200 driver
549   DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
550   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2200.ko
551   AUTOLOAD:=$(call AutoLoad,50,ipw2200)
552 endef
553
554 define KernelPackage/net-ipw2200/description
555  Kernel support for Intel IPW2200
556  Includes:
557  - ipw2200
558 endef
559
560
561 define KernelPackage/net-hermes
562   $(call KernelPackage/mac80211/Default)
563   TITLE:=Hermes 802.11b chipset support
564   DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT
565   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco.ko
566   AUTOLOAD:=$(call AutoLoad,50,orinoco)
567 endef
568
569 define KernelPackage/net-hermes/description
570  Kernel support for Hermes 802.11b chipsets
571 endef
572
573 define KernelPackage/net-hermes-pci
574   $(call KernelPackage/mac80211/Default)
575   TITLE:=Intersil Prism 2.5 PCI support
576   DEPENDS:=@PCI_SUPPORT +kmod-net-hermes +kmod-cfg80211
577   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_pci.ko
578   AUTOLOAD:=$(call AutoLoad,55,orinoco_pci)
579 endef
580
581 define KernelPackage/net-hermes-pci/description
582  Kernel modules for Intersil Prism 2.5 PCI support
583 endef
584
585 define KernelPackage/net-hermes-plx
586   $(call KernelPackage/mac80211/Default)
587   TITLE:=PLX9052 based PCI adaptor
588   DEPENDS:=@PCI_SUPPORT +kmod-net-hermes +kmod-cfg80211
589   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_plx.ko
590   AUTOLOAD:=$(call AutoLoad,55,orinoco_plx)
591 endef
592
593 define KernelPackage/net-hermes-plx/description
594  Kernel modules for Hermes in PLX9052 based PCI adaptors
595 endef
596
597 define KernelPackage/net-hermes-pcmcia
598   $(call KernelPackage/mac80211/Default)
599   TITLE:=Hermes based PCMCIA adaptors
600   DEPENDS:=@PCMCIA_SUPPORT +kmod-net-hermes +kmod-cfg80211 @BROKEN
601   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_cs.ko
602   AUTOLOAD:=$(call AutoLoad,55,orinoco_cs)
603 endef
604
605 define KernelPackage/net-hermes-pcmcia/description
606  Kernel modules for Hermes based PCMCIA adaptors
607 endef
608
609 define KernelPackage/iwlagn
610   $(call KernelPackage/mac80211/Default)
611   DEPENDS:= +kmod-mac80211 @PCI_SUPPORT
612   TITLE:=Intel AGN Wireless support
613   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlwifi/iwlagn.$(LINUX_KMOD_SUFFIX)
614   AUTOLOAD:=$(call AutoLoad,60,iwlagn)
615   MENU:=1
616 endef
617
618 define KernelPackage/iwlagn/description
619  iwlagn kernel module for Intel 5000/5150/1000/6000/6050/6005/6030/100 support
620 endef
621
622 define KernelPackage/iwlagn/config
623         menu "Configuration"
624                 depends on PACKAGE_kmod-iwlagn
625
626         config IWL5000_FW
627                 bool "Intel 5000 Firmware"
628                 default y
629                 help
630                   Download and install firmware for:
631                     Intel 5000 wireless card into /lib/firmware.
632
633         config IWL5150_FW
634                 bool "Intel 5150 Firmware"
635                 default y
636                 help
637                   Download and install firmware for:
638                     Intel 5150 wireless card into /lib/firmware.
639
640         config IWL1000_FW
641                 bool "Intel 1000 Firmware"
642                 default y
643                 help
644                   Download and install firmware for:
645                     Intel 1000 wireless card into /lib/firmware.
646
647         config IWL6000_FW
648                 bool "Intel 6000 Firmware"
649                 default y
650                 help
651                   Download and install firmware for:
652                     Intel 6000 wireless card into /lib/firmware.
653
654         config IWL6050_FW
655                 bool "Intel 6050 Firmware"
656                 default y
657                 help
658                   Download and install firmware for:
659                     Intel 6050 wireless card into /lib/firmware.
660
661         config IWL6005_FW
662                 bool "Intel 6005 Firmware"
663                 default y
664                 help
665                   Download and install firmware for:
666                     Intel 6005 wireless card into /lib/firmware.
667
668         config IWL6030_FW
669                 bool "Intel 6030 Firmware"
670                 default y
671                 help
672                   Download and install firmware for:
673                     Intel 6030 wireless card into /lib/firmware.
674
675         config IWL100_FW
676                 bool "Intel 100 Firmware"
677                 default y
678                 help
679                   Download and install firmware for:
680                     Intel 100 wireless card into /lib/firmware.
681
682         endmenu
683 endef
684
685 define KernelPackage/iwl-legacy
686   $(call KernelPackage/mac80211/Default)
687   DEPENDS:= +kmod-mac80211 @PCI_SUPPORT
688   TITLE:=Intel legacy Wireless support
689   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl-legacy.$(LINUX_KMOD_SUFFIX)
690   AUTOLOAD:=$(call AutoLoad,60,iwl-legacy)
691 endef
692
693 define KernelPackage/iwl-legacy/description
694  iwl-legacy kernel module for legacy Intel wireless support
695 endef
696
697 define KernelPackage/iwl3945
698   $(call KernelPackage/mac80211/Default)
699   DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy
700   TITLE:=Intel iwl3945 Wireless support
701   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl3945.$(LINUX_KMOD_SUFFIX)
702   AUTOLOAD:=$(call AutoLoad,61,iwl3945)
703 endef
704
705 define KernelPackage/iwl3945/description
706  iwl3945 kernel module for Intel 3945 support
707 endef
708
709 define KernelPackage/iwl4965
710   $(call KernelPackage/mac80211/Default)
711   DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy
712   TITLE:=Intel iwl4965 Wireless support
713   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl4965.$(LINUX_KMOD_SUFFIX)
714   AUTOLOAD:=$(call AutoLoad,61,iwl4965)
715 endef
716
717 define KernelPackage/iwl4965/description
718  iwl4965 kernel module for Intel 4965 support
719 endef
720
721
722 define KernelPackage/mwl8k
723   $(call KernelPackage/mac80211/Default)
724   TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards
725   URL:=http://wireless.kernel.org/en/users/Drivers/mwl8k
726   DEPENDS+= @PCI_SUPPORT +kmod-mac80211
727   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mwl8k.ko
728   AUTOLOAD:=$(call AutoLoad,27,mwl8k)
729 endef
730
731 define KernelPackage/mwl8k/description
732  Kernel modules for Marvell TOPDOG 802.11 Wireless cards
733 endef
734
735 #Broadcom firmware
736 ifneq ($(CONFIG_B43_FW_5_10),)
737   PKG_B43_FWV4_NAME:=broadcom-wl
738   PKG_B43_FWV4_VERSION:=5.10.56.27.3
739   PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta/wl_prebuilt.o
740   PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)_mipsel.tar.bz2
741   PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
742   PKG_B43_FWV4_MD5SUM:=3363e3a6b3d9d73c49dea870c7834eac
743 else
744 ifneq ($(CONFIG_B43_FW_4_178),)
745   PKG_B43_FWV4_NAME:=broadcom-wl
746   PKG_B43_FWV4_VERSION:=4.178.10.4
747   PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
748   PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
749   PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
750   PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
751 else
752   PKG_B43_FWV4_NAME:=broadcom-wl
753   PKG_B43_FWV4_VERSION:=4.150.10.5
754   PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
755   PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
756   PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
757   PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
758 endif
759 endif
760 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
761   PKG_B43_FWV4_NAME:=broadcom-wl
762   PKG_B43_FWV4_VERSION:=5.2
763   PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
764   PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
765   PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
766   PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
767 endif
768
769
770 PKG_B43_FWV3_NAME:=wl_apsta
771 PKG_B43_FWV3_VERSION:=3.130.20.0
772 PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o
773 PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/
774 PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3
775
776 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
777   PKG_B43_FWCUTTER_NAME:=b43-fwcutter
778   PKG_B43_FWCUTTER_VERSION:=3e69531aa65b8f664a0ab00dfc3e2eefeb0cb417
779   PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
780   PKG_B43_FWCUTTER_PROTO:=git
781   PKG_B43_FWCUTTER_SOURCE_URL:=http://git.bu3sch.de/git/b43-tools.git
782   PKG_B43_FWCUTTER_SUBDIR:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)
783   PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/fwcutter/
784 else
785   PKG_B43_FWCUTTER_NAME:=b43-fwcutter
786   PKG_B43_FWCUTTER_VERSION:=014
787   PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
788   PKG_B43_FWCUTTER_PROTO:=default
789   PKG_B43_FWCUTTER_SOURCE_URL:=http://bu3sch.de/b43/fwcutter/
790   PKG_B43_FWCUTTER_MD5SUM:=dd63f9149510bd6e01b89314e955083b
791   PKG_B43_FWCUTTER_SUBDIR:=b43-fwcutter-$(PKG_B43_FWCUTTER_VERSION)
792   PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/
793 endif
794
795 define Download/b43-common
796   FILE:=$(PKG_B43_FWCUTTER_SOURCE)
797   URL:=$(PKG_B43_FWCUTTER_SOURCE_URL)
798   MD5SUM:=$(PKG_B43_FWCUTTER_MD5SUM)
799   PROTO:=$(PKG_B43_FWCUTTER_PROTO)
800   VERSION:=$(PKG_B43_FWCUTTER_VERSION)
801   SUBDIR:=$(PKG_B43_FWCUTTER_SUBDIR)
802 endef
803 $(eval $(call Download,b43-common))
804
805 define Download/b43
806   FILE:=$(PKG_B43_FWV4_SOURCE)
807   URL:=$(PKG_B43_FWV4_SOURCE_URL)
808   MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
809 endef
810 $(eval $(call Download,b43))
811
812 define Download/b43legacy
813   FILE:=$(PKG_B43_FWV3_SOURCE)
814   URL:=$(PKG_B43_FWV3_SOURCE_URL)
815   MD5SUM:=$(PKG_B43_FWV3_MD5SUM)
816 endef
817 $(eval $(call Download,b43legacy))
818
819 define KernelPackage/b43-common
820   $(call KernelPackage/mac80211/Default)
821   TITLE:=Generic stuff for Broadcom wireless devices
822   URL:=http://linuxwireless.org/en/users/Drivers/b43
823   KCONFIG:= \
824         CONFIG_HW_RANDOM=y
825   DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
826 endef
827
828 define KernelPackage/b43
829 $(call KernelPackage/b43-common)
830   TITLE:=Broadcom 43xx wireless support
831   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.ko
832   AUTOLOAD:=$(call AutoLoad,30,b43)
833   MENU:=1
834 endef
835
836 define KernelPackage/b43/config
837         menu "Configuration"
838                 depends on PACKAGE_kmod-b43
839
840         choice
841                 prompt "b43 firmware version"
842                 default B43_FW_4_150
843                 help
844                   This option allows you to select the version of the b43 firmware.
845
846         config B43_FW_4_150
847                 bool "Firmware 410.2160 from driver 4.150.10.5 (stable)"
848                 help
849                   Stable firmware for BCM43xx devices.
850
851                   If unsure, select this.
852
853         config B43_FW_4_178
854                 bool "Firmware 478.104 from driver 4.178.10.4"
855                 help
856                   Experimental firmware for BCM43xx devices.
857
858                   This firmware is not tested as much as the "stable" firmware.
859
860                   If unsure, select the "stable" firmware.
861
862         config B43_FW_5_10
863                 bool "Firmware 508.1084 from driver 5.10.56.27"
864                 help
865                   Newer experimental firmware for BCM43xx devices.
866
867                   This firmware is mostly untested. It is needed for some N-PHY devices.
868
869                   If unsure, select the "stable" firmware.
870
871         config B43_OPENFIRMWARE
872                 bool "Open FirmWare for WiFi networks"
873                 help
874                   Opensource firmware for BCM43xx devices.
875
876                   Do _not_ select this, unless you know what you are doing.
877                   The Opensource firmware is not suitable for embedded devices, yet.
878                   It does not support QoS, which is bad for AccessPoints.
879                   It does not support hardware crypto acceleration, which is a showstopper
880                   for embedded devices with low CPU resources.
881
882                   If unsure, select the "stable" firmware.
883
884         endchoice
885
886         config B43_FW_SQUASH
887                 bool "Remove unnecessary firmware files"
888                 depends on !B43_OPENFIRMWARE
889                 default y
890                 help
891                   This options allows you to remove unnecessary b43 firmware files
892                   from the final rootfs image. This can reduce the rootfs size by
893                   up to 200k.
894
895                   If unsure, say Y.
896
897         config B43_FW_SQUASH_COREREVS
898                 string "Core revisions to include"
899                 depends on B43_FW_SQUASH
900                 default "5,6,7,8,9,10,11,13,14,15,16" if PACKAGE_B43_PHY_N
901                 default "5,6,7,8,9,10,13,14,15" if !PACKAGE_B43_PHY_N
902                 help
903                   This is a comma seperated list of core revision numbers.
904
905                   Example (keep files for rev5 only):
906                     5
907
908                   Example (keep files for rev5 and rev11):
909                     5,11
910
911         config B43_FW_SQUASH_PHYTYPES
912                 string "PHY types to include"
913                 depends on B43_FW_SQUASH
914                 default "G,LP,N" if PACKAGE_B43_PHY_N
915                 default "G,LP" if !PACKAGE_B43_PHY_N
916                 help
917                   This is a comma seperated list of PHY types:
918                     A  => A-PHY
919                     AG => Dual A-PHY G-PHY
920                     G  => G-PHY
921                     LP => LP-PHY
922                     N  => N-PHY
923
924                   Example (keep files for G-PHY only):
925                     G
926
927                   Example (keep files for G-PHY and N-PHY):
928                     G,N
929
930         config PACKAGE_B43_DEBUG
931                 bool "Enable debug output and debugfs for b43"
932                 default n
933                 help
934                   Enable additional debug output and runtime sanity checks for b43
935                   and enables the debugfs interface.
936
937                   If unsure, say N.
938
939         config PACKAGE_B43_PIO
940                 bool "Enable support for PIO transfer mode"
941                 default n
942                 help
943                   Enable support for using PIO instead of DMA. Unless you have DMA
944                   transfer problems you don't need this.
945
946                   If unsure, say N.
947
948         config PACKAGE_B43_PHY_N
949                 bool "Enable support for N-PHYs"
950                 select B43_FW_5_10
951                 default n
952                 help
953                   Enable support for BCM4321 and BCM4322.
954
955                   Currently only 11g speed is available.
956
957                   If unsure, say N.
958
959         endmenu
960 endef
961
962 define KernelPackage/b43/description
963 Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
964 endef
965
966 define KernelPackage/b43legacy
967 $(call KernelPackage/b43-common)
968   TITLE:=Broadcom 43xx-legacy wireless support
969   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.ko
970   AUTOLOAD:=$(call AutoLoad,30,b43legacy)
971   MENU:=1
972 endef
973
974 define KernelPackage/b43legacy/config
975         menu "Configuration"
976                 depends on PACKAGE_kmod-b43legacy
977
978         config B43LEGACY_FW_SQUASH
979                 bool "Remove unnecessary firmware files"
980                 default y
981                 help
982                   This options allows you to remove unnecessary b43legacy firmware files
983                   from the final rootfs image. This can reduce the rootfs size by
984                   up to 50k.
985
986                   If unsure, say Y.
987
988         config B43LEGACY_FW_SQUASH_COREREVS
989                 string "Core revisions to include"
990                 depends on B43LEGACY_FW_SQUASH
991                 default "1,2,3,4"
992                 help
993                   This is a comma seperated list of core revision numbers.
994
995                   Example (keep files for rev4 only):
996                     4
997
998                   Example (keep files for rev2 and rev4):
999                     2,4
1000
1001         endmenu
1002 endef
1003
1004 define KernelPackage/b43legacy/description
1005 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
1006 endef
1007
1008 BUILDFLAGS:= \
1009         -I$(PKG_BUILD_DIR)/include \
1010         $(foreach opt,$(CONFOPTS),-DCONFIG_$(opt)) \
1011         $(if $(CONFIG_PCI),-DCONFIG_B43_PCI_AUTOSELECT -DCONFIG_B43_PCICORE_AUTOSELECT) \
1012         $(if $(CONFIG_LEDS_TRIGGERS), -DCONFIG_MAC80211_LEDS -DCONFIG_LEDS_TRIGGERS -DCONFIG_B43_LEDS -DCONFIG_B43LEGACY_LEDS) \
1013         -DCONFIG_B43_HWRNG -DCONFIG_B43LEGACY_HWRNG \
1014         $(if $(CONFIG_PCI),-DCONFIG_ATH9K_PCI) \
1015         $(if $(CONFIG_TARGET_ar71xx),-DCONFIG_ATH9K_AHB) \
1016         $(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS), -DCONFIG_CFG80211_DEBUGFS -DCONFIG_MAC80211_DEBUGFS -DCONFIG_ATH9K_DEBUGFS -DCONFIG_CARL9170_DEBUGFS -DCONFIG_ATH9K_HTC_DEBUGFS -DCONFIG_ATH5K_DEBUG) \
1017         $(if $(CONFIG_PACKAGE_ATH_DEBUG),-DCONFIG_ATH_DEBUG -DCONFIG_ATH9K_PKTLOG) \
1018         -D__CONFIG_MAC80211_RC_DEFAULT=minstrel \
1019         -DCONFIG_MAC80211_RC_MINSTREL_HT \
1020         $(if $(CONFIG_ATH_USER_REGD),-DATH_USER_REGD=1) \
1021         $(if $(CONFIG_PACKAGE_B43_DEBUG),-DCONFIG_B43_DEBUG) \
1022         $(if $(CONFIG_PACKAGE_B43_PIO),-DCONFIG_B43_PIO) \
1023         $(if $(CONFIG_PACKAGE_B43_PHY_N),-DCONFIG_B43_PHY_N) \
1024         $(if $(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS),-DCONFIG_RT2X00_LIB_DEBUGFS) \
1025         $(if $(CONFIG_PACKAGE_RT2X00_DEBUG),-DCONFIG_RT2X00_DEBUG) \
1026         $(if $(NEED_RT2X00_LIB_HT),-DCONFIG_RT2X00_LIB_HT) \
1027         $(if $(NEED_RT2X00_LIB_CRYPTO),-DCONFIG_RT2X00_LIB_CRYPTO) \
1028         $(if $(NEED_RT2X00_LIB_FIRMWARE),-DCONFIG_RT2X00_LIB_FIRMWARE) \
1029         $(if $(NEED_RT2X00_LIB_EEPROM),-DCONFIG_RT2X00_LIB_EEPROM) \
1030         $(if $(NEED_RT2X00_LIB_LEDS),-DCONFIG_RT2X00_LIB_LEDS) \
1031         $(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),-DCONFIG_RT2X00_LIB_PCI) \
1032         $(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),-DCONFIG_RT2X00_LIB_USB) \
1033         $(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),-DCONFIG_RT2X00_LIB_SOC) \
1034         $(if $(CONFIG_TARGET_atheros),-DCONFIG_ATH5K_AHB,-DCONFIG_ATH5K_PCI) \
1035         $(if $(CONFIG_PACKAGE_kmod-iwl3945),-DCONFIG_IWL3945) \
1036         $(if $(CONFIG_PACKAGE_kmod-iwl4965),-DCONFIG_COMPAT_IWL4965)
1037
1038 MAKE_OPTS:= \
1039         CROSS_COMPILE="$(KERNEL_CROSS)" \
1040         ARCH="$(LINUX_KARCH)" \
1041         EXTRA_CFLAGS="$(BUILDFLAGS)" \
1042         $(foreach opt,$(CONFOPTS),CONFIG_$(opt)=m) \
1043         CONFIG_MAC80211=$(if $(CONFIG_PACKAGE_kmod-mac80211),m) \
1044         CONFIG_MAC80211_RC_MINSTREL=y \
1045         CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \
1046         CONFIG_CFG80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1047         CONFIG_MAC80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1048         CONFIG_B43_PCMCIA=n CONFIG_B43_PIO=n \
1049         CONFIG_B43_PCI_AUTOSELECT=$(if $(CONFIG_PCI),y) \
1050         CONFIG_B43_PCICORE_AUTOSELECT=$(if $(CONFIG_PCI),y) \
1051         CONFIG_B43LEGACY_LEDS=$(CONFIG_LEDS_TRIGGERS) \
1052         CONFIG_B43_LEDS=$(CONFIG_LEDS_TRIGGERS) \
1053         CONFIG_B43_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
1054         CONFIG_B43LEGACY_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
1055         CONFIG_B43=$(if $(CONFIG_PACKAGE_kmod-b43),m) \
1056         CONFIG_B43LEGACY=$(if $(CONFIG_PACKAGE_kmod-b43legacy),m) \
1057         CONFIG_B43_DEBUG=$(if $(CONFIG_PACKAGE_B43_DEBUG),y) \
1058         CONFIG_B43_PIO=$(if $(CONFIG_PACKAGE_B43_PIO),y) \
1059         CONFIG_B43_PHY_N=$(if $(CONFIG_PACKAGE_B43_PHY_N),y) \
1060         CONFIG_ATH_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath),m) \
1061         CONFIG_ATH_DEBUG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
1062         CONFIG_ATH9K_PKTLOG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
1063         CONFIG_ATH5K=$(if $(CONFIG_PACKAGE_kmod-ath5k),m) \
1064         CONFIG_ATH5K_PCI=$(if $(CONFIG_TARGET_atheros),,y) \
1065         CONFIG_ATH5K_AHB=$(if $(CONFIG_TARGET_atheros),y) \
1066         CONFIG_ATH5K_DEBUG=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1067         CONFIG_ATH9K=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
1068         CONFIG_ATH9K_PCI=$(CONFIG_PCI) \
1069         CONFIG_ATH9K_AHB=$(if $(CONFIG_TARGET_ar71xx),y) \
1070         CONFIG_ATH9K_HTC=$(if $(CONFIG_PACKAGE_kmod-ath9k-htc),m) \
1071         CONFIG_ATH9K_HTC_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1072         CONFIG_ATH9K_HW=$(if $(CONFIG_PACKAGE_kmod-ath9k-common),m) \
1073         CONFIG_ATH9K_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath9k-common),m) \
1074         CONFIG_ATH9K_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1075         CONFIG_CARL9170=$(if $(CONFIG_PACKAGE_kmod-carl9170),m) \
1076         CONFIG_CARL9170_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1077         CONFIG_COMPAT_ZD1211RW=$(if $(CONFIG_PACKAGE_kmod-zd1211rw),m) \
1078         CONFIG_P54_COMMON=$(if $(CONFIG_PACKAGE_kmod-p54-common),m) \
1079         CONFIG_P54_PCI=$(if $(CONFIG_PACKAGE_kmod-p54-pci),m) \
1080         CONFIG_P54_USB=$(if $(CONFIG_PACKAGE_kmod-p54-usb),m) \
1081         CONFIG_P54_SPI=$(if $(CONFIG_PACKAGE_kmod-p54-spi),m) \
1082         CONFIG_P54_SPI_DEFAULT_EEPROM=n \
1083         CONFIG_RT2X00=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
1084         CONFIG_RT2X00_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
1085         CONFIG_RT2X00_LIB_PCI=$(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),m) \
1086         CONFIG_RT2X00_LIB_USB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),m) \
1087         CONFIG_RT2X00_LIB_SOC=$(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),m) \
1088         CONFIG_RT2X00_LIB_DEBUGFS=$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) \
1089         CONFIG_RT2X00_LIB_CRYPTO=$(NEED_RT2X00_LIB_CRYPTO) \
1090         CONFIG_RT2X00_LIB_FIRMWARE=$(NEED_RT2X00_LIB_FIRMWARE) \
1091         CONFIG_RT2X00_LIB_EEPROM=$(NEED_RT2X00_LIB_EEPROM) \
1092         CONFIG_RT2X00_LIB_HT=$(NEED_RT2X00_LIB_HT) \
1093         CONFIG_RT2X00_LIB_LEDS=$(NEED_RT2X00_LIB_LEDS) \
1094         CONFIG_RT2400PCI=$(if $(CONFIG_PACKAGE_kmod-rt2400-pci),m) \
1095         CONFIG_RT2500PCI=$(if $(CONFIG_PACKAGE_kmod-rt2500-pci),m) \
1096         CONFIG_RT2500USB=$(if $(CONFIG_PACKAGE_kmod-rt2500-usb),m) \
1097         CONFIG_RT61PCI=$(if $(CONFIG_PACKAGE_kmod-rt61-pci),m) \
1098         CONFIG_RT73USB=$(if $(CONFIG_PACKAGE_kmod-rt73-usb),m) \
1099         CONFIG_RT2800_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2800-lib),m) \
1100         CONFIG_RT2800PCI=$(if $(CONFIG_PACKAGE_kmod-rt2800-pci),m) \
1101         CONFIG_RT2800USB=$(if $(CONFIG_PACKAGE_kmod-rt2800-usb),m) \
1102         CONFIG_RTL8180=$(if $(CONFIG_PACKAGE_kmod-rtl8180),m) \
1103         CONFIG_RTL8187=$(if $(CONFIG_PACKAGE_kmod-rtl8187),m) \
1104         CONFIG_RTL8192CE= \
1105         CONFIG_RTLWIFI= \
1106         CONFIG_MAC80211_HWSIM=$(if $(CONFIG_PACKAGE_kmod-mac80211-hwsim),m) \
1107         CONFIG_PCMCIA= \
1108         CONFIG_LIBIPW=$(if $(CONFIG_PACKAGE_kmod-net-libipw),m) \
1109         CONFIG_LIBERTAS=$(if $(CONFIG_PACKAGE_kmod-libertas-sd)$(CONFIG_PACKAGE_kmod-libertas-usb),m) \
1110         CONFIG_LIBERTAS_CS= \
1111         CONFIG_LIBERTAS_SPI= \
1112         CONFIG_LIBERTAS_SDIO=$(if $(CONFIG_PACKAGE_kmod-libertas-sd),m) \
1113         CONFIG_LIBERTAS_THINFIRM= \
1114         CONFIG_LIBERTAS_USB=$(if $(CONFIG_PACKAGE_kmod-libertas-usb),m) \
1115         CONFIG_IPW2100=$(if $(CONFIG_PACKAGE_kmod-net-ipw2100),m) \
1116         CONFIG_IPW2200=$(if $(CONFIG_PACKAGE_kmod-net-ipw2200),m) \
1117         CONFIG_NL80211=y \
1118         CONFIG_LIB80211= \
1119         CONFIG_LIB80211_CRYPT_WEP= \
1120         CONFIG_LIB80211_CRYPT_CCMP= \
1121         CONFIG_LIB80211_CRYPT_TKIP= \
1122         CONFIG_IWLAGN=$(if $(CONFIG_PACKAGE_kmod-iwlagn),m) \
1123         CONFIG_IWLWIFI_LEGACY=$(if $(CONFIG_PACKAGE_kmod-iwl-legacy),m) \
1124         CONFIG_COMPAT_IWL4965=$(if $(CONFIG_PACKAGE_kmod-iwl4965),m) \
1125         CONFIG_IWL3945=$(if $(CONFIG_PACKAGE_kmod-iwl3945),m) \
1126         CONFIG_MWL8K=$(if $(CONFIG_PACKAGE_kmod-mwl8k),m) \
1127         CONFIG_ATMEL= \
1128         CONFIG_PCMCIA_ATMEL= \
1129         CONFIG_ADM8211= \
1130         CONFIG_USB_NET_RNDIS_HOST= \
1131         CONFIG_USB_NET_RNDIS_WLAN= \
1132         CONFIG_USB_NET_CDCETHER= \
1133         CONFIG_USB_USBNET= \
1134         CONFIG_AT76C50X_USB= \
1135         CONFIG_WL12XX= \
1136         CONFIG_EEPROM_93CX6= \
1137         CONFIG_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes),m) \
1138         CONFIG_HERMES_CACHE_FW_ON_INIT= \
1139         CONFIG_PCI_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-pci),m) \
1140         CONFIG_PLX_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-plx),m) \
1141         CONFIG_PCMCIA_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-pcmcia),m) \
1142         CONFIG_HERMES_PRISM= \
1143         CONFIG_APPLE_AIRPORT= \
1144         CONFIG_TMD_HERMES= \
1145         CONFIG_NORTEL_HERMES= \
1146         CONFIG_PCMCIA_SPECTRUM= \
1147         CONFIG_ORINOCO_USB= \
1148         CONFIG_IWM= \
1149         CONFIG_MWIFIEX= \
1150         CONFIG_MAC80211_RC_MINSTREL_HT=y \
1151         MADWIFI= \
1152         CONFIG_B44= \
1153         CONFIG_ATL1= \
1154         CONFIG_ATL2= \
1155         CONFIG_ATL1E= \
1156         CONFIG_ATL1C= \
1157         KLIB_BUILD="$(LINUX_DIR)" \
1158         MODPROBE=: \
1159         KLIB=$(TARGET_MODULES_DIR) \
1160         KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \
1161         KBUILD_LDFLAGS_MODULE_PREREQ=
1162
1163 ifeq ($(CONFIG_PACKAGE_kmod-libertas-sd)$(CONFIG_PACKAGE_kmod-libertas-usb)$(CONFIG_PACKAGE_kmod-rt2x00-lib),)
1164   MAKE_OPTS += CONFIG_COMPAT_KFIFO=
1165 endif
1166
1167 define Build/Prepare
1168         rm -rf $(PKG_BUILD_DIR)
1169         mkdir -p $(PKG_BUILD_DIR)
1170         $(PKG_UNPACK)
1171         $(Build/Patch)
1172         $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
1173         $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
1174         $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
1175         $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(PKG_LINUX_FIRMWARE_SOURCE)
1176         rm -rf $(PKG_BUILD_DIR)/include/linux/ssb
1177         rm -f $(PKG_BUILD_DIR)/include/net/ieee80211.h
1178 endef
1179
1180 ifneq ($(CONFIG_PACKAGE_kmod-cfg80211),)
1181  define Build/Compile/kmod
1182         rm -rf $(PKG_BUILD_DIR)/modules
1183         $(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" $(MAKE_OPTS) all
1184  endef
1185 endif
1186
1187 define Build/Compile
1188         $(call Build/Compile/kmod)
1189 endef
1190
1191 define Build/InstallDev
1192         mkdir -p \
1193                 $(1)/usr/include/mac80211 \
1194                 $(1)/usr/include/mac80211/ath \
1195                 $(1)/usr/include/net/mac80211
1196         $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
1197         $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
1198         $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
1199 endef
1200
1201 define KernelPackage/libertas-usb/install
1202         $(INSTALL_DIR) $(1)/lib/firmware
1203         $(INSTALL_DATA) \
1204                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8388_v9.bin \
1205                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8388_v5.bin \
1206                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8682.bin \
1207                 $(1)/lib/firmware/
1208 endef
1209
1210 define KernelPackage/libertas-sd/install
1211         $(INSTALL_DIR) $(1)/lib/firmware
1212         $(INSTALL_DATA) \
1213                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8385_helper.bin \
1214                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8385.bin \
1215                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v9_helper.bin \
1216                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v9.bin \
1217                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v8_helper.bin \
1218                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v8.bin \
1219                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8688_helper.bin \
1220                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8688.bin \
1221                 $(1)/lib/firmware/
1222 endef
1223
1224 define KernelPackage/cfg80211/install
1225         $(INSTALL_DIR) $(1)/lib/wifi
1226         $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
1227 endef
1228
1229 define KernelPackage/p54-pci/install
1230         $(INSTALL_DIR) $(1)/lib/firmware
1231         $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
1232 endef
1233
1234 define KernelPackage/p54-usb/install
1235         $(INSTALL_DIR) $(1)/lib/firmware
1236         $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
1237 endef
1238
1239 define KernelPackage/p54-spi/install
1240         $(INSTALL_DIR) $(1)/lib/firmware
1241         $(INSTALL_DATA) $(DL_DIR)/$(P54SPIFW) $(1)/lib/firmware/3826.arm
1242 endef
1243
1244 define KernelPackage/rt61-pci/install
1245         $(INSTALL_DIR) $(1)/lib/firmware
1246         $(INSTALL_DATA) \
1247                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2561.bin \
1248                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2561s.bin \
1249                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2661.bin \
1250                 $(1)/lib/firmware/
1251 endef
1252
1253 define KernelPackage/rt73-usb/install
1254         $(INSTALL_DIR) $(1)/lib/firmware
1255         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt73.bin $(1)/lib/firmware/
1256 endef
1257
1258 define KernelPackage/rt2800-pci/install
1259         $(INSTALL_DIR) $(1)/lib/firmware
1260         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2860.bin $(1)/lib/firmware/
1261 endef
1262
1263 define KernelPackage/rt2800-usb/install
1264         $(INSTALL_DIR) $(1)/lib/firmware
1265         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2870.bin $(1)/lib/firmware/
1266 endef
1267
1268 define KernelPackage/zd1211rw/install
1269         $(INSTALL_DIR) $(1)/lib/firmware/zd1211
1270         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
1271 endef
1272
1273 define KernelPackage/ath9k-htc/install
1274         $(INSTALL_DIR) $(1)/lib/firmware
1275         $(INSTALL_DATA) \
1276                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ar9271.fw \
1277                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ar7010.fw \
1278                 $(1)/lib/firmware/
1279 endef
1280
1281 define KernelPackage/mwl8k/install
1282         $(INSTALL_DIR) $(1)/lib/firmware
1283         $(INSTALL_DATA) \
1284                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366_ap-2.fw \
1285                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366.fw \
1286                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8366.fw \
1287                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8687.fw \
1288                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8687.fw \
1289                 $(1)/lib/firmware/
1290 endef
1291
1292 define KernelPackage/net-ipw2100/install
1293         $(INSTALL_DIR) $(1)/lib/firmware
1294         $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
1295 endef
1296
1297 define KernelPackage/net-ipw2200/install
1298         $(INSTALL_DIR) $(1)/lib/firmware
1299         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
1300 endef
1301
1302 define KernelPackage/iwlagn/install
1303         $(INSTALL_DIR) $(1)/lib/firmware
1304 ifneq ($(CONFIG_IWL5000_FW),)
1305         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5000-5.ucode $(1)/lib/firmware
1306 endif
1307 ifneq ($(CONFIG_IWL5150_FW),)
1308         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5150-2.ucode $(1)/lib/firmware
1309 endif
1310 ifneq ($(CONFIG_IWL1000_FW),)
1311         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-1000-5.ucode $(1)/lib/firmware
1312 endif
1313 ifneq ($(CONFIG_IWL6000_FW),)
1314         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000-4.ucode $(1)/lib/firmware
1315 endif
1316 ifneq ($(CONFIG_IWL6050_FW),)
1317         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6050-5.ucode $(1)/lib/firmware
1318 endif
1319 ifneq ($(CONFIG_IWL6005_FW),)
1320         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2a-5.ucode $(1)/lib/firmware
1321 endif
1322 ifneq ($(CONFIG_IWL6030_FW),)
1323         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2b-5.ucode $(1)/lib/firmware
1324 endif
1325 ifneq ($(CONFIG_IWL100_FW),)
1326         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-100-5.ucode $(1)/lib/firmware
1327 endif
1328 endef
1329
1330 define KernelPackage/iwl3945/install
1331         $(INSTALL_DIR) $(1)/lib/firmware
1332         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-3945-2.ucode $(1)/lib/firmware
1333 endef
1334
1335 define KernelPackage/iwl4965/install
1336         $(INSTALL_DIR) $(1)/lib/firmware
1337         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-4965-2.ucode $(1)/lib/firmware
1338 endef
1339
1340 define Build/b43-common
1341         tar xjf "$(DL_DIR)/$(PKG_B43_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)"
1342         $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)" \
1343                 CFLAGS="-I$(STAGING_DIR_HOST)/include -include endian.h" \
1344                 QUIET_SPARSE=:
1345         $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)/b43-fwcutter $(STAGING_DIR_HOST)/bin/
1346 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1347         $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/
1348         $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/"
1349         $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm $(STAGING_DIR_HOST)/bin/
1350         $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm.bin $(STAGING_DIR_HOST)/bin/
1351 endif
1352         $(INSTALL_BIN) ./files/host_bin/b43-fwsquash.py $(STAGING_DIR_HOST)/bin/
1353 endef
1354
1355 define KernelPackage/b43/install
1356         rm -rf $(1)/lib/firmware/
1357         $(call Build/b43-common)
1358 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1359         tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1360 else
1361         tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1362 endif
1363         $(INSTALL_DIR) $(1)/lib/firmware/
1364 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1365         $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
1366         $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
1367         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
1368         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
1369         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
1370 else
1371         b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
1372 endif
1373 ifneq ($(CONFIG_B43_FW_SQUASH),)
1374         b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
1375 endif
1376 endef
1377
1378 define KernelPackage/b43legacy/install
1379         $(call Build/b43-common)
1380         $(INSTALL_DIR) $(1)/lib/firmware/
1381
1382         b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
1383 ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
1384         b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy"
1385 endif
1386 endef
1387
1388 $(eval $(call KernelPackage,ath5k))
1389 $(eval $(call KernelPackage,libertas-usb))
1390 $(eval $(call KernelPackage,libertas-sd))
1391 $(eval $(call KernelPackage,cfg80211))
1392 $(eval $(call KernelPackage,mac80211))
1393 $(eval $(call KernelPackage,p54-common))
1394 $(eval $(call KernelPackage,p54-pci))
1395 $(eval $(call KernelPackage,p54-usb))
1396 $(eval $(call KernelPackage,p54-spi))
1397 $(eval $(call KernelPackage,rt2x00-lib))
1398 $(eval $(call KernelPackage,rt2x00-pci))
1399 $(eval $(call KernelPackage,rt2x00-usb))
1400 $(eval $(call KernelPackage,rt2x00-soc))
1401 $(eval $(call KernelPackage,rt2800-lib))
1402 $(eval $(call KernelPackage,rt2400-pci))
1403 $(eval $(call KernelPackage,rt2500-pci))
1404 $(eval $(call KernelPackage,rt2500-usb))
1405 $(eval $(call KernelPackage,rt61-pci))
1406 $(eval $(call KernelPackage,rt73-usb))
1407 $(eval $(call KernelPackage,rt2800-pci))
1408 $(eval $(call KernelPackage,rt2800-usb))
1409 $(eval $(call KernelPackage,rtl8180))
1410 $(eval $(call KernelPackage,rtl8187))
1411 $(eval $(call KernelPackage,zd1211rw))
1412 $(eval $(call KernelPackage,mac80211-hwsim))
1413 $(eval $(call KernelPackage,ath9k-common))
1414 $(eval $(call KernelPackage,ath9k))
1415 $(eval $(call KernelPackage,ath9k-htc))
1416 $(eval $(call KernelPackage,ath))
1417 $(eval $(call KernelPackage,carl9170))
1418 $(eval $(call KernelPackage,b43))
1419 $(eval $(call KernelPackage,b43legacy))
1420 $(eval $(call KernelPackage,net-libipw))
1421 $(eval $(call KernelPackage,net-ipw2100))
1422 $(eval $(call KernelPackage,net-ipw2200))
1423 $(eval $(call KernelPackage,iwlagn))
1424 $(eval $(call KernelPackage,iwl-legacy))
1425 $(eval $(call KernelPackage,iwl4965))
1426 $(eval $(call KernelPackage,iwl3945))
1427 $(eval $(call KernelPackage,mwl8k))
1428 $(eval $(call KernelPackage,net-hermes))
1429 $(eval $(call KernelPackage,net-hermes-pci))
1430 $(eval $(call KernelPackage,net-hermes-plx))
1431 $(eval $(call KernelPackage,net-hermes-pcmcia))