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