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