source: trunk/package/mac80211/Makefile @ 29284

Last change on this file since 29284 was 29284, checked in by jow, 5 years ago

[package] mac80211: fix reversed WARN_ON() condition which causes a stray stacktrace on boot

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