ath9k: compile out the ath9k rate control
[openwrt/openwrt.git] / package / mac80211 / Makefile
1 #
2 # Copyright (C) 2007-2010 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9 include $(INCLUDE_DIR)/kernel.mk
10
11 PKG_NAME:=mac80211
12
13 PKG_VERSION:=2010-09-28
14 PKG_RELEASE:=1
15 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
16 # http://www.orbit-lab.org/kernel/compat-wireless-2.6/2010/11 \
17 # http://wireless.kernel.org/download/compat-wireless-2.6
18 PKG_MD5SUM:=c1b4ebcb61a59824493ec35f799f8393
19
20 PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
21 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
22 PKG_BUILD_PARALLEL:=1
23
24 PKG_CONFIG_DEPENDS:= \
25 CONFIG_PACKAGE_kmod-mac80211 \
26 CONFIG_PACKAGE_MAC80211_DEBUGFS \
27 CONFIG_PACKAGE_ATH_DEBUG \
28 CONFIG_ATH_USER_REGD \
29
30 CARL9170_FW_VERSION:=1.8.8.2
31
32 include $(INCLUDE_DIR)/package.mk
33
34 WMENU:=Wireless Drivers
35
36 define KernelPackage/mac80211/Default
37 SUBMENU:=$(WMENU)
38 URL:=http://linuxwireless.org/
39 MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
40 DEPENDS:=@(!(TARGET_avr32||TARGET_ep93xx||TARGET_ps3||TARGET_pxcab)||BROKEN)
41 endef
42
43 define KernelPackage/cfg80211
44 $(call KernelPackage/mac80211/Default)
45 TITLE:=cfg80211 - wireless configuration API
46 DEPENDS+= +wireless-tools +iw @!LINUX_2_6_25 +crda
47 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.33)),1)
48 FILES:= \
49 $(PKG_BUILD_DIR)/compat/compat.ko \
50 $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
51 AUTOLOAD:=$(call AutoLoad,20,compat cfg80211)
52 else
53 FILES:= \
54 $(PKG_BUILD_DIR)/compat/compat.ko \
55 $(PKG_BUILD_DIR)/compat/compat_firmware_class.ko \
56 $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
57 AUTOLOAD:=$(call AutoLoad,20,compat compat_firmware_class cfg80211)
58 endif
59 endef
60
61 define KernelPackage/cfg80211/description
62 cfg80211 is the Linux wireless LAN (802.11) configuration API.
63 endef
64
65 define KernelPackage/mac80211
66 $(call KernelPackage/mac80211/Default)
67 TITLE:=Linux 802.11 Wireless Networking Stack
68 DEPENDS+= +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-cfg80211
69 FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.ko
70 AUTOLOAD:=$(call AutoLoad,21,mac80211)
71 MENU:=1
72 endef
73
74 define KernelPackage/mac80211/config
75 menu "Configuration"
76 depends on PACKAGE_kmod-mac80211
77
78 config PACKAGE_MAC80211_DEBUGFS
79 bool "Export mac80211 internals in DebugFS"
80 default y
81 help
82 Select this to see extensive information about
83 the internal state of mac80211 in debugfs.
84
85 Say N unless you know you need this.
86
87 endmenu
88 endef
89
90 define KernelPackage/mac80211/description
91 Generic IEEE 802.11 Networking Stack (mac80211)
92 endef
93
94 # Prism54 drivers
95 P54PCIFW:=2.13.12.0.arm
96 P54USBFW:=2.13.24.0.lm87.arm
97 P54SPIFW:=2.13.0.0.a.13.14.arm
98 CARL9170_FW:=carl9170-1.fw
99
100 define Download/p54usb
101 FILE:=$(P54USBFW)
102 URL:=http://daemonizer.de/prism54/prism54-fw/fw-usb
103 MD5SUM:=8e8ab005a4f8f0123bcdc51bc25b47f6
104 endef
105 $(eval $(call Download,p54usb))
106
107 define Download/p54pci
108 FILE:=$(P54PCIFW)
109 URL:=http://daemonizer.de/prism54/prism54-fw/fw-softmac
110 MD5SUM:=ff7536af2092b1c4b21315bd103ef4c4
111 endef
112 $(eval $(call Download,p54pci))
113
114 define Download/p54spi
115 FILE:=$(P54SPIFW)
116 URL:=http://daemonizer.de/prism54/prism54-fw/stlc4560
117 MD5SUM:=42661f8ecbadd88012807493f596081d
118 endef
119 $(eval $(call Download,p54spi))
120
121 define Download/carl9170
122 FILE:=$(CARL9170_FW)
123 URL:=http://www.kernel.org/pub/linux/kernel/people/chr/carl9170/fw/$(CARL9170_FW_VERSION)
124 MD5SUM:=114c43846ed1d2f89cc92bd0e2ec0589
125 endef
126 $(eval $(call Download,carl9170))
127
128 define KernelPackage/p54/Default
129 $(call KernelPackage/mac80211/Default)
130 TITLE:=Prism54 Drivers
131 endef
132
133 define KernelPackage/p54/description
134 Kernel module for Prism54 chipsets (mac80211)
135 endef
136
137 define KernelPackage/p54-common
138 $(call KernelPackage/p54/Default)
139 DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT||@TARGET_omap24xx +kmod-mac80211
140 TITLE+= (COMMON)
141 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54common.ko
142 AUTOLOAD:=$(call AutoLoad,30,p54common)
143 endef
144
145 define KernelPackage/p54-pci
146 $(call KernelPackage/p54/Default)
147 TITLE+= (PCI)
148 DEPENDS+= @PCI_SUPPORT +kmod-p54-common
149 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54pci.ko
150 AUTOLOAD:=$(call AutoLoad,31,p54pci)
151 endef
152
153 define KernelPackage/p54-usb
154 $(call KernelPackage/p54/Default)
155 TITLE+= (USB)
156 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common
157 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54usb.ko
158 AUTOLOAD:=$(call AutoLoad,31,p54usb)
159 endef
160
161 define KernelPackage/p54-spi
162 $(call KernelPackage/p54/Default)
163 TITLE+= (SPI)
164 DEPENDS+= @TARGET_omap24xx +kmod-p54-common
165 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54spi.ko
166 AUTOLOAD:=$(call AutoLoad,31,p54spi)
167 endef
168
169 # Ralink rt2x00 drivers
170 RT61FW:=RT61_Firmware_V1.2.zip
171 RT71FW:=RT71W_Firmware_V1.8.zip
172 RT2860FW:=RT2860_Firmware_V11.zip
173 RT2870FW:=RT2870_Firmware_V8.zip
174
175 define Download/rt61
176 FILE:=$(RT61FW)
177 URL:=http://www.ralinktech.com.tw/data/
178 MD5SUM:=d4c690c93b470bc9a681297c2adc6281
179 endef
180 $(eval $(call Download,rt61))
181
182 define Download/rt71w
183 FILE:=$(RT71FW)
184 URL:=http://www.ralinktech.com.tw/data/
185 MD5SUM:=1e7a5dc574e0268574fcda3fd5cf52f7
186 endef
187 $(eval $(call Download,rt71w))
188
189 define Download/rt2860
190 FILE:=$(RT2860FW)
191 URL:=http://www.ralinktech.com.tw/data/drivers
192 MD5SUM:=440a81756a52c53528f16faa41c40124
193 endef
194 $(eval $(call Download,rt2860))
195
196 define Download/rt2870
197 FILE:=$(RT2870FW)
198 URL:=http://www.ralinktech.com.tw/data/drivers
199 MD5SUM:=a7aae1d8cfd68e4d86a73000df0b6584
200 endef
201 $(eval $(call Download,rt2870))
202
203 AR9170FW:=ar9170.fw
204
205 define Download/ar9170
206 FILE:=$(AR9170FW)
207 URL:=http://www.kernel.org/pub/linux/kernel/people/mcgrof/firmware/ar9170
208 MD5SUM:=34feec4ec0eae3bb92c7c1ea2dfb4530
209 endef
210 $(eval $(call Download,ar9170))
211
212 NEED_RT2X00_LIB_CRYPTO:=y
213 NEED_RT2X00_LIB_FIRMWARE:=y
214 NEED_RT2X00_LIB_HT:=y
215 NEED_RT2X00_LIB_LEDS:=y
216
217 define KernelPackage/rt2x00/Default
218 $(call KernelPackage/mac80211/Default)
219 TITLE:=Ralink Drivers for RT2x00 cards
220 endef
221
222 define KernelPackage/rt2x00-lib
223 $(call KernelPackage/rt2x00/Default)
224 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-mac80211 +kmod-crc-itu-t
225 TITLE+= (LIB)
226 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00lib.ko
227 AUTOLOAD:=$(call AutoLoad,25,rt2x00lib)
228 MENU:=1
229 endef
230
231 define KernelPackage/rt2x00-lib/config
232 menu "Configuration"
233 depends PACKAGE_kmod-rt2x00-lib
234
235 config PACKAGE_RT2X00_LIB_DEBUGFS
236 bool "Enable rt2x00 debugfs support"
237 depends PACKAGE_MAC80211_DEBUGFS
238 help
239 Enable creation of debugfs files for the rt2x00 drivers.
240 These debugfs files support both reading and writing of the
241 most important register types of the rt2x00 hardware.
242
243 config PACKAGE_RT2X00_DEBUG
244 bool "Enable rt2x00 debug output"
245 help
246 Enable debugging output for all rt2x00 modules
247
248 endmenu
249 endef
250
251 define KernelPackage/rt2x00-pci
252 $(call KernelPackage/rt2x00/Default)
253 DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-eeprom-93cx6
254 TITLE+= (PCI)
255 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00pci.ko
256 AUTOLOAD:=$(call AutoLoad,26,rt2x00pci)
257 endef
258
259 define KernelPackage/rt2x00-usb
260 $(call KernelPackage/rt2x00/Default)
261 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
262 TITLE+= (USB)
263 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00usb.ko
264 AUTOLOAD:=$(call AutoLoad,26,rt2x00usb)
265 endef
266
267 define KernelPackage/rt2x00-soc
268 $(call KernelPackage/rt2x00/Default)
269 DEPENDS+= @TARGET_ramips +kmod-rt2x00-lib
270 TITLE+= (SoC)
271 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00soc.ko
272 AUTOLOAD:=$(call AutoLoad,26,rt2x00soc)
273 endef
274
275 define KernelPackage/rt2800-lib
276 $(call KernelPackage/rt2x00/Default)
277 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +USB_SUPPORT:kmod-rt2x00-usb +TARGET_ramips:kmod-rt2x00-soc
278 TITLE+= (rt2800 LIB)
279 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800lib.ko
280 AUTOLOAD:=$(call AutoLoad,27,rt2800lib)
281 endef
282
283 define KernelPackage/rt2400-pci
284 $(call KernelPackage/rt2x00/Default)
285 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
286 TITLE+= (RT2400 PCI)
287 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2400pci.ko
288 AUTOLOAD:=$(call AutoLoad,27,rt2400pci)
289 endef
290
291 define KernelPackage/rt2500-pci
292 $(call KernelPackage/rt2x00/Default)
293 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
294 TITLE+= (RT2500 PCI)
295 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500pci.ko
296 AUTOLOAD:=$(call AutoLoad,27,rt2500pci)
297 endef
298
299 define KernelPackage/rt2500-usb
300 $(call KernelPackage/rt2x00/Default)
301 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
302 TITLE+= (RT2500 USB)
303 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500usb.ko
304 AUTOLOAD:=$(call AutoLoad,27,rt2500usb)
305 endef
306
307 define KernelPackage/rt61-pci
308 $(call KernelPackage/rt2x00/Default)
309 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
310 TITLE+= (RT2x61 PCI)
311 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt61pci.ko
312 AUTOLOAD:=$(call AutoLoad,27,rt61pci)
313 endef
314
315 define KernelPackage/rt73-usb
316 $(call KernelPackage/rt2x00/Default)
317 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
318 TITLE+= (RT73 USB)
319 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt73usb.ko
320 AUTOLOAD:=$(call AutoLoad,27,rt73usb)
321 endef
322
323 define KernelPackage/rt2800-pci
324 $(call KernelPackage/rt2x00/Default)
325 DEPENDS+= +kmod-rt2x00-pci +kmod-rt2800-lib +kmod-crc-ccitt +TARGET_ramips:kmod-rt2x00-soc
326 TITLE+= (RT2860 PCI)
327 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800pci.ko
328 AUTOLOAD:=$(call AutoLoad,28,rt2800pci)
329 endef
330
331 define KernelPackage/rt2800-usb
332 $(call KernelPackage/rt2x00/Default)
333 DEPENDS+= +kmod-rt2x00-usb +kmod-rt2800-lib +kmod-crc-ccitt
334 TITLE+= (RT2870 USB)
335 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800usb.ko
336 AUTOLOAD:=$(call AutoLoad,28,rt2800usb)
337 endef
338
339 define KernelPackage/rtl818x/Default
340 $(call KernelPackage/mac80211/Default)
341 TITLE:=Realtek Drivers for RTL818x devices
342 URL:=http://wireless.kernel.org/en/users/Drivers/rtl8187
343 DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211
344 endef
345
346 define KernelPackage/rtl8180
347 $(call KernelPackage/rtl818x/Default)
348 DEPENDS+= @PCI_SUPPORT
349 TITLE+= (RTL8180 PCI)
350 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8180.ko
351 AUTOLOAD:=$(call AutoLoad,27,rtl8180)
352 endef
353
354 define KernelPackage/rtl8187
355 $(call KernelPackage/rtl818x/Default)
356 DEPENDS+= @USB_SUPPORT
357 TITLE+= (RTL8187 USB)
358 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8187.ko
359 AUTOLOAD:=$(call AutoLoad,27,rtl8187)
360 endef
361
362 ZD1211FW_NAME:=zd1211-firmware
363 ZD1211FW_VERSION:=1.4
364 define Download/zd1211rw
365 FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
366 URL:=@SF/zd1211/
367 MD5SUM:=19f28781d76569af8551c9d11294c870
368 endef
369 $(eval $(call Download,zd1211rw))
370
371 define KernelPackage/zd1211rw
372 $(call KernelPackage/mac80211/Default)
373 TITLE:=Zydas ZD1211 support
374 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
375 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zd1211rw/zd1211rw.ko
376 AUTOLOAD:=$(call AutoLoad,60,zd1211rw)
377 endef
378
379 define KernelPackage/ath/config
380 menu "Configuration"
381 depends on PACKAGE_kmod-ath
382
383 config ATH_USER_REGD
384 bool "Force Atheros drivers to respect the user's regdomain settings"
385 help
386 Atheros' idea of regulatory handling is that the EEPROM of the card defines
387 the regulatory limits and the user is only allowed to restrict the settings
388 even further, even if the country allows frequencies or power levels that
389 are forbidden by the EEPROM settings.
390
391 Select this option if you want the driver to respect the user's decision about
392 regulatory settings.
393
394 config PACKAGE_ATH_DEBUG
395 bool "Atheros wireless debugging"
396 help
397 Say Y, if you want to debug atheros wireless drivers.
398 Right now only ath9k makes use of this.
399
400 endmenu
401 endef
402
403 define KernelPackage/ath
404 $(call KernelPackage/mac80211/Default)
405 TITLE:=Atheros common driver part
406 DEPENDS+= @PCI_SUPPORT +kmod-mac80211
407 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.ko
408 AUTOLOAD:=$(call AutoLoad,26,ath)
409 MENU:=1
410 endef
411
412 define KernelPackage/ath/description
413 This module contains some common parts needed by Atheros Wireless drivers.
414 endef
415
416 define KernelPackage/ath5k
417 $(call KernelPackage/mac80211/Default)
418 TITLE:=Atheros 5xxx wireless cards support
419 URL:=http://linuxwireless.org/en/users/Drivers/ath5k
420 DEPENDS+= +kmod-ath
421 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.ko
422 AUTOLOAD:=$(call AutoLoad,27,ath5k)
423 endef
424
425 define KernelPackage/ath5k/description
426 This module adds support for wireless adapters based on
427 Atheros 5xxx chipset.
428 endef
429
430 define KernelPackage/ath9k
431 $(call KernelPackage/mac80211/Default)
432 TITLE:=Atheros 802.11n wireless cards support
433 URL:=http://linuxwireless.org/en/users/Drivers/ath9k
434 DEPENDS+= +kmod-ath
435 FILES:= \
436 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.ko \
437 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.ko \
438 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.ko
439 AUTOLOAD:=$(call AutoLoad,27,ath9k_hw ath9k_common ath9k)
440 MENU:=1
441 endef
442
443 define KernelPackage/ath9k/description
444 This module adds support for wireless adapters based on
445 Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
446 endef
447
448 define KernelPackage/carl9170
449 $(call KernelPackage/mac80211/Default)
450 TITLE:=Driver for Atheros AR9170 USB sticks
451 DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core
452 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/carl9170/carl9170.ko
453 AUTOLOAD:=$(call AutoLoad,60,carl9170)
454 endef
455
456 define KernelPackage/carl9170/install
457 $(INSTALL_DIR) $(1)/lib/firmware
458 $(INSTALL_DATA) $(DL_DIR)/$(CARL9170_FW) $(1)/lib/firmware/
459 endef
460
461
462 USB8388FW_NAME:=usb8388
463 USB8388FW_VERSION:=5.110.22.p23
464
465 define Download/usb8388
466 URL:=http://dev.laptop.org/pub/firmware/libertas/
467 FILE:=$(USB8388FW_NAME)-$(USB8388FW_VERSION).bin
468 MD5SUM=5e38f55719df3d0c58dd3bd02575a09c
469 endef
470 $(eval $(call Download,usb8388))
471
472 SD8686FW_NAME:=sd8686
473 SD8686FW_VERSION:=9.70.7.p0
474
475 define Download/sd8686
476 URL:=http://dev.laptop.org/pub/firmware/libertas/
477 FILE:=$(SD8686FW_NAME)-$(SD8686FW_VERSION).bin
478 MD5SUM=b4f8be61e19780a14836f146c538c5dd
479 endef
480 $(eval $(call Download,sd8686))
481
482 SD8686HELPER_NAME:=sd8686_helper
483
484 define Download/sd8686_helper
485 URL:=http://dev.laptop.org/pub/firmware/libertas/
486 FILE:=$(SD8686HELPER_NAME).bin
487 MD5SUM=2a4d8f4df198ce949c350df5674f4ac6
488 endef
489 $(eval $(call Download,sd8686_helper))
490
491 define KernelPackage/libertas-usb
492 $(call KernelPackage/mac80211/Default)
493 DEPENDS+= @USB_SUPPORT +kmod-mac80211 +kmod-usb-core +kmod-lib80211
494 TITLE:=Marvell 88W8015 Wireless Driver
495 FILES:= \
496 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
497 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/usb8xxx.ko
498 AUTOLOAD:=$(call AutoLoad,27,libertas usb8xxx)
499 endef
500
501 define KernelPackage/libertas-sd
502 $(call KernelPackage/mac80211/Default)
503 DEPENDS+= +kmod-mac80211 +kmod-lib80211
504 TITLE:=Marvell 88W8686 Wireless Driver
505 FILES:= \
506 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
507 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas_sdio.ko
508 AUTOLOAD:=$(call AutoLoad,27,libertas libertas_sdio)
509 endef
510
511 define KernelPackage/mac80211-hwsim
512 $(call KernelPackage/mac80211/Default)
513 TITLE:=mac80211 HW simulation device
514 DEPENDS+= +kmod-mac80211
515 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.ko
516 AUTOLOAD:=$(call AutoLoad,60,mac80211_hwsim)
517 endef
518
519 define KernelPackage/net-libipw
520 $(call KernelPackage/mac80211/Default)
521 TITLE:=libipw for ipw2100 and ipw2200
522 DEPENDS:=@PCI_SUPPORT +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 +kmod-cfg80211
523 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/libipw.ko
524 AUTOLOAD:=$(call AutoLoad,49,libipw)
525 endef
526
527 define KernelPackage/net-libipw/description
528 Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
529 endef
530
531 IPW2100_NAME:=ipw2100-fw
532 IPW2100_VERSION:=1.3
533
534 define Download/net-ipw2100
535 URL:=http://bughost.org/firmware/
536 FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
537 MD5SUM=46aa75bcda1a00efa841f9707bbbd113
538 endef
539 $(eval $(call Download,net-ipw2100))
540
541 define KernelPackage/net-ipw2100
542 $(call KernelPackage/mac80211/Default)
543 TITLE:=Intel IPW2100 driver
544 DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
545 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2100.ko
546 AUTOLOAD:=$(call AutoLoad,50,ipw2100)
547 endef
548
549 define KernelPackage/net-ipw2100/description
550 Kernel support for Intel IPW2100
551 Includes:
552 - ipw2100
553 endef
554
555 IPW2200_NAME:=ipw2200-fw
556 IPW2200_VERSION:=3.1
557
558 define Download/net-ipw2200
559 URL:=http://bughost.org/firmware/
560 FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
561 MD5SUM=eaba788643c7cc7483dd67ace70f6e99
562 endef
563 $(eval $(call Download,net-ipw2200))
564
565 define KernelPackage/net-ipw2200
566 $(call KernelPackage/mac80211/Default)
567 TITLE:=Intel IPW2200 driver
568 DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
569 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2200.ko
570 AUTOLOAD:=$(call AutoLoad,50,ipw2200)
571 endef
572
573 define KernelPackage/net-ipw2200/description
574 Kernel support for Intel IPW2200
575 Includes:
576 - ipw2200
577 endef
578
579
580 define KernelPackage/mwl8k
581 $(call KernelPackage/mac80211/Default)
582 TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards
583 URL:=http://wireless.kernel.org/en/users/Drivers/mwl8k
584 DEPENDS+= @PCI_SUPPORT +kmod-mac80211
585 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mwl8k.ko
586 AUTOLOAD:=$(call AutoLoad,27,mwl8k)
587 endef
588
589 define KernelPackage/mwl8k/description
590 Kernel modules for Marvell TOPDOG 802.11 Wireless cards
591 endef
592
593 #Broadcom firmware
594 ifneq ($(CONFIG_B43_EXPERIMENTAL),)
595 PKG_B43_FWV4_NAME:=broadcom-wl
596 PKG_B43_FWV4_VERSION:=4.178.10.4
597 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
598 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
599 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
600 PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
601 else
602 PKG_B43_FWV4_NAME:=broadcom-wl
603 PKG_B43_FWV4_VERSION:=4.150.10.5
604 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
605 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
606 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
607 PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
608 endif
609 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
610 PKG_B43_FWV4_NAME:=broadcom-wl
611 PKG_B43_FWV4_VERSION:=5.2
612 PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
613 PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
614 PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
615 PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
616 endif
617
618
619 PKG_B43_FWV3_NAME:=wl_apsta
620 PKG_B43_FWV3_VERSION:=3.130.20.0
621 PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o
622 PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/
623 PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3
624
625 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
626 PKG_B43_FWCUTTER_NAME:=b43-fwcutter
627 PKG_B43_FWCUTTER_VERSION:=3e69531aa65b8f664a0ab00dfc3e2eefeb0cb417
628 PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
629 PKG_B43_FWCUTTER_PROTO:=git
630 PKG_B43_FWCUTTER_SOURCE_URL:=http://git.bu3sch.de/git/b43-tools.git
631 PKG_B43_FWCUTTER_SUBDIR:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)
632 PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/fwcutter/
633 else
634 PKG_B43_FWCUTTER_NAME:=b43-fwcutter
635 PKG_B43_FWCUTTER_VERSION:=013
636 PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
637 PKG_B43_FWCUTTER_PROTO:=default
638 PKG_B43_FWCUTTER_SOURCE_URL:=http://bu3sch.de/b43/fwcutter/
639 PKG_B43_FWCUTTER_MD5SUM:=3547ec6c474ac1bc2c4a5bb765b791a4
640 PKG_B43_FWCUTTER_SUBDIR:=b43-fwcutter-$(PKG_B43_FWCUTTER_VERSION)
641 PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/
642 endif
643
644 define Download/b43-common
645 FILE:=$(PKG_B43_FWCUTTER_SOURCE)
646 URL:=$(PKG_B43_FWCUTTER_SOURCE_URL)
647 MD5SUM:=$(PKG_B43_FWCUTTER_MD5SUM)
648 PROTO:=$(PKG_B43_FWCUTTER_PROTO)
649 VERSION:=$(PKG_B43_FWCUTTER_VERSION)
650 SUBDIR:=$(PKG_B43_FWCUTTER_SUBDIR)
651 endef
652 $(eval $(call Download,b43-common))
653
654 define Download/b43
655 FILE:=$(PKG_B43_FWV4_SOURCE)
656 URL:=$(PKG_B43_FWV4_SOURCE_URL)
657 MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
658 endef
659 $(eval $(call Download,b43))
660
661 define Download/b43legacy
662 FILE:=$(PKG_B43_FWV3_SOURCE)
663 URL:=$(PKG_B43_FWV3_SOURCE_URL)
664 MD5SUM:=$(PKG_B43_FWV3_MD5SUM)
665 endef
666 $(eval $(call Download,b43legacy))
667
668 define KernelPackage/b43-common
669 $(call KernelPackage/mac80211/Default)
670 TITLE:=Generic stuff for Broadcom wireless devices
671 URL:=http://linuxwireless.org/en/users/Drivers/b43
672 KCONFIG:= \
673 CONFIG_HW_RANDOM=y
674 DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
675 endef
676
677 define KernelPackage/b43
678 $(call KernelPackage/b43-common)
679 TITLE:=Broadcom 43xx wireless support
680 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.ko
681 AUTOLOAD:=$(call AutoLoad,30,b43)
682 MENU:=1
683 endef
684
685 define KernelPackage/b43/config
686 menu "Configuration"
687 depends on PACKAGE_kmod-b43
688
689 choice
690 prompt "b43 firmware version"
691 default B43_STABLE
692 help
693 This option allows you to select the version of the b43 firmware.
694
695 config B43_STABLE
696 bool "4.150.10.5 (stable)"
697 help
698 Stable firmware for BCM43xx devices.
699
700 If unsure, select this.
701
702 config B43_EXPERIMENTAL
703 bool "4.178.10.4 (experimental)"
704 help
705 Experimental firmware for BCM43xx devices.
706
707 This firmware is not tested as much as the "stable" firmware.
708
709 If unsure, select the "stable" firmware.
710
711 config B43_OPENFIRMWARE
712 bool "Open FirmWare for WiFi networks"
713 help
714 Opensource firmware for BCM43xx devices.
715
716 Do _not_ select this, unless you know what you are doing.
717 The Opensource firmware is not suitable for embedded devices, yet.
718 It does not support QoS, which is bad for AccessPoints.
719 It does not support hardware crypto acceleration, which is a showstopper
720 for embedded devices with low CPU resources.
721
722 If unsure, select the "stable" firmware.
723
724 endchoice
725
726 config B43_FW_SQUASH
727 bool "Remove unnecessary firmware files"
728 depends on !B43_OPENFIRMWARE
729 default y
730 help
731 This options allows you to remove unnecessary b43 firmware files
732 from the final rootfs image. This can reduce the rootfs size by
733 up to 200k.
734
735 If unsure, say Y.
736
737 config B43_FW_SQUASH_COREREVS
738 string "Core revisions to include"
739 depends on B43_FW_SQUASH
740 default "5,6,7,8,9,10,13,14,15"
741 help
742 This is a comma seperated list of core revision numbers.
743
744 Example (keep files for rev5 only):
745 5
746
747 Example (keep files for rev5 and rev11):
748 5,11
749
750 config B43_FW_SQUASH_PHYTYPES
751 string "PHY types to include"
752 depends on B43_FW_SQUASH
753 default "G,LP"
754 help
755 This is a comma seperated list of PHY types:
756 A => A-PHY
757 AG => Dual A-PHY G-PHY
758 G => G-PHY
759 LP => LP-PHY
760 N => N-PHY
761
762 Example (keep files for G-PHY only):
763 G
764
765 Example (keep files for G-PHY and N-PHY):
766 G,N
767
768 endmenu
769 endef
770
771 define KernelPackage/b43/description
772 Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
773 endef
774
775 define KernelPackage/b43legacy
776 $(call KernelPackage/b43-common)
777 TITLE:=Broadcom 43xx-legacy wireless support
778 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.ko
779 AUTOLOAD:=$(call AutoLoad,30,b43legacy)
780 MENU:=1
781 endef
782
783 define KernelPackage/b43legacy/config
784 menu "Configuration"
785 depends on PACKAGE_kmod-b43legacy
786
787 config B43LEGACY_FW_SQUASH
788 bool "Remove unnecessary firmware files"
789 default y
790 help
791 This options allows you to remove unnecessary b43legacy firmware files
792 from the final rootfs image. This can reduce the rootfs size by
793 up to 50k.
794
795 If unsure, say Y.
796
797 config B43LEGACY_FW_SQUASH_COREREVS
798 string "Core revisions to include"
799 depends on B43LEGACY_FW_SQUASH
800 default "1,2,3,4"
801 help
802 This is a comma seperated list of core revision numbers.
803
804 Example (keep files for rev4 only):
805 4
806
807 Example (keep files for rev2 and rev4):
808 2,4
809
810 endmenu
811 endef
812
813 define KernelPackage/b43legacy/description
814 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
815 endef
816
817 BUILDFLAGS:= \
818 -I$(PKG_BUILD_DIR)/include \
819 $(foreach opt,$(CONFOPTS),-DCONFIG_$(opt)) \
820 $(if $(CONFIG_PCI),-DCONFIG_B43_PCI_AUTOSELECT -DCONFIG_B43_PCICORE_AUTOSELECT) \
821 $(if $(CONFIG_LEDS_TRIGGERS), -DCONFIG_MAC80211_LEDS -DCONFIG_LEDS_TRIGGERS -DCONFIG_B43_LEDS -DCONFIG_B43LEGACY_LEDS -DCONFIG_AR9170_LEDS) \
822 -DCONFIG_B43_HWRNG -DCONFIG_B43LEGACY_HWRNG \
823 $(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),-DCONFIG_MAC80211_DEBUGFS -DCONFIG_ATH9K_DEBUGFS -DCONFIG_CARL9170_DEBUGFS) \
824 $(if $(CONFIG_PACKAGE_ATH_DEBUG),-DCONFIG_ATH_DEBUG -DCONFIG_ATH9K_PKTLOG) \
825 -D__CONFIG_MAC80211_RC_DEFAULT=minstrel \
826 -DCONFIG_MAC80211_RC_MINSTREL_HT \
827 $(if $(CONFIG_ATH_USER_REGD),-DATH_USER_REGD=1) \
828 $(if $(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS),-DCONFIG_RT2X00_LIB_DEBUGFS) \
829 $(if $(CONFIG_PACKAGE_RT2X00_DEBUG),-DCONFIG_RT2X00_DEBUG) \
830 $(if $(NEED_RT2X00_LIB_HT),-DCONFIG_RT2X00_LIB_HT) \
831 $(if $(NEED_RT2X00_LIB_CRYPTO),-DCONFIG_RT2X00_LIB_CRYPTO) \
832 $(if $(NEED_RT2X00_LIB_FIRMWARE),-DCONFIG_RT2X00_LIB_FIRMWARE) \
833 $(if $(NEED_RT2X00_LIB_LEDS),-DCONFIG_RT2X00_LIB_LEDS) \
834 $(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),-DCONFIG_RT2X00_LIB_PCI) \
835 $(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),-DCONFIG_RT2X00_LIB_USB) \
836 $(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),-DCONFIG_RT2X00_LIB_SOC) \
837 $(if $(CONFIG_PCI_SUPPORT),-DCONFIG_RT2800PCI_PCI) \
838 $(if $(CONFIG_TARGET_ramips),-DCONFIG_RT2800PCI_SOC) \
839 -DCONFIG_P54_SPI_DEFAULT_EEPROM
840
841 MAKE_OPTS:= \
842 CROSS_COMPILE="$(KERNEL_CROSS)" \
843 ARCH="$(LINUX_KARCH)" \
844 EXTRA_CFLAGS="$(BUILDFLAGS)" \
845 $(foreach opt,$(CONFOPTS),CONFIG_$(opt)=m) \
846 CONFIG_MAC80211=$(if $(CONFIG_PACKAGE_kmod-mac80211),m) \
847 CONFIG_MAC80211_RC_MINSTREL=y \
848 CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \
849 CONFIG_MAC80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
850 CONFIG_B43_PCMCIA=n CONFIG_B43_PIO=n \
851 CONFIG_B43_PCI_AUTOSELECT=$(if $(CONFIG_PCI),y) \
852 CONFIG_B43_PCICORE_AUTOSELECT=$(if $(CONFIG_PCI),y) \
853 CONFIG_B43LEGACY_LEDS=$(CONFIG_LEDS_TRIGGERS) \
854 CONFIG_B43_LEDS=$(CONFIG_LEDS_TRIGGERS) \
855 CONFIG_B43_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
856 CONFIG_B43LEGACY_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
857 CONFIG_B43=$(if $(CONFIG_PACKAGE_kmod-b43),m) \
858 CONFIG_B43LEGACY=$(if $(CONFIG_PACKAGE_kmod-b43legacy),m) \
859 CONFIG_ATH_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath),m) \
860 CONFIG_ATH_DEBUG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
861 CONFIG_ATH9K_PKTLOG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
862 CONFIG_ATH5K=$(if $(CONFIG_PACKAGE_kmod-ath5k),m) \
863 CONFIG_ATH9K=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
864 CONFIG_ATH9K_HW=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
865 CONFIG_ATH9K_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
866 CONFIG_ATH9K_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
867 CONFIG_CARL9170=$(if $(CONFIG_PACKAGE_kmod-carl9170),m) \
868 CONFIG_CARL9170_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
869 CONFIG_ZD1211RW=$(if $(CONFIG_PACKAGE_kmod-zd1211rw),m) \
870 CONFIG_P54_COMMON=$(if $(CONFIG_PACKAGE_kmod-p54-common),m) \
871 CONFIG_P54_PCI=$(if $(CONFIG_PACKAGE_kmod-p54-pci),m) \
872 CONFIG_P54_USB=$(if $(CONFIG_PACKAGE_kmod-p54-usb),m) \
873 CONFIG_P54_SPI=$(if $(CONFIG_PACKAGE_kmod-p54-spi),m) \
874 CONFIG_P54_SPI_DEFAULT_EEPROM=y \
875 CONFIG_RT2X00=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
876 CONFIG_RT2X00_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
877 CONFIG_RT2X00_LIB_PCI=$(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),m) \
878 CONFIG_RT2X00_LIB_USB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),m) \
879 CONFIG_RT2X00_LIB_SOC=$(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),m) \
880 CONFIG_RT2X00_LIB_DEBUGFS=$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) \
881 CONFIG_RT2X00_LIB_CRYPTO=$(NEED_RT2X00_LIB_CRYPTO) \
882 CONFIG_RT2X00_LIB_FIRMWARE=$(NEED_RT2X00_LIB_FIRMWARE) \
883 CONFIG_RT2X00_LIB_HT=$(NEED_RT2X00_LIB_HT) \
884 CONFIG_RT2X00_LIB_LEDS=$(NEED_RT2X00_LIB_LEDS) \
885 CONFIG_RT2400PCI=$(if $(CONFIG_PACKAGE_kmod-rt2400-pci),m) \
886 CONFIG_RT2500PCI=$(if $(CONFIG_PACKAGE_kmod-rt2500-pci),m) \
887 CONFIG_RT2500USB=$(if $(CONFIG_PACKAGE_kmod-rt2500-usb),m) \
888 CONFIG_RT61PCI=$(if $(CONFIG_PACKAGE_kmod-rt61-pci),m) \
889 CONFIG_RT73USB=$(if $(CONFIG_PACKAGE_kmod-rt73-usb),m) \
890 CONFIG_RT2800_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2800-lib),m) \
891 CONFIG_RT2800PCI=$(if $(CONFIG_PACKAGE_kmod-rt2800-pci),m) \
892 CONFIG_RT2800PCI_PCI=$(if $(CONFIG_PCI_SUPPORT),y) \
893 CONFIG_RT2800PCI_SOC=$(if $(CONFIG_TARGET_ramips),y) \
894 CONFIG_RT2800USB=$(if $(CONFIG_PACKAGE_kmod-rt2800-usb),m) \
895 CONFIG_RTL8180=$(if $(CONFIG_PACKAGE_kmod-rtl8180),m) \
896 CONFIG_RTL8187=$(if $(CONFIG_PACKAGE_kmod-rtl8187),m) \
897 CONFIG_MAC80211_HWSIM=$(if $(CONFIG_PACKAGE_kmod-mac80211-hwsim),m) \
898 CONFIG_PCMCIA= \
899 CONFIG_LIBIPW=$(if $(CONFIG_PACKAGE_kmod-net-libipw),m) \
900 CONFIG_LIBERTAS=$(if $(CONFIG_PACKAGE_kmod-libertas-sd)$(CONFIG_PACKAGE_kmod-libertas-usb),m) \
901 CONFIG_LIBERTAS_CS= \
902 CONFIG_LIBERTAS_SPI= \
903 CONFIG_LIBERTAS_SDIO=$(if $(CONFIG_PACKAGE_kmod-libertas-sd),m) \
904 CONFIG_LIBERTAS_THINFIRM= \
905 CONFIG_LIBERTAS_USB=$(if $(CONFIG_PACKAGE_kmod-libertas-usb),m) \
906 CONFIG_IPW2100=$(if $(CONFIG_PACKAGE_kmod-net-ipw2100),m) \
907 CONFIG_IPW2200=$(if $(CONFIG_PACKAGE_kmod-net-ipw2200),m) \
908 CONFIG_NL80211=y \
909 CONFIG_LIB80211= \
910 CONFIG_LIB80211_CRYPT_WEP= \
911 CONFIG_LIB80211_CRYPT_CCMP= \
912 CONFIG_LIB80211_CRYPT_TKIP= \
913 CONFIG_IWLWIFI= \
914 CONFIG_COMPAT_IWLWIFI= \
915 CONFIG_IWLAGN= \
916 CONFIG_MWL8K=$(if $(CONFIG_PACKAGE_kmod-mwl8k),m) \
917 CONFIG_ATMEL= \
918 CONFIG_PCMCIA_ATMEL= \
919 CONFIG_ADM8211= \
920 CONFIG_USB_NET_RNDIS_HOST= \
921 CONFIG_USB_NET_RNDIS_WLAN= \
922 CONFIG_USB_NET_CDCETHER= \
923 CONFIG_USB_USBNET= \
924 CONFIG_AT76C50X_USB= \
925 CONFIG_WL12XX= \
926 CONFIG_EEPROM_93CX6= \
927 CONFIG_HERMES= \
928 CONFIG_AR9170_USB=$(if $(CONFIG_PACKAGE_kmod-ar9170),m) \
929 CONFIG_AR9170_LEDS=$(CONFIG_LEDS_TRIGGERS) \
930 CONFIG_IWM= \
931 CONFIG_ATH9K_HTC= \
932 CONFIG_MAC80211_RC_MINSTREL_HT=y \
933 MADWIFI= \
934 OLD_IWL= \
935 KLIB_BUILD="$(LINUX_DIR)" \
936 MODPROBE=: \
937 KLIB=$(TARGET_MODULES_DIR) \
938 KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER)))
939
940 define Build/Prepare
941 rm -rf $(PKG_BUILD_DIR)
942 mkdir -p $(PKG_BUILD_DIR)
943 $(PKG_UNPACK)
944 $(Build/Patch)
945 unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT61FW)
946 unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT71FW)
947 -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2860FW)
948 -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2870FW)
949 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
950 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
951 $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
952 rm -rf $(PKG_BUILD_DIR)/include/linux/ssb
953 rm -f $(PKG_BUILD_DIR)/include/net/ieee80211.h
954 rm $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h
955 endef
956
957 ifneq ($(CONFIG_PACKAGE_kmod-cfg80211),)
958 define Build/Compile/kmod
959 rm -rf $(PKG_BUILD_DIR)/modules
960 $(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" $(MAKE_OPTS) all
961 endef
962 endif
963
964 define Build/Compile
965 $(call Build/Compile/kmod)
966 endef
967
968 define Build/InstallDev
969 mkdir -p \
970 $(1)/usr/include/mac80211 \
971 $(1)/usr/include/mac80211/ath \
972 $(1)/usr/include/net/mac80211
973 $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
974 $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
975 $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
976 endef
977
978 define KernelPackage/libertas-usb/install
979 $(INSTALL_DIR) $(1)/lib/firmware
980 $(INSTALL_DATA) $(DL_DIR)/$(USB8388FW_NAME)-$(USB8388FW_VERSION).bin $(1)/lib/firmware/$(USB8388FW_NAME).bin
981 endef
982
983 define KernelPackage/libertas-sd/install
984 echo "Libertas install: $(CONFIG_PACKAGE_kmod-libertas-sd)"
985 $(INSTALL_DIR) $(1)/lib/firmware
986 $(INSTALL_DATA) $(DL_DIR)/$(SD8686FW_NAME)-$(SD8686FW_VERSION).bin $(1)/lib/firmware/$(SD8686FW_NAME).bin
987 $(INSTALL_DATA) $(DL_DIR)/$(SD8686HELPER_NAME).bin $(1)/lib/firmware/$(SD8686HELPER_NAME).bin
988 endef
989
990 define KernelPackage/cfg80211/install
991 $(INSTALL_DIR) $(1)/lib/wifi
992 $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
993 endef
994
995 define KernelPackage/p54-pci/install
996 $(INSTALL_DIR) $(1)/lib/firmware
997 $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
998 endef
999
1000 define KernelPackage/p54-usb/install
1001 $(INSTALL_DIR) $(1)/lib/firmware
1002 $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
1003 endef
1004
1005 define KernelPackage/p54-spi/install
1006 $(INSTALL_DIR) $(1)/lib/firmware
1007 $(INSTALL_DATA) $(DL_DIR)/$(P54SPIFW) $(1)/lib/firmware/3826.arm
1008 endef
1009
1010 define KernelPackage/rt61-pci/install
1011 $(INSTALL_DIR) $(1)/lib/firmware
1012 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2?61*.bin $(1)/lib/firmware/
1013 endef
1014
1015 define KernelPackage/rt73-usb/install
1016 $(INSTALL_DIR) $(1)/lib/firmware
1017 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt73.bin $(1)/lib/firmware/
1018 endef
1019
1020 define KernelPackage/rt2800-pci/install
1021 $(INSTALL_DIR) $(1)/lib/firmware
1022 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2860.bin $(1)/lib/firmware/
1023 endef
1024
1025 define KernelPackage/rt2800-usb/install
1026 $(INSTALL_DIR) $(1)/lib/firmware
1027 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2870.bin $(1)/lib/firmware/
1028 endef
1029
1030 define KernelPackage/zd1211rw/install
1031 $(INSTALL_DIR) $(1)/lib/firmware/zd1211
1032 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
1033 endef
1034
1035 define KernelPackage/ar9170/install
1036 $(INSTALL_DIR) $(1)/lib/firmware
1037 $(INSTALL_DATA) $(DL_DIR)/$(AR9170FW) $(1)/lib/firmware/
1038 endef
1039
1040 define KernelPackage/net-ipw2100/install
1041 $(INSTALL_DIR) $(1)/lib/firmware
1042 $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
1043 endef
1044
1045 define KernelPackage/net-ipw2200/install
1046 $(INSTALL_DIR) $(1)/lib/firmware
1047 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
1048 endef
1049
1050 define Build/b43-common
1051 tar xjf "$(DL_DIR)/$(PKG_B43_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)"
1052 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)" \
1053 CFLAGS="-I$(STAGING_DIR_HOST)/include -include endian.h" \
1054 QUIET_SPARSE=:
1055 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)/b43-fwcutter $(STAGING_DIR_HOST)/bin/
1056 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1057 $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/
1058 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/"
1059 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm $(STAGING_DIR_HOST)/bin/
1060 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm.bin $(STAGING_DIR_HOST)/bin/
1061 endif
1062 $(INSTALL_BIN) ./files/host_bin/b43-fwsquash.py $(STAGING_DIR_HOST)/bin/
1063 endef
1064
1065 define KernelPackage/b43/install
1066 rm -rf $(1)/lib/firmware/
1067 $(call Build/b43-common)
1068 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1069 tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1070 else
1071 tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1072 endif
1073 $(INSTALL_DIR) $(1)/lib/firmware/
1074 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1075 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
1076 $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
1077 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
1078 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
1079 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
1080 else
1081 b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
1082 endif
1083 ifneq ($(CONFIG_B43_FW_SQUASH),)
1084 b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
1085 endif
1086 endef
1087
1088 define KernelPackage/b43legacy/install
1089 $(call Build/b43-common)
1090 $(INSTALL_DIR) $(1)/lib/firmware/
1091
1092 b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
1093 ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
1094 b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy"
1095 endif
1096 endef
1097
1098 $(eval $(call KernelPackage,ath5k))
1099 $(eval $(call KernelPackage,libertas-usb))
1100 $(eval $(call KernelPackage,libertas-sd))
1101 $(eval $(call KernelPackage,cfg80211))
1102 $(eval $(call KernelPackage,mac80211))
1103 $(eval $(call KernelPackage,p54-common))
1104 $(eval $(call KernelPackage,p54-pci))
1105 $(eval $(call KernelPackage,p54-usb))
1106 $(eval $(call KernelPackage,p54-spi))
1107 $(eval $(call KernelPackage,rt2x00-lib))
1108 $(eval $(call KernelPackage,rt2x00-pci))
1109 $(eval $(call KernelPackage,rt2x00-usb))
1110 $(eval $(call KernelPackage,rt2x00-soc))
1111 $(eval $(call KernelPackage,rt2800-lib))
1112 $(eval $(call KernelPackage,rt2400-pci))
1113 $(eval $(call KernelPackage,rt2500-pci))
1114 $(eval $(call KernelPackage,rt2500-usb))
1115 $(eval $(call KernelPackage,rt61-pci))
1116 $(eval $(call KernelPackage,rt73-usb))
1117 $(eval $(call KernelPackage,rt2800-pci))
1118 $(eval $(call KernelPackage,rt2800-usb))
1119 $(eval $(call KernelPackage,rtl8180))
1120 $(eval $(call KernelPackage,rtl8187))
1121 $(eval $(call KernelPackage,zd1211rw))
1122 $(eval $(call KernelPackage,mac80211-hwsim))
1123 $(eval $(call KernelPackage,ath9k))
1124 $(eval $(call KernelPackage,ath))
1125 $(eval $(call KernelPackage,carl9170))
1126 $(eval $(call KernelPackage,b43))
1127 $(eval $(call KernelPackage,b43legacy))
1128 $(eval $(call KernelPackage,net-libipw))
1129 $(eval $(call KernelPackage,net-ipw2100))
1130 $(eval $(call KernelPackage,net-ipw2200))
1131 $(eval $(call KernelPackage,mwl8k))