2fe0b9add6492eaa5a2a6a762a4d4252b1fce82b
[openwrt/openwrt.git] / package / mac80211 / Makefile
1 #
2 # Copyright (C) 2007-2010 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9 include $(INCLUDE_DIR)/kernel.mk
10
11 PKG_NAME:=mac80211
12
13 PKG_VERSION:=2011-06-22
14 PKG_RELEASE:=2
15 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
16 PKG_MD5SUM:=3ffdd5cecedcf4236f599bdbc55ba10d
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
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)
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 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.33)),1)
59 FILES:= \
60 $(PKG_BUILD_DIR)/compat/compat.ko \
61 $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
62 AUTOLOAD:=$(call AutoLoad,20,compat cfg80211)
63 else
64 FILES:= \
65 $(PKG_BUILD_DIR)/compat/compat.ko \
66 $(PKG_BUILD_DIR)/compat/compat_firmware_class.ko \
67 $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
68 AUTOLOAD:=$(call AutoLoad,20,compat compat_firmware_class cfg80211)
69 endif
70 endef
71
72 define KernelPackage/cfg80211/description
73 cfg80211 is the Linux wireless LAN (802.11) configuration API.
74 endef
75
76 define KernelPackage/mac80211
77 $(call KernelPackage/mac80211/Default)
78 TITLE:=Linux 802.11 Wireless Networking Stack
79 DEPENDS+= +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-cfg80211
80 KCONFIG:=\
81 CONFIG_AVERAGE=y
82 FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.ko
83 AUTOLOAD:=$(call AutoLoad,21,mac80211)
84 MENU:=1
85 endef
86
87 define KernelPackage/mac80211/config
88 menu "Configuration"
89 depends on PACKAGE_kmod-mac80211
90
91 config PACKAGE_MAC80211_DEBUGFS
92 bool "Export mac80211 internals in DebugFS"
93 default y
94 help
95 Select this to see extensive information about
96 the internal state of mac80211 in debugfs.
97
98 Say N unless you know you need this.
99
100 endmenu
101 endef
102
103 define KernelPackage/mac80211/description
104 Generic IEEE 802.11 Networking Stack (mac80211)
105 endef
106
107 PKG_LINUX_FIRMWARE_NAME:=linux-firmware
108 PKG_LINUX_FIRMWARE_VERSION:=97649b1e5449029c845ebf7500e780a8867c3e89
109 PKG_LINUX_FIRMWARE_SOURCE:=$(PKG_LINUX_FIRMWARE_NAME)-$(PKG_LINUX_FIRMWARE_VERSION).tar.bz2
110 PKG_LINUX_FIRMWARE_PROTO:=git
111 PKG_LINUX_FIRMWARE_SOURCE_URL:=git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/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:=9e33ac39dcd610aa1ad80bbf4f1abccf
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-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-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-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-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 +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||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,28,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 +@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/libertas-usb
473 $(call KernelPackage/mac80211/Default)
474 DEPENDS+= @USB_SUPPORT +kmod-mac80211 +kmod-usb-core +kmod-lib80211
475 TITLE:=Marvell 88W8015 Wireless Driver
476 FILES:= \
477 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
478 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/usb8xxx.ko
479 AUTOLOAD:=$(call AutoLoad,27,libertas usb8xxx)
480 endef
481
482 define KernelPackage/libertas-sd
483 $(call KernelPackage/mac80211/Default)
484 DEPENDS+= +kmod-mac80211 +kmod-lib80211 +@DRIVER_WEXT_SUPPORT
485 TITLE:=Marvell 88W8686 Wireless Driver
486 FILES:= \
487 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
488 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas_sdio.ko
489 AUTOLOAD:=$(call AutoLoad,91,libertas libertas_sdio)
490 endef
491
492 define KernelPackage/mac80211-hwsim
493 $(call KernelPackage/mac80211/Default)
494 TITLE:=mac80211 HW simulation device
495 DEPENDS+= +kmod-mac80211
496 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.ko
497 AUTOLOAD:=$(call AutoLoad,60,mac80211_hwsim)
498 endef
499
500 define KernelPackage/net-libipw
501 $(call KernelPackage/mac80211/Default)
502 TITLE:=libipw for ipw2100 and ipw2200
503 DEPENDS:=@PCI_SUPPORT +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 +kmod-cfg80211
504 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/libipw.ko
505 AUTOLOAD:=$(call AutoLoad,49,libipw)
506 endef
507
508 define KernelPackage/net-libipw/description
509 Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
510 endef
511
512 IPW2100_NAME:=ipw2100-fw
513 IPW2100_VERSION:=1.3
514
515 define Download/net-ipw2100
516 URL:=http://bughost.org/firmware/
517 FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
518 MD5SUM=46aa75bcda1a00efa841f9707bbbd113
519 endef
520 $(eval $(call Download,net-ipw2100))
521
522 define KernelPackage/net-ipw2100
523 $(call KernelPackage/mac80211/Default)
524 TITLE:=Intel IPW2100 driver
525 DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
526 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2100.ko
527 AUTOLOAD:=$(call AutoLoad,50,ipw2100)
528 endef
529
530 define KernelPackage/net-ipw2100/description
531 Kernel support for Intel IPW2100
532 Includes:
533 - ipw2100
534 endef
535
536 IPW2200_NAME:=ipw2200-fw
537 IPW2200_VERSION:=3.1
538
539 define Download/net-ipw2200
540 URL:=http://bughost.org/firmware/
541 FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
542 MD5SUM=eaba788643c7cc7483dd67ace70f6e99
543 endef
544 $(eval $(call Download,net-ipw2200))
545
546 define KernelPackage/net-ipw2200
547 $(call KernelPackage/mac80211/Default)
548 TITLE:=Intel IPW2200 driver
549 DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
550 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2200.ko
551 AUTOLOAD:=$(call AutoLoad,50,ipw2200)
552 endef
553
554 define KernelPackage/net-ipw2200/description
555 Kernel support for Intel IPW2200
556 Includes:
557 - ipw2200
558 endef
559
560
561 define KernelPackage/net-hermes
562 $(call KernelPackage/mac80211/Default)
563 TITLE:=Hermes 802.11b chipset support
564 DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT
565 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco.ko
566 AUTOLOAD:=$(call AutoLoad,50,orinoco)
567 endef
568
569 define KernelPackage/net-hermes/description
570 Kernel support for Hermes 802.11b chipsets
571 endef
572
573 define KernelPackage/net-hermes-pci
574 $(call KernelPackage/mac80211/Default)
575 TITLE:=Intersil Prism 2.5 PCI support
576 DEPENDS:=@PCI_SUPPORT +kmod-net-hermes +kmod-cfg80211
577 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_pci.ko
578 AUTOLOAD:=$(call AutoLoad,55,orinoco_pci)
579 endef
580
581 define KernelPackage/net-hermes-pci/description
582 Kernel modules for Intersil Prism 2.5 PCI support
583 endef
584
585 define KernelPackage/net-hermes-plx
586 $(call KernelPackage/mac80211/Default)
587 TITLE:=PLX9052 based PCI adaptor
588 DEPENDS:=@PCI_SUPPORT +kmod-net-hermes +kmod-cfg80211
589 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_plx.ko
590 AUTOLOAD:=$(call AutoLoad,55,orinoco_plx)
591 endef
592
593 define KernelPackage/net-hermes-plx/description
594 Kernel modules for Hermes in PLX9052 based PCI adaptors
595 endef
596
597 define KernelPackage/net-hermes-pcmcia
598 $(call KernelPackage/mac80211/Default)
599 TITLE:=Hermes based PCMCIA adaptors
600 DEPENDS:=@PCMCIA_SUPPORT +kmod-net-hermes +kmod-cfg80211 @BROKEN
601 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_cs.ko
602 AUTOLOAD:=$(call AutoLoad,55,orinoco_cs)
603 endef
604
605 define KernelPackage/net-hermes-pcmcia/description
606 Kernel modules for Hermes based PCMCIA adaptors
607 endef
608
609 define KernelPackage/iwlagn
610 $(call KernelPackage/mac80211/Default)
611 DEPENDS:= +kmod-mac80211 @PCI_SUPPORT
612 TITLE:=Intel AGN Wireless support
613 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlwifi/iwlagn.$(LINUX_KMOD_SUFFIX)
614 AUTOLOAD:=$(call AutoLoad,60,iwlagn)
615 MENU:=1
616 endef
617
618 define KernelPackage/iwlagn/description
619 iwlagn kernel module for Intel 5000/5150/1000/6000/6050/6005/6030/100 support
620 endef
621
622 define KernelPackage/iwlagn/config
623 menu "Configuration"
624 depends on PACKAGE_kmod-iwlagn
625
626 config IWL5000_FW
627 bool "Intel 5000 Firmware"
628 default y
629 help
630 Download and install firmware for:
631 Intel 5000 wireless card into /lib/firmware.
632
633 config IWL5150_FW
634 bool "Intel 5150 Firmware"
635 default y
636 help
637 Download and install firmware for:
638 Intel 5150 wireless card into /lib/firmware.
639
640 config IWL1000_FW
641 bool "Intel 1000 Firmware"
642 default y
643 help
644 Download and install firmware for:
645 Intel 1000 wireless card into /lib/firmware.
646
647 config IWL6000_FW
648 bool "Intel 6000 Firmware"
649 default y
650 help
651 Download and install firmware for:
652 Intel 6000 wireless card into /lib/firmware.
653
654 config IWL6050_FW
655 bool "Intel 6050 Firmware"
656 default y
657 help
658 Download and install firmware for:
659 Intel 6050 wireless card into /lib/firmware.
660
661 config IWL6005_FW
662 bool "Intel 6005 Firmware"
663 default y
664 help
665 Download and install firmware for:
666 Intel 6005 wireless card into /lib/firmware.
667
668 config IWL6030_FW
669 bool "Intel 6030 Firmware"
670 default y
671 help
672 Download and install firmware for:
673 Intel 6030 wireless card into /lib/firmware.
674
675 config IWL100_FW
676 bool "Intel 100 Firmware"
677 default y
678 help
679 Download and install firmware for:
680 Intel 100 wireless card into /lib/firmware.
681
682 endmenu
683 endef
684
685 define KernelPackage/iwl-legacy
686 $(call KernelPackage/mac80211/Default)
687 DEPENDS:= +kmod-mac80211 @PCI_SUPPORT
688 TITLE:=Intel legacy Wireless support
689 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl-legacy.$(LINUX_KMOD_SUFFIX)
690 AUTOLOAD:=$(call AutoLoad,60,iwl-legacy)
691 endef
692
693 define KernelPackage/iwl-legacy/description
694 iwl-legacy kernel module for legacy Intel wireless support
695 endef
696
697 define KernelPackage/iwl3945
698 $(call KernelPackage/mac80211/Default)
699 DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy
700 TITLE:=Intel iwl3945 Wireless support
701 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl3945.$(LINUX_KMOD_SUFFIX)
702 AUTOLOAD:=$(call AutoLoad,61,iwl3945)
703 endef
704
705 define KernelPackage/iwl3945/description
706 iwl3945 kernel module for Intel 3945 support
707 endef
708
709 define KernelPackage/iwl4965
710 $(call KernelPackage/mac80211/Default)
711 DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy
712 TITLE:=Intel iwl4965 Wireless support
713 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl4965.$(LINUX_KMOD_SUFFIX)
714 AUTOLOAD:=$(call AutoLoad,61,iwl4965)
715 endef
716
717 define KernelPackage/iwl4965/description
718 iwl4965 kernel module for Intel 4965 support
719 endef
720
721
722 define KernelPackage/mwl8k
723 $(call KernelPackage/mac80211/Default)
724 TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards
725 URL:=http://wireless.kernel.org/en/users/Drivers/mwl8k
726 DEPENDS+= @PCI_SUPPORT +kmod-mac80211
727 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mwl8k.ko
728 AUTOLOAD:=$(call AutoLoad,27,mwl8k)
729 endef
730
731 define KernelPackage/mwl8k/description
732 Kernel modules for Marvell TOPDOG 802.11 Wireless cards
733 endef
734
735 #Broadcom firmware
736 ifneq ($(CONFIG_B43_FW_5_10),)
737 PKG_B43_FWV4_NAME:=broadcom-wl
738 PKG_B43_FWV4_VERSION:=5.10.56.27.3
739 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta/wl_prebuilt.o
740 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)_mipsel.tar.bz2
741 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
742 PKG_B43_FWV4_MD5SUM:=3363e3a6b3d9d73c49dea870c7834eac
743 else
744 ifneq ($(CONFIG_B43_FW_4_178),)
745 PKG_B43_FWV4_NAME:=broadcom-wl
746 PKG_B43_FWV4_VERSION:=4.178.10.4
747 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
748 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
749 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
750 PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
751 else
752 PKG_B43_FWV4_NAME:=broadcom-wl
753 PKG_B43_FWV4_VERSION:=4.150.10.5
754 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
755 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
756 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
757 PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
758 endif
759 endif
760 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
761 PKG_B43_FWV4_NAME:=broadcom-wl
762 PKG_B43_FWV4_VERSION:=5.2
763 PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
764 PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
765 PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
766 PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
767 endif
768
769
770 PKG_B43_FWV3_NAME:=wl_apsta
771 PKG_B43_FWV3_VERSION:=3.130.20.0
772 PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o
773 PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/
774 PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3
775
776 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
777 PKG_B43_FWCUTTER_NAME:=b43-fwcutter
778 PKG_B43_FWCUTTER_VERSION:=3e69531aa65b8f664a0ab00dfc3e2eefeb0cb417
779 PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
780 PKG_B43_FWCUTTER_PROTO:=git
781 PKG_B43_FWCUTTER_SOURCE_URL:=http://git.bu3sch.de/git/b43-tools.git
782 PKG_B43_FWCUTTER_SUBDIR:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)
783 PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/fwcutter/
784 else
785 PKG_B43_FWCUTTER_NAME:=b43-fwcutter
786 PKG_B43_FWCUTTER_VERSION:=014
787 PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
788 PKG_B43_FWCUTTER_PROTO:=default
789 PKG_B43_FWCUTTER_SOURCE_URL:=http://bu3sch.de/b43/fwcutter/
790 PKG_B43_FWCUTTER_MD5SUM:=dd63f9149510bd6e01b89314e955083b
791 PKG_B43_FWCUTTER_SUBDIR:=b43-fwcutter-$(PKG_B43_FWCUTTER_VERSION)
792 PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/
793 endif
794
795 define Download/b43-common
796 FILE:=$(PKG_B43_FWCUTTER_SOURCE)
797 URL:=$(PKG_B43_FWCUTTER_SOURCE_URL)
798 MD5SUM:=$(PKG_B43_FWCUTTER_MD5SUM)
799 PROTO:=$(PKG_B43_FWCUTTER_PROTO)
800 VERSION:=$(PKG_B43_FWCUTTER_VERSION)
801 SUBDIR:=$(PKG_B43_FWCUTTER_SUBDIR)
802 endef
803 $(eval $(call Download,b43-common))
804
805 define Download/b43
806 FILE:=$(PKG_B43_FWV4_SOURCE)
807 URL:=$(PKG_B43_FWV4_SOURCE_URL)
808 MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
809 endef
810 $(eval $(call Download,b43))
811
812 define Download/b43legacy
813 FILE:=$(PKG_B43_FWV3_SOURCE)
814 URL:=$(PKG_B43_FWV3_SOURCE_URL)
815 MD5SUM:=$(PKG_B43_FWV3_MD5SUM)
816 endef
817 $(eval $(call Download,b43legacy))
818
819 define KernelPackage/b43-common
820 $(call KernelPackage/mac80211/Default)
821 TITLE:=Generic stuff for Broadcom wireless devices
822 URL:=http://linuxwireless.org/en/users/Drivers/b43
823 KCONFIG:= \
824 CONFIG_HW_RANDOM=y
825 DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
826 endef
827
828 define KernelPackage/b43
829 $(call KernelPackage/b43-common)
830 TITLE:=Broadcom 43xx wireless support
831 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.ko
832 AUTOLOAD:=$(call AutoLoad,30,b43)
833 MENU:=1
834 endef
835
836 define KernelPackage/b43/config
837 menu "Configuration"
838 depends on PACKAGE_kmod-b43
839
840 choice
841 prompt "b43 firmware version"
842 default B43_FW_4_150
843 help
844 This option allows you to select the version of the b43 firmware.
845
846 config B43_FW_4_150
847 bool "Firmware 410.2160 from driver 4.150.10.5 (stable)"
848 help
849 Stable firmware for BCM43xx devices.
850
851 If unsure, select this.
852
853 config B43_FW_4_178
854 bool "Firmware 478.104 from driver 4.178.10.4"
855 help
856 Experimental firmware for BCM43xx devices.
857
858 This firmware is not tested as much as the "stable" firmware.
859
860 If unsure, select the "stable" firmware.
861
862 config B43_FW_5_10
863 bool "Firmware 508.1084 from driver 5.10.56.27"
864 help
865 Newer experimental firmware for BCM43xx devices.
866
867 This firmware is mostly untested. It is needed for some N-PHY devices.
868
869 If unsure, select the "stable" firmware.
870
871 config B43_OPENFIRMWARE
872 bool "Open FirmWare for WiFi networks"
873 help
874 Opensource firmware for BCM43xx devices.
875
876 Do _not_ select this, unless you know what you are doing.
877 The Opensource firmware is not suitable for embedded devices, yet.
878 It does not support QoS, which is bad for AccessPoints.
879 It does not support hardware crypto acceleration, which is a showstopper
880 for embedded devices with low CPU resources.
881
882 If unsure, select the "stable" firmware.
883
884 endchoice
885
886 config B43_FW_SQUASH
887 bool "Remove unnecessary firmware files"
888 depends on !B43_OPENFIRMWARE
889 default y
890 help
891 This options allows you to remove unnecessary b43 firmware files
892 from the final rootfs image. This can reduce the rootfs size by
893 up to 200k.
894
895 If unsure, say Y.
896
897 config B43_FW_SQUASH_COREREVS
898 string "Core revisions to include"
899 depends on B43_FW_SQUASH
900 default "5,6,7,8,9,10,11,13,14,15,16" if PACKAGE_B43_PHY_N
901 default "5,6,7,8,9,10,13,14,15" if !PACKAGE_B43_PHY_N
902 help
903 This is a comma seperated list of core revision numbers.
904
905 Example (keep files for rev5 only):
906 5
907
908 Example (keep files for rev5 and rev11):
909 5,11
910
911 config B43_FW_SQUASH_PHYTYPES
912 string "PHY types to include"
913 depends on B43_FW_SQUASH
914 default "G,LP,N" if PACKAGE_B43_PHY_N
915 default "G,LP" if !PACKAGE_B43_PHY_N
916 help
917 This is a comma seperated list of PHY types:
918 A => A-PHY
919 AG => Dual A-PHY G-PHY
920 G => G-PHY
921 LP => LP-PHY
922 N => N-PHY
923
924 Example (keep files for G-PHY only):
925 G
926
927 Example (keep files for G-PHY and N-PHY):
928 G,N
929
930 config PACKAGE_B43_DEBUG
931 bool "Enable debug output and debugfs for b43"
932 default n
933 help
934 Enable additional debug output and runtime sanity checks for b43
935 and enables the debugfs interface.
936
937 If unsure, say N.
938
939 config PACKAGE_B43_PIO
940 bool "Enable support for PIO transfer mode"
941 default n
942 help
943 Enable support for using PIO instead of DMA. Unless you have DMA
944 transfer problems you don't need this.
945
946 If unsure, say N.
947
948 config PACKAGE_B43_PHY_N
949 bool "Enable support for N-PHYs"
950 select B43_FW_5_10
951 default n
952 help
953 Enable support for BCM4321 and BCM4322.
954
955 Currently only 11g speed is available.
956
957 If unsure, say N.
958
959 endmenu
960 endef
961
962 define KernelPackage/b43/description
963 Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
964 endef
965
966 define KernelPackage/b43legacy
967 $(call KernelPackage/b43-common)
968 TITLE:=Broadcom 43xx-legacy wireless support
969 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.ko
970 AUTOLOAD:=$(call AutoLoad,30,b43legacy)
971 MENU:=1
972 endef
973
974 define KernelPackage/b43legacy/config
975 menu "Configuration"
976 depends on PACKAGE_kmod-b43legacy
977
978 config B43LEGACY_FW_SQUASH
979 bool "Remove unnecessary firmware files"
980 default y
981 help
982 This options allows you to remove unnecessary b43legacy firmware files
983 from the final rootfs image. This can reduce the rootfs size by
984 up to 50k.
985
986 If unsure, say Y.
987
988 config B43LEGACY_FW_SQUASH_COREREVS
989 string "Core revisions to include"
990 depends on B43LEGACY_FW_SQUASH
991 default "1,2,3,4"
992 help
993 This is a comma seperated list of core revision numbers.
994
995 Example (keep files for rev4 only):
996 4
997
998 Example (keep files for rev2 and rev4):
999 2,4
1000
1001 endmenu
1002 endef
1003
1004 define KernelPackage/b43legacy/description
1005 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
1006 endef
1007
1008 BUILDFLAGS:= \
1009 -I$(PKG_BUILD_DIR)/include \
1010 $(foreach opt,$(CONFOPTS),-DCONFIG_$(opt)) \
1011 $(if $(CONFIG_PCI),-DCONFIG_B43_PCI_AUTOSELECT -DCONFIG_B43_PCICORE_AUTOSELECT) \
1012 $(if $(CONFIG_LEDS_TRIGGERS), -DCONFIG_MAC80211_LEDS -DCONFIG_LEDS_TRIGGERS -DCONFIG_B43_LEDS -DCONFIG_B43LEGACY_LEDS) \
1013 -DCONFIG_B43_HWRNG -DCONFIG_B43LEGACY_HWRNG \
1014 $(if $(CONFIG_PCI),-DCONFIG_ATH9K_PCI) \
1015 $(if $(CONFIG_TARGET_ar71xx),-DCONFIG_ATH9K_AHB) \
1016 $(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS), -DCONFIG_CFG80211_DEBUGFS -DCONFIG_MAC80211_DEBUGFS -DCONFIG_ATH9K_DEBUGFS -DCONFIG_CARL9170_DEBUGFS -DCONFIG_ATH9K_HTC_DEBUGFS -DCONFIG_ATH5K_DEBUG) \
1017 $(if $(CONFIG_PACKAGE_ATH_DEBUG),-DCONFIG_ATH_DEBUG -DCONFIG_ATH9K_PKTLOG) \
1018 -D__CONFIG_MAC80211_RC_DEFAULT=minstrel \
1019 -DCONFIG_MAC80211_RC_MINSTREL_HT \
1020 $(if $(CONFIG_ATH_USER_REGD),-DATH_USER_REGD=1) \
1021 $(if $(CONFIG_PACKAGE_B43_DEBUG),-DCONFIG_B43_DEBUG) \
1022 $(if $(CONFIG_PACKAGE_B43_PIO),-DCONFIG_B43_PIO) \
1023 $(if $(CONFIG_PACKAGE_B43_PHY_N),-DCONFIG_B43_PHY_N) \
1024 $(if $(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS),-DCONFIG_RT2X00_LIB_DEBUGFS) \
1025 $(if $(CONFIG_PACKAGE_RT2X00_DEBUG),-DCONFIG_RT2X00_DEBUG) \
1026 $(if $(NEED_RT2X00_LIB_HT),-DCONFIG_RT2X00_LIB_HT) \
1027 $(if $(NEED_RT2X00_LIB_CRYPTO),-DCONFIG_RT2X00_LIB_CRYPTO) \
1028 $(if $(NEED_RT2X00_LIB_FIRMWARE),-DCONFIG_RT2X00_LIB_FIRMWARE) \
1029 $(if $(NEED_RT2X00_LIB_EEPROM),-DCONFIG_RT2X00_LIB_EEPROM) \
1030 $(if $(NEED_RT2X00_LIB_LEDS),-DCONFIG_RT2X00_LIB_LEDS) \
1031 $(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),-DCONFIG_RT2X00_LIB_PCI) \
1032 $(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),-DCONFIG_RT2X00_LIB_USB) \
1033 $(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),-DCONFIG_RT2X00_LIB_SOC) \
1034 $(if $(CONFIG_TARGET_atheros),-DCONFIG_ATH5K_AHB,-DCONFIG_ATH5K_PCI) \
1035 $(if $(CONFIG_PACKAGE_kmod-iwl3945),-DCONFIG_IWL3945) \
1036 $(if $(CONFIG_PACKAGE_kmod-iwl4965),-DCONFIG_COMPAT_IWL4965)
1037
1038 MAKE_OPTS:= \
1039 CROSS_COMPILE="$(KERNEL_CROSS)" \
1040 ARCH="$(LINUX_KARCH)" \
1041 EXTRA_CFLAGS="$(BUILDFLAGS)" \
1042 $(foreach opt,$(CONFOPTS),CONFIG_$(opt)=m) \
1043 CONFIG_MAC80211=$(if $(CONFIG_PACKAGE_kmod-mac80211),m) \
1044 CONFIG_MAC80211_RC_MINSTREL=y \
1045 CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \
1046 CONFIG_CFG80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1047 CONFIG_MAC80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1048 CONFIG_B43_PCMCIA=n CONFIG_B43_PIO=n \
1049 CONFIG_B43_PCI_AUTOSELECT=$(if $(CONFIG_PCI),y) \
1050 CONFIG_B43_PCICORE_AUTOSELECT=$(if $(CONFIG_PCI),y) \
1051 CONFIG_B43LEGACY_LEDS=$(CONFIG_LEDS_TRIGGERS) \
1052 CONFIG_B43_LEDS=$(CONFIG_LEDS_TRIGGERS) \
1053 CONFIG_B43_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
1054 CONFIG_B43LEGACY_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
1055 CONFIG_B43=$(if $(CONFIG_PACKAGE_kmod-b43),m) \
1056 CONFIG_B43LEGACY=$(if $(CONFIG_PACKAGE_kmod-b43legacy),m) \
1057 CONFIG_B43_DEBUG=$(if $(CONFIG_PACKAGE_B43_DEBUG),y) \
1058 CONFIG_B43_PIO=$(if $(CONFIG_PACKAGE_B43_PIO),y) \
1059 CONFIG_B43_PHY_N=$(if $(CONFIG_PACKAGE_B43_PHY_N),y) \
1060 CONFIG_ATH_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath),m) \
1061 CONFIG_ATH_DEBUG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
1062 CONFIG_ATH9K_PKTLOG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
1063 CONFIG_ATH5K=$(if $(CONFIG_PACKAGE_kmod-ath5k),m) \
1064 CONFIG_ATH5K_PCI=$(if $(CONFIG_TARGET_atheros),,y) \
1065 CONFIG_ATH5K_AHB=$(if $(CONFIG_TARGET_atheros),y) \
1066 CONFIG_ATH5K_DEBUG=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1067 CONFIG_ATH9K=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
1068 CONFIG_ATH9K_PCI=$(CONFIG_PCI) \
1069 CONFIG_ATH9K_AHB=$(if $(CONFIG_TARGET_ar71xx),y) \
1070 CONFIG_ATH9K_HTC=$(if $(CONFIG_PACKAGE_kmod-ath9k-htc),m) \
1071 CONFIG_ATH9K_HTC_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1072 CONFIG_ATH9K_HW=$(if $(CONFIG_PACKAGE_kmod-ath9k-common),m) \
1073 CONFIG_ATH9K_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath9k-common),m) \
1074 CONFIG_ATH9K_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1075 CONFIG_CARL9170=$(if $(CONFIG_PACKAGE_kmod-carl9170),m) \
1076 CONFIG_CARL9170_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1077 CONFIG_COMPAT_ZD1211RW=$(if $(CONFIG_PACKAGE_kmod-zd1211rw),m) \
1078 CONFIG_P54_COMMON=$(if $(CONFIG_PACKAGE_kmod-p54-common),m) \
1079 CONFIG_P54_PCI=$(if $(CONFIG_PACKAGE_kmod-p54-pci),m) \
1080 CONFIG_P54_USB=$(if $(CONFIG_PACKAGE_kmod-p54-usb),m) \
1081 CONFIG_P54_SPI=$(if $(CONFIG_PACKAGE_kmod-p54-spi),m) \
1082 CONFIG_P54_SPI_DEFAULT_EEPROM=n \
1083 CONFIG_RT2X00=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
1084 CONFIG_RT2X00_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
1085 CONFIG_RT2X00_LIB_PCI=$(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),m) \
1086 CONFIG_RT2X00_LIB_USB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),m) \
1087 CONFIG_RT2X00_LIB_SOC=$(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),m) \
1088 CONFIG_RT2X00_LIB_DEBUGFS=$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) \
1089 CONFIG_RT2X00_LIB_CRYPTO=$(NEED_RT2X00_LIB_CRYPTO) \
1090 CONFIG_RT2X00_LIB_FIRMWARE=$(NEED_RT2X00_LIB_FIRMWARE) \
1091 CONFIG_RT2X00_LIB_EEPROM=$(NEED_RT2X00_LIB_EEPROM) \
1092 CONFIG_RT2X00_LIB_HT=$(NEED_RT2X00_LIB_HT) \
1093 CONFIG_RT2X00_LIB_LEDS=$(NEED_RT2X00_LIB_LEDS) \
1094 CONFIG_RT2400PCI=$(if $(CONFIG_PACKAGE_kmod-rt2400-pci),m) \
1095 CONFIG_RT2500PCI=$(if $(CONFIG_PACKAGE_kmod-rt2500-pci),m) \
1096 CONFIG_RT2500USB=$(if $(CONFIG_PACKAGE_kmod-rt2500-usb),m) \
1097 CONFIG_RT61PCI=$(if $(CONFIG_PACKAGE_kmod-rt61-pci),m) \
1098 CONFIG_RT73USB=$(if $(CONFIG_PACKAGE_kmod-rt73-usb),m) \
1099 CONFIG_RT2800_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2800-lib),m) \
1100 CONFIG_RT2800PCI=$(if $(CONFIG_PACKAGE_kmod-rt2800-pci),m) \
1101 CONFIG_RT2800USB=$(if $(CONFIG_PACKAGE_kmod-rt2800-usb),m) \
1102 CONFIG_RTL8180=$(if $(CONFIG_PACKAGE_kmod-rtl8180),m) \
1103 CONFIG_RTL8187=$(if $(CONFIG_PACKAGE_kmod-rtl8187),m) \
1104 CONFIG_RTL8192CE= \
1105 CONFIG_RTLWIFI= \
1106 CONFIG_MAC80211_HWSIM=$(if $(CONFIG_PACKAGE_kmod-mac80211-hwsim),m) \
1107 CONFIG_PCMCIA= \
1108 CONFIG_LIBIPW=$(if $(CONFIG_PACKAGE_kmod-net-libipw),m) \
1109 CONFIG_LIBERTAS=$(if $(CONFIG_PACKAGE_kmod-libertas-sd)$(CONFIG_PACKAGE_kmod-libertas-usb),m) \
1110 CONFIG_LIBERTAS_CS= \
1111 CONFIG_LIBERTAS_SPI= \
1112 CONFIG_LIBERTAS_SDIO=$(if $(CONFIG_PACKAGE_kmod-libertas-sd),m) \
1113 CONFIG_LIBERTAS_THINFIRM= \
1114 CONFIG_LIBERTAS_USB=$(if $(CONFIG_PACKAGE_kmod-libertas-usb),m) \
1115 CONFIG_IPW2100=$(if $(CONFIG_PACKAGE_kmod-net-ipw2100),m) \
1116 CONFIG_IPW2200=$(if $(CONFIG_PACKAGE_kmod-net-ipw2200),m) \
1117 CONFIG_NL80211=y \
1118 CONFIG_LIB80211= \
1119 CONFIG_LIB80211_CRYPT_WEP= \
1120 CONFIG_LIB80211_CRYPT_CCMP= \
1121 CONFIG_LIB80211_CRYPT_TKIP= \
1122 CONFIG_IWLAGN=$(if $(CONFIG_PACKAGE_kmod-iwlagn),m) \
1123 CONFIG_IWLWIFI_LEGACY=$(if $(CONFIG_PACKAGE_kmod-iwl-legacy),m) \
1124 CONFIG_COMPAT_IWL4965=$(if $(CONFIG_PACKAGE_kmod-iwl4965),m) \
1125 CONFIG_IWL3945=$(if $(CONFIG_PACKAGE_kmod-iwl3945),m) \
1126 CONFIG_MWL8K=$(if $(CONFIG_PACKAGE_kmod-mwl8k),m) \
1127 CONFIG_ATMEL= \
1128 CONFIG_PCMCIA_ATMEL= \
1129 CONFIG_ADM8211= \
1130 CONFIG_USB_NET_RNDIS_HOST= \
1131 CONFIG_USB_NET_RNDIS_WLAN= \
1132 CONFIG_USB_NET_CDCETHER= \
1133 CONFIG_USB_USBNET= \
1134 CONFIG_AT76C50X_USB= \
1135 CONFIG_WL12XX= \
1136 CONFIG_EEPROM_93CX6= \
1137 CONFIG_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes),m) \
1138 CONFIG_HERMES_CACHE_FW_ON_INIT= \
1139 CONFIG_PCI_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-pci),m) \
1140 CONFIG_PLX_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-plx),m) \
1141 CONFIG_PCMCIA_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-pcmcia),m) \
1142 CONFIG_HERMES_PRISM= \
1143 CONFIG_APPLE_AIRPORT= \
1144 CONFIG_TMD_HERMES= \
1145 CONFIG_NORTEL_HERMES= \
1146 CONFIG_PCMCIA_SPECTRUM= \
1147 CONFIG_ORINOCO_USB= \
1148 CONFIG_IWM= \
1149 CONFIG_MWIFIEX= \
1150 CONFIG_MAC80211_RC_MINSTREL_HT=y \
1151 MADWIFI= \
1152 CONFIG_B44= \
1153 CONFIG_ATL1= \
1154 CONFIG_ATL2= \
1155 CONFIG_ATL1E= \
1156 CONFIG_ATL1C= \
1157 KLIB_BUILD="$(LINUX_DIR)" \
1158 MODPROBE=: \
1159 KLIB=$(TARGET_MODULES_DIR) \
1160 KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \
1161 KBUILD_LDFLAGS_MODULE_PREREQ=
1162
1163 ifeq ($(CONFIG_PACKAGE_kmod-libertas-sd)$(CONFIG_PACKAGE_kmod-libertas-usb)$(CONFIG_PACKAGE_kmod-rt2x00-lib),)
1164 MAKE_OPTS += CONFIG_COMPAT_KFIFO=
1165 endif
1166
1167 define Build/Prepare
1168 rm -rf $(PKG_BUILD_DIR)
1169 mkdir -p $(PKG_BUILD_DIR)
1170 $(PKG_UNPACK)
1171 $(Build/Patch)
1172 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
1173 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
1174 $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
1175 $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(PKG_LINUX_FIRMWARE_SOURCE)
1176 rm -rf $(PKG_BUILD_DIR)/include/linux/ssb
1177 rm -f $(PKG_BUILD_DIR)/include/net/ieee80211.h
1178 endef
1179
1180 ifneq ($(CONFIG_PACKAGE_kmod-cfg80211),)
1181 define Build/Compile/kmod
1182 rm -rf $(PKG_BUILD_DIR)/modules
1183 $(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" $(MAKE_OPTS) all
1184 endef
1185 endif
1186
1187 define Build/Compile
1188 $(call Build/Compile/kmod)
1189 endef
1190
1191 define Build/InstallDev
1192 mkdir -p \
1193 $(1)/usr/include/mac80211 \
1194 $(1)/usr/include/mac80211/ath \
1195 $(1)/usr/include/net/mac80211
1196 $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
1197 $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
1198 $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
1199 endef
1200
1201 define KernelPackage/libertas-usb/install
1202 $(INSTALL_DIR) $(1)/lib/firmware
1203 $(INSTALL_DATA) \
1204 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8388_v9.bin \
1205 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8388_v5.bin \
1206 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8682.bin \
1207 $(1)/lib/firmware/
1208 endef
1209
1210 define KernelPackage/libertas-sd/install
1211 $(INSTALL_DIR) $(1)/lib/firmware
1212 $(INSTALL_DATA) \
1213 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8385_helper.bin \
1214 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8385.bin \
1215 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v9_helper.bin \
1216 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v9.bin \
1217 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v8_helper.bin \
1218 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v8.bin \
1219 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8688_helper.bin \
1220 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8688.bin \
1221 $(1)/lib/firmware/
1222 endef
1223
1224 define KernelPackage/cfg80211/install
1225 $(INSTALL_DIR) $(1)/lib/wifi
1226 $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
1227 endef
1228
1229 define KernelPackage/p54-pci/install
1230 $(INSTALL_DIR) $(1)/lib/firmware
1231 $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
1232 endef
1233
1234 define KernelPackage/p54-usb/install
1235 $(INSTALL_DIR) $(1)/lib/firmware
1236 $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
1237 endef
1238
1239 define KernelPackage/p54-spi/install
1240 $(INSTALL_DIR) $(1)/lib/firmware
1241 $(INSTALL_DATA) $(DL_DIR)/$(P54SPIFW) $(1)/lib/firmware/3826.arm
1242 endef
1243
1244 define KernelPackage/rt61-pci/install
1245 $(INSTALL_DIR) $(1)/lib/firmware
1246 $(INSTALL_DATA) \
1247 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2561.bin \
1248 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2561s.bin \
1249 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2661.bin \
1250 $(1)/lib/firmware/
1251 endef
1252
1253 define KernelPackage/rt73-usb/install
1254 $(INSTALL_DIR) $(1)/lib/firmware
1255 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt73.bin $(1)/lib/firmware/
1256 endef
1257
1258 define KernelPackage/rt2800-pci/install
1259 $(INSTALL_DIR) $(1)/lib/firmware
1260 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2860.bin $(1)/lib/firmware/
1261 endef
1262
1263 define KernelPackage/rt2800-usb/install
1264 $(INSTALL_DIR) $(1)/lib/firmware
1265 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2870.bin $(1)/lib/firmware/
1266 endef
1267
1268 define KernelPackage/zd1211rw/install
1269 $(INSTALL_DIR) $(1)/lib/firmware/zd1211
1270 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
1271 endef
1272
1273 define KernelPackage/ath9k-htc/install
1274 $(INSTALL_DIR) $(1)/lib/firmware
1275 $(INSTALL_DATA) \
1276 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ar9271.fw \
1277 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ar7010.fw \
1278 $(1)/lib/firmware/
1279 endef
1280
1281 define KernelPackage/mwl8k/install
1282 $(INSTALL_DIR) $(1)/lib/firmware
1283 $(INSTALL_DATA) \
1284 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366_ap-2.fw \
1285 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366.fw \
1286 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8366.fw \
1287 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8687.fw \
1288 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8687.fw \
1289 $(1)/lib/firmware/
1290 endef
1291
1292 define KernelPackage/net-ipw2100/install
1293 $(INSTALL_DIR) $(1)/lib/firmware
1294 $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
1295 endef
1296
1297 define KernelPackage/net-ipw2200/install
1298 $(INSTALL_DIR) $(1)/lib/firmware
1299 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
1300 endef
1301
1302 define KernelPackage/iwlagn/install
1303 $(INSTALL_DIR) $(1)/lib/firmware
1304 ifneq ($(CONFIG_IWL5000_FW),)
1305 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5000-5.ucode $(1)/lib/firmware
1306 endif
1307 ifneq ($(CONFIG_IWL5150_FW),)
1308 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5150-2.ucode $(1)/lib/firmware
1309 endif
1310 ifneq ($(CONFIG_IWL1000_FW),)
1311 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-1000-5.ucode $(1)/lib/firmware
1312 endif
1313 ifneq ($(CONFIG_IWL6000_FW),)
1314 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000-4.ucode $(1)/lib/firmware
1315 endif
1316 ifneq ($(CONFIG_IWL6050_FW),)
1317 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6050-5.ucode $(1)/lib/firmware
1318 endif
1319 ifneq ($(CONFIG_IWL6005_FW),)
1320 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2a-5.ucode $(1)/lib/firmware
1321 endif
1322 ifneq ($(CONFIG_IWL6030_FW),)
1323 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2b-5.ucode $(1)/lib/firmware
1324 endif
1325 ifneq ($(CONFIG_IWL100_FW),)
1326 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-100-5.ucode $(1)/lib/firmware
1327 endif
1328 endef
1329
1330 define KernelPackage/iwl3945/install
1331 $(INSTALL_DIR) $(1)/lib/firmware
1332 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-3945-2.ucode $(1)/lib/firmware
1333 endef
1334
1335 define KernelPackage/iwl4965/install
1336 $(INSTALL_DIR) $(1)/lib/firmware
1337 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-4965-2.ucode $(1)/lib/firmware
1338 endef
1339
1340 define Build/b43-common
1341 tar xjf "$(DL_DIR)/$(PKG_B43_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)"
1342 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)" \
1343 CFLAGS="-I$(STAGING_DIR_HOST)/include -include endian.h" \
1344 QUIET_SPARSE=:
1345 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)/b43-fwcutter $(STAGING_DIR_HOST)/bin/
1346 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1347 $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/
1348 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/"
1349 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm $(STAGING_DIR_HOST)/bin/
1350 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm.bin $(STAGING_DIR_HOST)/bin/
1351 endif
1352 $(INSTALL_BIN) ./files/host_bin/b43-fwsquash.py $(STAGING_DIR_HOST)/bin/
1353 endef
1354
1355 define KernelPackage/b43/install
1356 rm -rf $(1)/lib/firmware/
1357 $(call Build/b43-common)
1358 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1359 tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1360 else
1361 tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1362 endif
1363 $(INSTALL_DIR) $(1)/lib/firmware/
1364 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1365 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
1366 $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
1367 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
1368 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
1369 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
1370 else
1371 b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
1372 endif
1373 ifneq ($(CONFIG_B43_FW_SQUASH),)
1374 b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
1375 endif
1376 endef
1377
1378 define KernelPackage/b43legacy/install
1379 $(call Build/b43-common)
1380 $(INSTALL_DIR) $(1)/lib/firmware/
1381
1382 b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
1383 ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
1384 b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy"
1385 endif
1386 endef
1387
1388 $(eval $(call KernelPackage,ath5k))
1389 $(eval $(call KernelPackage,libertas-usb))
1390 $(eval $(call KernelPackage,libertas-sd))
1391 $(eval $(call KernelPackage,cfg80211))
1392 $(eval $(call KernelPackage,mac80211))
1393 $(eval $(call KernelPackage,p54-common))
1394 $(eval $(call KernelPackage,p54-pci))
1395 $(eval $(call KernelPackage,p54-usb))
1396 $(eval $(call KernelPackage,p54-spi))
1397 $(eval $(call KernelPackage,rt2x00-lib))
1398 $(eval $(call KernelPackage,rt2x00-pci))
1399 $(eval $(call KernelPackage,rt2x00-usb))
1400 $(eval $(call KernelPackage,rt2x00-soc))
1401 $(eval $(call KernelPackage,rt2800-lib))
1402 $(eval $(call KernelPackage,rt2400-pci))
1403 $(eval $(call KernelPackage,rt2500-pci))
1404 $(eval $(call KernelPackage,rt2500-usb))
1405 $(eval $(call KernelPackage,rt61-pci))
1406 $(eval $(call KernelPackage,rt73-usb))
1407 $(eval $(call KernelPackage,rt2800-pci))
1408 $(eval $(call KernelPackage,rt2800-usb))
1409 $(eval $(call KernelPackage,rtl8180))
1410 $(eval $(call KernelPackage,rtl8187))
1411 $(eval $(call KernelPackage,zd1211rw))
1412 $(eval $(call KernelPackage,mac80211-hwsim))
1413 $(eval $(call KernelPackage,ath9k-common))
1414 $(eval $(call KernelPackage,ath9k))
1415 $(eval $(call KernelPackage,ath9k-htc))
1416 $(eval $(call KernelPackage,ath))
1417 $(eval $(call KernelPackage,carl9170))
1418 $(eval $(call KernelPackage,b43))
1419 $(eval $(call KernelPackage,b43legacy))
1420 $(eval $(call KernelPackage,net-libipw))
1421 $(eval $(call KernelPackage,net-ipw2100))
1422 $(eval $(call KernelPackage,net-ipw2200))
1423 $(eval $(call KernelPackage,iwlagn))
1424 $(eval $(call KernelPackage,iwl-legacy))
1425 $(eval $(call KernelPackage,iwl4965))
1426 $(eval $(call KernelPackage,iwl3945))
1427 $(eval $(call KernelPackage,mwl8k))
1428 $(eval $(call KernelPackage,net-hermes))
1429 $(eval $(call KernelPackage,net-hermes-pci))
1430 $(eval $(call KernelPackage,net-hermes-plx))
1431 $(eval $(call KernelPackage,net-hermes-pcmcia))