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