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