source: trunk/package/mac80211/Makefile @ 28096

Last change on this file since 28096 was 28096, checked in by jogo, 5 years ago

mac80211: allow building for linux 3.1 again

wireless-testing 2011-08-26 properly detects and works with linux 3.1.

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