Root/package/mac80211/Makefile

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

Archive Download this file



interactive