source: branches/backfire/package/mac80211/Makefile @ 29599

Last change on this file since 29599 was 29599, checked in by nbd, 4 years ago

mac80211: backport from trunk

File size: 49.9 KB
Line 
1#
2# Copyright (C) 2007-2011 OpenWrt.org
3#
4# This is free software, licensed under the GNU General Public License v2.
5# See /LICENSE for more information.
6#
7
8include $(TOPDIR)/rules.mk
9include $(INCLUDE_DIR)/kernel.mk
10
11PKG_NAME:=mac80211
12
13PKG_VERSION:=2011-12-01
14PKG_RELEASE:=1
15PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
16PKG_MD5SUM:=8d1fe2fd6bbabc4fbbf31dfbf015c62c
17
18PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
19PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
20PKG_BUILD_PARALLEL:=1
21
22PKG_DRIVERS = \
23        ath5k libertas-usb libertas-sd p54-common p54-pci p54-usb p54-spi \
24        rt2x00-lib rt2x00-pci rt2x00-usb rt2x00-soc rt2800-lib rt2400-pci \
25        rt2500-pci rt2500-usb rt61-pci rt73-usb rt2800-pci rt2800-usb \
26        rtl8180 rtl8187 zd1211rw mac80211-hwsim carl9170 b43 b43legacy \
27        ath9k-common ath9k ath9k-htc ath net-libipw net-ipw2100 net-ipw2200 \
28        mwl8k net-hermes net-hermes-pci net-hermes-plx net-hermes-pcmcia \
29        iwl-legacy iwl3945 iwl4965 iwlagn lib80211
30
31PKG_CONFIG_DEPENDS:= \
32        CONFIG_PACKAGE_kmod-mac80211 \
33        $(patsubst %,CONFIG_PACKAGE_kmod-%,$(PKG_DRIVERS)) \
34        CONFIG_PACKAGE_MAC80211_DEBUGFS \
35        CONFIG_PACKAGE_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)||BROKEN) @!LINUX_2_4
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-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-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-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-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#Broadcom firmware
759ifneq ($(CONFIG_B43_FW_5_10),)
760  PKG_B43_FWV4_NAME:=broadcom-wl
761  PKG_B43_FWV4_VERSION:=5.10.56.27.3
762  PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta/wl_prebuilt.o
763  PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)_mipsel.tar.bz2
764  PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
765  PKG_B43_FWV4_MD5SUM:=3363e3a6b3d9d73c49dea870c7834eac
766else
767ifneq ($(CONFIG_B43_FW_4_178),)
768  PKG_B43_FWV4_NAME:=broadcom-wl
769  PKG_B43_FWV4_VERSION:=4.178.10.4
770  PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
771  PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
772  PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
773  PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
774else
775ifneq ($(CONFIG_B43_FW_5_100_138),)
776  PKG_B43_FWV4_NAME:=broadcom-wl
777  PKG_B43_FWV4_VERSION:=5.100.138
778  PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
779  PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
780  PKG_B43_FWV4_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
781  PKG_B43_FWV4_MD5SUM:=f4e357b09eaf5d8b1f1920cf3493a555
782else
783  PKG_B43_FWV4_NAME:=broadcom-wl
784  PKG_B43_FWV4_VERSION:=4.150.10.5
785  PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
786  PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
787  PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
788  PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
789endif
790endif
791endif
792ifneq ($(CONFIG_B43_OPENFIRMWARE),)
793  PKG_B43_FWV4_NAME:=broadcom-wl
794  PKG_B43_FWV4_VERSION:=5.2
795  PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
796  PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
797  PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
798  PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
799endif
800
801
802PKG_B43_FWV3_NAME:=wl_apsta
803PKG_B43_FWV3_VERSION:=3.130.20.0
804PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o
805PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/
806PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3
807
808ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
809  PKG_B43_FWCUTTER_NAME:=b43-fwcutter
810  PKG_B43_FWCUTTER_VERSION:=3e69531aa65b8f664a0ab00dfc3e2eefeb0cb417
811  PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
812  PKG_B43_FWCUTTER_PROTO:=git
813  PKG_B43_FWCUTTER_SOURCE_URL:=http://git.bu3sch.de/git/b43-tools.git
814  PKG_B43_FWCUTTER_SUBDIR:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)
815  PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/fwcutter/
816else
817  PKG_B43_FWCUTTER_NAME:=b43-fwcutter
818  PKG_B43_FWCUTTER_VERSION:=015
819  PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
820  PKG_B43_FWCUTTER_PROTO:=default
821  PKG_B43_FWCUTTER_SOURCE_URL:=http://bu3sch.de/b43/fwcutter/
822  PKG_B43_FWCUTTER_MD5SUM:=628e030565222a107bc40300313cbe76
823  PKG_B43_FWCUTTER_SUBDIR:=b43-fwcutter-$(PKG_B43_FWCUTTER_VERSION)
824  PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/
825endif
826
827define Download/b43-common
828  FILE:=$(PKG_B43_FWCUTTER_SOURCE)
829  URL:=$(PKG_B43_FWCUTTER_SOURCE_URL)
830  MD5SUM:=$(PKG_B43_FWCUTTER_MD5SUM)
831  PROTO:=$(PKG_B43_FWCUTTER_PROTO)
832  VERSION:=$(PKG_B43_FWCUTTER_VERSION)
833  SUBDIR:=$(PKG_B43_FWCUTTER_SUBDIR)
834endef
835$(eval $(call Download,b43-common))
836
837define Download/b43
838  FILE:=$(PKG_B43_FWV4_SOURCE)
839  URL:=$(PKG_B43_FWV4_SOURCE_URL)
840  MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
841endef
842$(eval $(call Download,b43))
843
844define Download/b43legacy
845  FILE:=$(PKG_B43_FWV3_SOURCE)
846  URL:=$(PKG_B43_FWV3_SOURCE_URL)
847  MD5SUM:=$(PKG_B43_FWV3_MD5SUM)
848endef
849$(eval $(call Download,b43legacy))
850
851define KernelPackage/b43-common
852  $(call KernelPackage/mac80211/Default)
853  TITLE:=Generic stuff for Broadcom wireless devices
854  URL:=http://linuxwireless.org/en/users/Drivers/b43
855  KCONFIG:= \
856        CONFIG_HW_RANDOM=y
857  DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
858endef
859
860define KernelPackage/b43
861$(call KernelPackage/b43-common)
862  TITLE:=Broadcom 43xx wireless support
863  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.ko
864  AUTOLOAD:=$(call AutoLoad,30,b43)
865  MENU:=1
866endef
867
868define KernelPackage/b43/config
869        menu "Configuration"
870                depends on PACKAGE_kmod-b43
871
872        choice
873                prompt "b43 firmware version"
874                default B43_FW_5_10
875                help
876                  This option allows you to select the version of the b43 firmware.
877
878        config B43_FW_4_150
879                bool "Firmware 410.2160 from driver 4.150.10.5 (stable)"
880                help
881                  Stable firmware for BCM43xx devices.
882
883                  If unsure, select this.
884
885        config B43_FW_4_178
886                bool "Firmware 478.104 from driver 4.178.10.4"
887                help
888                  Experimental firmware for BCM43xx devices.
889
890                  This firmware is not tested as much as the "stable" firmware.
891
892                  If unsure, select the "stable" firmware.
893
894        config B43_FW_5_10
895                bool "Firmware 508.1084 from driver 5.10.56.27"
896                help
897                  Newer experimental firmware for BCM43xx devices.
898
899                  This firmware is mostly untested. It is needed for some N-PHY devices.
900
901                  If unsure, select the "stable" firmware.
902
903        config B43_FW_5_100_138
904                bool "Firmware 666.2 from driver 5.100.138"
905                help
906                  Newer experimental firmware for BCM43xx devices.
907
908                  This firmware is mostly untested. It is needed for some N-PHY devices.
909
910                  If unsure, select the "stable" firmware.
911
912        config B43_OPENFIRMWARE
913                bool "Open FirmWare for WiFi networks"
914                help
915                  Opensource firmware for BCM43xx devices.
916
917                  Do _not_ select this, unless you know what you are doing.
918                  The Opensource firmware is not suitable for embedded devices, yet.
919                  It does not support QoS, which is bad for AccessPoints.
920                  It does not support hardware crypto acceleration, which is a showstopper
921                  for embedded devices with low CPU resources.
922
923                  If unsure, select the "stable" firmware.
924
925        endchoice
926
927        config B43_FW_SQUASH
928                bool "Remove unnecessary firmware files"
929                depends on !B43_OPENFIRMWARE
930                default y
931                help
932                  This options allows you to remove unnecessary b43 firmware files
933                  from the final rootfs image. This can reduce the rootfs size by
934                  up to 200k.
935
936                  If unsure, say Y.
937
938        config B43_FW_SQUASH_COREREVS
939                string "Core revisions to include"
940                depends on B43_FW_SQUASH
941                default "5,6,7,8,9,10,13,14,15"
942                help
943                  This is a comma seperated list of core revision numbers.
944
945                  Example (keep files for rev5 only):
946                    5
947
948                  Example (keep files for rev5 and rev11):
949                    5,11
950
951        config B43_FW_SQUASH_PHYTYPES
952                string "PHY types to include"
953                depends on B43_FW_SQUASH
954                default "G,LP"
955                help
956                  This is a comma seperated list of PHY types:
957                    A  => A-PHY
958                    AG => Dual A-PHY G-PHY
959                    G  => G-PHY
960                    LP => LP-PHY
961                    N  => N-PHY
962
963                  Example (keep files for G-PHY only):
964                    G
965
966                  Example (keep files for G-PHY and N-PHY):
967                    G,N
968
969        config PACKAGE_B43_DEBUG
970                bool "Enable debug output and debugfs for b43"
971                default n
972                help
973                  Enable additional debug output and runtime sanity checks for b43
974                  and enables the debugfs interface.
975
976                  If unsure, say N.
977
978        config PACKAGE_B43_PIO
979                bool "Enable support for PIO transfer mode"
980                depends BROKEN
981                default n
982                help
983                  Enable support for using PIO instead of DMA. Unless you have DMA
984                  transfer problems you don't need this.
985
986                  If unsure, say N.
987
988        config PACKAGE_B43_PHY_N
989                bool "Enable support for N-PHYs"
990                depends on BROKEN
991                select B43_FW_5_100_138
992                help
993                  Enable support for BCM4321 and BCM4322.
994
995                  Currently only 11g speed is available.
996
997                  If unsure, say Y.
998
999        config PACKAGE_B43_PHY_HT
1000                bool "Enable support for HT-PHYs"
1001                depends on BROKEN
1002                select B43_FW_5_100_138
1003                default n
1004                help
1005                  Currently broken.
1006
1007                  If unsure, say N.
1008
1009        config PACKAGE_B43_PHY_LCN
1010                bool "Enable support for LCN-PHYs"
1011                depends on BROKEN
1012                select B43_FW_5_100_138
1013                default n
1014                help
1015                  Currently broken.
1016
1017                  If unsure, say N.
1018
1019        endmenu
1020endef
1021
1022define KernelPackage/b43/description
1023Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
1024endef
1025
1026define KernelPackage/b43legacy
1027$(call KernelPackage/b43-common)
1028  TITLE:=Broadcom 43xx-legacy wireless support
1029  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.ko
1030  AUTOLOAD:=$(call AutoLoad,30,b43legacy)
1031  MENU:=1
1032endef
1033
1034define KernelPackage/b43legacy/config
1035        menu "Configuration"
1036                depends on PACKAGE_kmod-b43legacy
1037
1038        config B43LEGACY_FW_SQUASH
1039                bool "Remove unnecessary firmware files"
1040                default y
1041                help
1042                  This options allows you to remove unnecessary b43legacy firmware files
1043                  from the final rootfs image. This can reduce the rootfs size by
1044                  up to 50k.
1045
1046                  If unsure, say Y.
1047
1048        config B43LEGACY_FW_SQUASH_COREREVS
1049                string "Core revisions to include"
1050                depends on B43LEGACY_FW_SQUASH
1051                default "1,2,3,4"
1052                help
1053                  This is a comma seperated list of core revision numbers.
1054
1055                  Example (keep files for rev4 only):
1056                    4
1057
1058                  Example (keep files for rev2 and rev4):
1059                    2,4
1060
1061        endmenu
1062endef
1063
1064define KernelPackage/b43legacy/description
1065Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
1066endef
1067
1068BUILDFLAGS:= \
1069        -I$(PKG_BUILD_DIR)/include \
1070        $(foreach opt,$(CONFOPTS),-DCONFIG_$(opt)) \
1071        $(if $(CONFIG_PCI),-DCONFIG_B43_PCI_AUTOSELECT -DCONFIG_B43_PCICORE_AUTOSELECT) \
1072        $(if $(CONFIG_LEDS_TRIGGERS), -DCONFIG_MAC80211_LEDS -DCONFIG_LEDS_TRIGGERS -DCONFIG_B43_LEDS -DCONFIG_B43LEGACY_LEDS) \
1073        -DCONFIG_B43_HWRNG -DCONFIG_B43LEGACY_HWRNG \
1074        $(if $(CONFIG_PCI),-DCONFIG_ATH9K_PCI) \
1075        $(if $(CONFIG_TARGET_ar71xx),-DCONFIG_ATH9K_AHB) \
1076        $(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS), -DCONFIG_CFG80211_DEBUGFS -DCONFIG_MAC80211_DEBUGFS -DCONFIG_ATH9K_DEBUGFS -DCONFIG_CARL9170_DEBUGFS -DCONFIG_ATH9K_HTC_DEBUGFS -DCONFIG_ATH5K_DEBUG) \
1077        $(if $(CONFIG_PACKAGE_MAC80211_MESH),-DCONFIG_MAC80211_MESH) \
1078        $(if $(CONFIG_PACKAGE_ATH_DEBUG),-DCONFIG_ATH_DEBUG -DCONFIG_ATH9K_PKTLOG) \
1079        -D__CONFIG_MAC80211_RC_DEFAULT=minstrel \
1080        -DCONFIG_MAC80211_RC_MINSTREL_HT \
1081        $(if $(CONFIG_ATH_USER_REGD),-DATH_USER_REGD=1) \
1082        $(if $(CONFIG_PACKAGE_B43_DEBUG),-DCONFIG_B43_DEBUG) \
1083        $(if $(CONFIG_PACKAGE_B43_PIO),-DCONFIG_B43_PIO) \
1084        $(if $(CONFIG_PACKAGE_B43_PIO),-DCONFIG_B43_BCMA_PIO) \
1085        $(if $(CONFIG_PACKAGE_B43_PHY_N),-DCONFIG_B43_PHY_N) \
1086        $(if $(CONFIG_PACKAGE_B43_PHY_HT),-DCONFIG_B43_PHY_HT) \
1087        $(if $(CONFIG_PACKAGE_B43_PHY_LCN),-DCONFIG_B43_PHY_LCN) \
1088        -DCONFIG_B43_BCMA \
1089        -DCONFIG_B43_SSB \
1090        $(if $(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS),-DCONFIG_RT2X00_LIB_DEBUGFS) \
1091        $(if $(CONFIG_PACKAGE_RT2X00_DEBUG),-DCONFIG_RT2X00_DEBUG) \
1092        $(if $(NEED_RT2X00_LIB_HT),-DCONFIG_RT2X00_LIB_HT) \
1093        $(if $(NEED_RT2X00_LIB_CRYPTO),-DCONFIG_RT2X00_LIB_CRYPTO) \
1094        $(if $(NEED_RT2X00_LIB_FIRMWARE),-DCONFIG_RT2X00_LIB_FIRMWARE) \
1095        $(if $(NEED_RT2X00_LIB_EEPROM),-DCONFIG_RT2X00_LIB_EEPROM) \
1096        $(if $(NEED_RT2X00_LIB_LEDS),-DCONFIG_RT2X00_LIB_LEDS) \
1097        $(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),-DCONFIG_RT2X00_LIB_PCI) \
1098        $(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),-DCONFIG_RT2X00_LIB_USB) \
1099        $(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),-DCONFIG_RT2X00_LIB_SOC) \
1100        $(if $(CONFIG_TARGET_atheros),-DCONFIG_ATH5K_AHB,-DCONFIG_ATH5K_PCI) \
1101        $(if $(CONFIG_PACKAGE_kmod-iwl3945),-DCONFIG_IWL3945) \
1102        $(if $(CONFIG_PACKAGE_kmod-iwl4965),-DCONFIG_COMPAT_IWL4965)
1103
1104MAKE_OPTS:= \
1105        CROSS_COMPILE="$(KERNEL_CROSS)" \
1106        ARCH="$(LINUX_KARCH)" \
1107        EXTRA_CFLAGS="$(BUILDFLAGS)" \
1108        $(foreach opt,$(CONFOPTS),CONFIG_$(opt)=m) \
1109        CONFIG_CFG80211=$(if $(CONFIG_PACKAGE_kmod-cfg80211),m) \
1110        CONFIG_MAC80211=$(if $(CONFIG_PACKAGE_kmod-mac80211),m) \
1111        CONFIG_MAC80211_RC_MINSTREL=y \
1112        CONFIG_MAC80211_MESH=$(CONFIG_PACKAGE_MAC80211_MESH) \
1113        CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \
1114        CONFIG_CFG80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1115        CONFIG_MAC80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1116        CONFIG_B43_PCMCIA=n CONFIG_B43_PIO=n \
1117        CONFIG_B43_PCI_AUTOSELECT=$(if $(CONFIG_PCI),y) \
1118        CONFIG_B43_PCICORE_AUTOSELECT=$(if $(CONFIG_PCI),y) \
1119        CONFIG_B43LEGACY_LEDS=$(CONFIG_LEDS_TRIGGERS) \
1120        CONFIG_B43_LEDS=$(CONFIG_LEDS_TRIGGERS) \
1121        CONFIG_B43_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
1122        CONFIG_B43LEGACY_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
1123        CONFIG_B43=$(if $(CONFIG_PACKAGE_kmod-b43),m) \
1124        CONFIG_B43LEGACY=$(if $(CONFIG_PACKAGE_kmod-b43legacy),m) \
1125        CONFIG_B43_DEBUG=$(if $(CONFIG_PACKAGE_B43_DEBUG),y) \
1126        CONFIG_B43_PIO=$(if $(CONFIG_PACKAGE_B43_PIO),y) \
1127        CONFIG_B43_BCMA_PIO=$(if $(CONFIG_PACKAGE_B43_PIO),y) \
1128        CONFIG_B43_PHY_N=$(if $(CONFIG_PACKAGE_B43_PHY_N),y) \
1129        CONFIG_B43_PHY_HT=$(if $(CONFIG_PACKAGE_B43_PHY_HT),y) \
1130        CONFIG_B43_PHY_LCN=$(if $(CONFIG_PACKAGE_B43_PHY_LCN),y) \
1131        CONFIG_B43_BCMA=y \
1132        CONFIG_B43_SSB=y \
1133        CONFIG_ATH_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath),m) \
1134        CONFIG_ATH_DEBUG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
1135        CONFIG_ATH9K_PKTLOG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
1136        CONFIG_ATH5K=$(if $(CONFIG_PACKAGE_kmod-ath5k),m) \
1137        CONFIG_ATH5K_PCI=$(if $(CONFIG_TARGET_atheros),,y) \
1138        CONFIG_ATH5K_AHB=$(if $(CONFIG_TARGET_atheros),y) \
1139        CONFIG_ATH5K_DEBUG=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1140        CONFIG_ATH9K=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
1141        CONFIG_ATH9K_PCI=$(CONFIG_PCI) \
1142        CONFIG_ATH9K_AHB=$(if $(CONFIG_TARGET_ar71xx),y) \
1143        CONFIG_ATH9K_HTC=$(if $(CONFIG_PACKAGE_kmod-ath9k-htc),m) \
1144        CONFIG_ATH9K_HTC_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1145        CONFIG_ATH9K_HW=$(if $(CONFIG_PACKAGE_kmod-ath9k-common),m) \
1146        CONFIG_ATH9K_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath9k-common),m) \
1147        CONFIG_ATH9K_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1148        CONFIG_CARL9170=$(if $(CONFIG_PACKAGE_kmod-carl9170),m) \
1149        CONFIG_CARL9170_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1150        CONFIG_COMPAT_ZD1211RW=$(if $(CONFIG_PACKAGE_kmod-zd1211rw),m) \
1151        CONFIG_P54_COMMON=$(if $(CONFIG_PACKAGE_kmod-p54-common),m) \
1152        CONFIG_P54_PCI=$(if $(CONFIG_PACKAGE_kmod-p54-pci),m) \
1153        CONFIG_P54_USB=$(if $(CONFIG_PACKAGE_kmod-p54-usb),m) \
1154        CONFIG_P54_SPI=$(if $(CONFIG_PACKAGE_kmod-p54-spi),m) \
1155        CONFIG_P54_SPI_DEFAULT_EEPROM=n \
1156        CONFIG_RT2X00=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
1157        CONFIG_RT2X00_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
1158        CONFIG_RT2X00_LIB_PCI=$(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),m) \
1159        CONFIG_RT2X00_LIB_USB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),m) \
1160        CONFIG_RT2X00_LIB_SOC=$(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),m) \
1161        CONFIG_RT2X00_LIB_DEBUGFS=$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) \
1162        CONFIG_RT2X00_LIB_CRYPTO=$(NEED_RT2X00_LIB_CRYPTO) \
1163        CONFIG_RT2X00_LIB_FIRMWARE=$(NEED_RT2X00_LIB_FIRMWARE) \
1164        CONFIG_RT2X00_LIB_EEPROM=$(NEED_RT2X00_LIB_EEPROM) \
1165        CONFIG_RT2X00_LIB_HT=$(NEED_RT2X00_LIB_HT) \
1166        CONFIG_RT2X00_LIB_LEDS=$(NEED_RT2X00_LIB_LEDS) \
1167        CONFIG_RT2400PCI=$(if $(CONFIG_PACKAGE_kmod-rt2400-pci),m) \
1168        CONFIG_RT2500PCI=$(if $(CONFIG_PACKAGE_kmod-rt2500-pci),m) \
1169        CONFIG_RT2500USB=$(if $(CONFIG_PACKAGE_kmod-rt2500-usb),m) \
1170        CONFIG_RT61PCI=$(if $(CONFIG_PACKAGE_kmod-rt61-pci),m) \
1171        CONFIG_RT73USB=$(if $(CONFIG_PACKAGE_kmod-rt73-usb),m) \
1172        CONFIG_RT2800_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2800-lib),m) \
1173        CONFIG_RT2800PCI=$(if $(CONFIG_PACKAGE_kmod-rt2800-pci),m) \
1174        CONFIG_RT2800USB=$(if $(CONFIG_PACKAGE_kmod-rt2800-usb),m) \
1175        CONFIG_RT2800USB_RT53XX=$(if $(CONFIG_PACKAGE_kmod-rt2800-usb),y) \
1176        CONFIG_RTL8180=$(if $(CONFIG_PACKAGE_kmod-rtl8180),m) \
1177        CONFIG_RTL8187=$(if $(CONFIG_PACKAGE_kmod-rtl8187),m) \
1178        CONFIG_RTL8192CE= \
1179        CONFIG_RTLWIFI= \
1180        CONFIG_MAC80211_HWSIM=$(if $(CONFIG_PACKAGE_kmod-mac80211-hwsim),m) \
1181        CONFIG_PCMCIA= \
1182        CONFIG_LIBIPW=$(if $(CONFIG_PACKAGE_kmod-net-libipw),m) \
1183        CONFIG_LIBERTAS=$(if $(CONFIG_PACKAGE_kmod-libertas-sd)$(CONFIG_PACKAGE_kmod-libertas-usb),m) \
1184        CONFIG_LIBERTAS_CS= \
1185        CONFIG_LIBERTAS_SPI= \
1186        CONFIG_COMPAT_LIBERTAS_SDIO=$(if $(CONFIG_PACKAGE_kmod-libertas-sd),m) \
1187        CONFIG_LIBERTAS_THINFIRM= \
1188        CONFIG_LIBERTAS_USB=$(if $(CONFIG_PACKAGE_kmod-libertas-usb),m) \
1189        CONFIG_IPW2100=$(if $(CONFIG_PACKAGE_kmod-net-ipw2100),m) \
1190        CONFIG_IPW2200=$(if $(CONFIG_PACKAGE_kmod-net-ipw2200),m) \
1191        CONFIG_NL80211=y \
1192        CONFIG_LIB80211=$(if $(CONFIG_PACKAGE_kmod-lib80211),m) \
1193        CONFIG_LIB80211_CRYPT_WEP=$(if $(CONFIG_PACKAGE_kmod-lib80211),m) \
1194        CONFIG_LIB80211_CRYPT_CCMP=$(if $(CONFIG_PACKAGE_kmod-lib80211),m) \
1195        CONFIG_LIB80211_CRYPT_TKIP=$(if $(CONFIG_PACKAGE_kmod-lib80211),m) \
1196        CONFIG_IWLWIFI=$(if $(CONFIG_PACKAGE_kmod-iwlagn),m) \
1197        CONFIG_IWLEGACY=$(if $(CONFIG_PACKAGE_kmod-iwl-legacy),m) \
1198        CONFIG_COMPAT_IWL4965=$(if $(CONFIG_PACKAGE_kmod-iwl4965),m) \
1199        CONFIG_IWL3945=$(if $(CONFIG_PACKAGE_kmod-iwl3945),m) \
1200        CONFIG_MWL8K=$(if $(CONFIG_PACKAGE_kmod-mwl8k),m) \
1201        CONFIG_ATMEL= \
1202        CONFIG_PCMCIA_ATMEL= \
1203        CONFIG_ADM8211= \
1204        CONFIG_USB_NET_RNDIS_HOST= \
1205        CONFIG_USB_NET_RNDIS_WLAN= \
1206        CONFIG_USB_NET_CDCETHER= \
1207        CONFIG_USB_USBNET= \
1208        CONFIG_AT76C50X_USB= \
1209        CONFIG_WL12XX= \
1210        CONFIG_EEPROM_93CX6= \
1211        CONFIG_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes),m) \
1212        CONFIG_HERMES_CACHE_FW_ON_INIT= \
1213        CONFIG_PCI_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-pci),m) \
1214        CONFIG_PLX_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-plx),m) \
1215        CONFIG_PCMCIA_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-pcmcia),m) \
1216        CONFIG_HERMES_PRISM= \
1217        CONFIG_APPLE_AIRPORT= \
1218        CONFIG_TMD_HERMES= \
1219        CONFIG_NORTEL_HERMES= \
1220        CONFIG_PCMCIA_SPECTRUM= \
1221        CONFIG_ORINOCO_USB= \
1222        CONFIG_IWM= \
1223        CONFIG_MWIFIEX= \
1224        CONFIG_MAC80211_RC_MINSTREL_HT=y \
1225        MADWIFI= \
1226        CONFIG_B44= \
1227        CONFIG_ATL1= \
1228        CONFIG_ATL2= \
1229        CONFIG_ATL1E= \
1230        CONFIG_ATL1C= \
1231        CONFIG_BRCMFMAC= \
1232        CONFIG_BRCMUMAC= \
1233        CONFIG_BRCMSMAC= \
1234        KLIB_BUILD="$(LINUX_DIR)" \
1235        MODPROBE=: \
1236        KLIB=$(TARGET_MODULES_DIR) \
1237        KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \
1238        KBUILD_LDFLAGS_MODULE_PREREQ=
1239
1240ifeq ($(CONFIG_PACKAGE_kmod-libertas-sd)$(CONFIG_PACKAGE_kmod-libertas-usb)$(CONFIG_PACKAGE_kmod-rt2x00-lib),)
1241  MAKE_OPTS += CONFIG_COMPAT_KFIFO=
1242endif
1243
1244define Build/Prepare
1245        rm -rf $(PKG_BUILD_DIR)
1246        mkdir -p $(PKG_BUILD_DIR)
1247        $(PKG_UNPACK)
1248        $(Build/Patch)
1249        $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
1250        $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
1251        $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
1252        $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(PKG_LINUX_FIRMWARE_SOURCE)
1253        rm -rf $(PKG_BUILD_DIR)/include/linux/ssb
1254        rm -f $(PKG_BUILD_DIR)/include/net/ieee80211.h
1255endef
1256
1257ifneq ($(CONFIG_PACKAGE_kmod-cfg80211)$(CONFIG_PACKAGE_kmod-lib80211),)
1258 define Build/Compile/kmod
1259        rm -rf $(PKG_BUILD_DIR)/modules
1260        $(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" $(MAKE_OPTS) all
1261 endef
1262endif
1263
1264define Build/Compile
1265        $(call Build/Compile/kmod)
1266endef
1267
1268define Build/InstallDev
1269        mkdir -p \
1270                $(1)/usr/include/mac80211 \
1271                $(1)/usr/include/mac80211/ath \
1272                $(1)/usr/include/net/mac80211
1273        $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
1274        $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
1275        $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
1276endef
1277
1278define KernelPackage/libertas-usb/install
1279        $(INSTALL_DIR) $(1)/lib/firmware
1280        $(INSTALL_DATA) \
1281                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8388_v9.bin \
1282                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8388_v5.bin \
1283                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8682.bin \
1284                $(1)/lib/firmware/
1285endef
1286
1287define KernelPackage/libertas-sd/install
1288        $(INSTALL_DIR) $(1)/lib/firmware/libertas
1289        $(INSTALL_DATA) \
1290                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8385_helper.bin \
1291                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8385.bin \
1292                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v9_helper.bin \
1293                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v9.bin \
1294                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v8_helper.bin \
1295                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v8.bin \
1296                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8688_helper.bin \
1297                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8688.bin \
1298                $(1)/lib/firmware/libertas
1299endef
1300
1301define KernelPackage/cfg80211/install
1302        $(INSTALL_DIR) $(1)/lib/wifi
1303        $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
1304endef
1305
1306define KernelPackage/p54-pci/install
1307        $(INSTALL_DIR) $(1)/lib/firmware
1308        $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
1309endef
1310
1311define KernelPackage/p54-usb/install
1312        $(INSTALL_DIR) $(1)/lib/firmware
1313        $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
1314endef
1315
1316define KernelPackage/p54-spi/install
1317        $(INSTALL_DIR) $(1)/lib/firmware
1318        $(INSTALL_DATA) $(DL_DIR)/$(P54SPIFW) $(1)/lib/firmware/3826.arm
1319endef
1320
1321define KernelPackage/rt61-pci/install
1322        $(INSTALL_DIR) $(1)/lib/firmware
1323        $(INSTALL_DATA) \
1324                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2561.bin \
1325                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2561s.bin \
1326                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2661.bin \
1327                $(1)/lib/firmware/
1328endef
1329
1330define KernelPackage/rt73-usb/install
1331        $(INSTALL_DIR) $(1)/lib/firmware
1332        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt73.bin $(1)/lib/firmware/
1333endef
1334
1335define KernelPackage/rt2800-pci/install
1336        $(INSTALL_DIR) $(1)/lib/firmware
1337        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2860.bin $(1)/lib/firmware/
1338endef
1339
1340define KernelPackage/rt2800-usb/install
1341        $(INSTALL_DIR) $(1)/lib/firmware
1342        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2870.bin $(1)/lib/firmware/
1343endef
1344
1345define KernelPackage/zd1211rw/install
1346        $(INSTALL_DIR) $(1)/lib/firmware/zd1211
1347        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
1348endef
1349
1350define KernelPackage/ath9k-htc/install
1351        $(INSTALL_DIR) $(1)/lib/firmware
1352        $(INSTALL_DATA) \
1353                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/htc_9271.fw \
1354                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/htc_7010.fw \
1355                $(1)/lib/firmware/
1356endef
1357
1358define KernelPackage/mwl8k/install
1359        $(INSTALL_DIR) $(1)/lib/firmware
1360        $(INSTALL_DATA) \
1361                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366_ap-2.fw \
1362                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366.fw \
1363                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8366.fw \
1364                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8687.fw \
1365                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8687.fw \
1366                $(1)/lib/firmware/
1367endef
1368
1369define KernelPackage/net-ipw2100/install
1370        $(INSTALL_DIR) $(1)/lib/firmware
1371        $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
1372endef
1373
1374define KernelPackage/net-ipw2200/install
1375        $(INSTALL_DIR) $(1)/lib/firmware
1376        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
1377endef
1378
1379define KernelPackage/iwlagn/install
1380        $(INSTALL_DIR) $(1)/lib/firmware
1381ifneq ($(CONFIG_IWL5000_FW),)
1382        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5000-5.ucode $(1)/lib/firmware
1383endif
1384ifneq ($(CONFIG_IWL5150_FW),)
1385        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5150-2.ucode $(1)/lib/firmware
1386endif
1387ifneq ($(CONFIG_IWL1000_FW),)
1388        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-1000-5.ucode $(1)/lib/firmware
1389endif
1390ifneq ($(CONFIG_IWL6000_FW),)
1391        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000-4.ucode $(1)/lib/firmware
1392endif
1393ifneq ($(CONFIG_IWL6050_FW),)
1394        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6050-5.ucode $(1)/lib/firmware
1395endif
1396ifneq ($(CONFIG_IWL6005_FW),)
1397        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2a-5.ucode $(1)/lib/firmware
1398endif
1399ifneq ($(CONFIG_IWL6030_FW),)
1400        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2b-5.ucode $(1)/lib/firmware
1401endif
1402ifneq ($(CONFIG_IWL100_FW),)
1403        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-100-5.ucode $(1)/lib/firmware
1404endif
1405endef
1406
1407define KernelPackage/iwl3945/install
1408        $(INSTALL_DIR) $(1)/lib/firmware
1409        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-3945-2.ucode $(1)/lib/firmware
1410endef
1411
1412define KernelPackage/iwl4965/install
1413        $(INSTALL_DIR) $(1)/lib/firmware
1414        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-4965-2.ucode $(1)/lib/firmware
1415endef
1416
1417define Build/b43-common
1418        tar xjf "$(DL_DIR)/$(PKG_B43_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)"
1419        patch -p1 -d  "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)" < ./files/b43-fwcutter-fw-dirname.patch
1420        $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)" \
1421                CFLAGS="-I$(STAGING_DIR_HOST)/include -include endian.h" \
1422                QUIET_SPARSE=:
1423        $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)/b43-fwcutter $(STAGING_DIR_HOST)/bin/
1424ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1425        $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/
1426        $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/"
1427        $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm $(STAGING_DIR_HOST)/bin/
1428        $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm.bin $(STAGING_DIR_HOST)/bin/
1429endif
1430        $(INSTALL_BIN) ./files/host_bin/b43-fwsquash.py $(STAGING_DIR_HOST)/bin/
1431endef
1432
1433define KernelPackage/b43/install
1434        rm -rf $(1)/lib/firmware/
1435        $(call Build/b43-common)
1436ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1437        tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1438else
1439        tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1440endif
1441        $(INSTALL_DIR) $(1)/lib/firmware/
1442ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1443        $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
1444        $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
1445        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
1446        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
1447        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
1448else
1449        b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
1450endif
1451ifneq ($(CONFIG_B43_FW_SQUASH),)
1452        b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
1453endif
1454endef
1455
1456define KernelPackage/b43legacy/install
1457        $(call Build/b43-common)
1458        $(INSTALL_DIR) $(1)/lib/firmware/
1459
1460        b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
1461ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
1462        b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy"
1463endif
1464endef
1465
1466$(eval $(call KernelPackage,ath5k))
1467$(eval $(call KernelPackage,lib80211))
1468$(eval $(call KernelPackage,libertas-usb))
1469$(eval $(call KernelPackage,libertas-sd))
1470$(eval $(call KernelPackage,cfg80211))
1471$(eval $(call KernelPackage,mac80211))
1472$(eval $(call KernelPackage,p54-common))
1473$(eval $(call KernelPackage,p54-pci))
1474$(eval $(call KernelPackage,p54-usb))
1475$(eval $(call KernelPackage,p54-spi))
1476$(eval $(call KernelPackage,rt2x00-lib))
1477$(eval $(call KernelPackage,rt2x00-pci))
1478$(eval $(call KernelPackage,rt2x00-usb))
1479$(eval $(call KernelPackage,rt2x00-soc))
1480$(eval $(call KernelPackage,rt2800-lib))
1481$(eval $(call KernelPackage,rt2400-pci))
1482$(eval $(call KernelPackage,rt2500-pci))
1483$(eval $(call KernelPackage,rt2500-usb))
1484$(eval $(call KernelPackage,rt61-pci))
1485$(eval $(call KernelPackage,rt73-usb))
1486$(eval $(call KernelPackage,rt2800-pci))
1487$(eval $(call KernelPackage,rt2800-usb))
1488$(eval $(call KernelPackage,rtl8180))
1489$(eval $(call KernelPackage,rtl8187))
1490$(eval $(call KernelPackage,zd1211rw))
1491$(eval $(call KernelPackage,mac80211-hwsim))
1492$(eval $(call KernelPackage,ath9k-common))
1493$(eval $(call KernelPackage,ath9k))
1494$(eval $(call KernelPackage,ath9k-htc))
1495$(eval $(call KernelPackage,ath))
1496$(eval $(call KernelPackage,carl9170))
1497$(eval $(call KernelPackage,b43))
1498$(eval $(call KernelPackage,b43legacy))
1499$(eval $(call KernelPackage,net-libipw))
1500$(eval $(call KernelPackage,net-ipw2100))
1501$(eval $(call KernelPackage,net-ipw2200))
1502$(eval $(call KernelPackage,iwlagn))
1503$(eval $(call KernelPackage,iwl-legacy))
1504$(eval $(call KernelPackage,iwl4965))
1505$(eval $(call KernelPackage,iwl3945))
1506$(eval $(call KernelPackage,mwl8k))
1507$(eval $(call KernelPackage,net-hermes))
1508$(eval $(call KernelPackage,net-hermes-pci))
1509$(eval $(call KernelPackage,net-hermes-plx))
1510$(eval $(call KernelPackage,net-hermes-pcmcia))
Note: See TracBrowser for help on using the repository browser.