source: trunk/package/mac80211/Makefile @ 30586

Last change on this file since 30586 was 30586, checked in by juhosg, 5 years ago

package/mac80211: fix a possible NULL pointer dereference in rt2x00

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