source: trunk/package/mac80211/Makefile @ 26160

Last change on this file since 26160 was 26160, checked in by nbd, 6 years ago

mac80211: fix ath9k/ath9k-htc description (thx, swalker)

File size: 40.7 KB
Line 
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
8include $(TOPDIR)/rules.mk
9include $(INCLUDE_DIR)/kernel.mk
10
11PKG_NAME:=mac80211
12
13PKG_VERSION:=2011-03-11
14PKG_RELEASE:=1
15PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
16PKG_MD5SUM:=123b9220fa2b016979b7b3874f349643
17
18PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
19PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
20PKG_BUILD_PARALLEL:=1
21
22PKG_CONFIG_DEPENDS:= \
23        CONFIG_PACKAGE_kmod-mac80211 \
24        CONFIG_PACKAGE_MAC80211_DEBUGFS \
25        CONFIG_PACKAGE_ATH_DEBUG \
26        CONFIG_ATH_USER_REGD \
27
28CARL9170_FW_VERSION:=1.9.2
29
30include $(INCLUDE_DIR)/package.mk
31
32WMENU:=Wireless Drivers
33
34define KernelPackage/mac80211/Default
35  SUBMENU:=$(WMENU)
36  URL:=http://linuxwireless.org/
37  MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
38  DEPENDS:=@(!(TARGET_avr32||TARGET_ep93xx||TARGET_ps3||TARGET_pxcab)||BROKEN)
39endef
40
41define KernelPackage/cfg80211
42  $(call KernelPackage/mac80211/Default)
43  TITLE:=cfg80211 - wireless configuration API
44  DEPENDS+= +wireless-tools +iw +crda
45ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.33)),1)
46  FILES:= \
47        $(PKG_BUILD_DIR)/compat/compat.ko \
48        $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
49  AUTOLOAD:=$(call AutoLoad,20,compat cfg80211)
50else
51  FILES:= \
52        $(PKG_BUILD_DIR)/compat/compat.ko \
53        $(PKG_BUILD_DIR)/compat/compat_firmware_class.ko \
54        $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
55  AUTOLOAD:=$(call AutoLoad,20,compat compat_firmware_class cfg80211)
56endif
57endef
58
59define KernelPackage/cfg80211/description
60cfg80211 is the Linux wireless LAN (802.11) configuration API.
61endef
62
63define KernelPackage/mac80211
64  $(call KernelPackage/mac80211/Default)
65  TITLE:=Linux 802.11 Wireless Networking Stack
66  DEPENDS+= +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-cfg80211
67  KCONFIG:=\
68        CONFIG_AVERAGE=y
69  FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.ko
70  AUTOLOAD:=$(call AutoLoad,21,mac80211)
71  MENU:=1
72endef
73
74define 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
88endef
89
90define KernelPackage/mac80211/description
91Generic IEEE 802.11 Networking Stack (mac80211)
92endef
93
94# Prism54 drivers
95P54PCIFW:=2.13.12.0.arm
96P54USBFW:=2.13.24.0.lm87.arm
97P54SPIFW:=2.13.0.0.a.13.14.arm
98CARL9170_FW:=carl9170-1.fw
99
100define Download/p54usb
101  FILE:=$(P54USBFW)
102  URL:=http://daemonizer.de/prism54/prism54-fw/fw-usb
103  MD5SUM:=8e8ab005a4f8f0123bcdc51bc25b47f6
104endef
105$(eval $(call Download,p54usb))
106
107define Download/p54pci
108  FILE:=$(P54PCIFW)
109  URL:=http://daemonizer.de/prism54/prism54-fw/fw-softmac
110  MD5SUM:=ff7536af2092b1c4b21315bd103ef4c4
111endef
112$(eval $(call Download,p54pci))
113
114define Download/p54spi
115  FILE:=$(P54SPIFW)
116  URL:=http://daemonizer.de/prism54/prism54-fw/stlc4560
117  MD5SUM:=42661f8ecbadd88012807493f596081d
118endef
119$(eval $(call Download,p54spi))
120
121define Download/carl9170
122  FILE:=$(CARL9170_FW)-$(CARL9170_FW_VERSION)
123  URL:=http://downloads.openwrt.org/sources/
124  MD5SUM:=9e33ac39dcd610aa1ad80bbf4f1abccf
125endef
126$(eval $(call Download,carl9170))
127
128define KernelPackage/p54/Default
129  $(call KernelPackage/mac80211/Default)
130  TITLE:=Prism54 Drivers
131endef
132
133define KernelPackage/p54/description
134  Kernel module for Prism54 chipsets (mac80211)
135endef
136
137define KernelPackage/p54-common
138  $(call KernelPackage/p54/Default)
139  DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT||@TARGET_omap24xx +kmod-mac80211 +kmod-crc-ccitt
140  TITLE+= (COMMON)
141  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54common.ko
142  AUTOLOAD:=$(call AutoLoad,30,p54common)
143endef
144
145define 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)
151endef
152
153define 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)
159endef
160
161define 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)
167endef
168
169# Ralink rt2x00 drivers
170RT61FW:=RT61_Firmware_V1.2.zip
171RT71FW:=RT71W_Firmware_V1.8.zip
172RT2860FW:=RT2860_Firmware_V11.zip
173RT2870FW:=RT2870_Firmware_V8.zip
174
175define Download/rt61
176  FILE:=$(RT61FW)
177  URL:=http://www.ralinktech.com.tw/data/
178  MD5SUM:=d4c690c93b470bc9a681297c2adc6281
179endef
180$(eval $(call Download,rt61))
181
182define Download/rt71w
183  FILE:=$(RT71FW)
184  URL:=http://www.ralinktech.com.tw/data/
185  MD5SUM:=1e7a5dc574e0268574fcda3fd5cf52f7
186endef
187$(eval $(call Download,rt71w))
188
189define Download/rt2860
190  FILE:=$(RT2860FW)
191  URL:=http://www.ralinktech.com.tw/data/drivers
192  MD5SUM:=440a81756a52c53528f16faa41c40124
193endef
194$(eval $(call Download,rt2860))
195
196define Download/rt2870
197  FILE:=$(RT2870FW)
198  URL:=http://www.ralinktech.com.tw/data/drivers
199  MD5SUM:=a7aae1d8cfd68e4d86a73000df0b6584
200endef
201$(eval $(call Download,rt2870))
202
203AR9170FW:=ar9170.fw
204
205define Download/ar9170
206  FILE:=$(AR9170FW)
207  URL:=http://www.kernel.org/pub/linux/kernel/people/mcgrof/firmware/ar9170
208  MD5SUM:=34feec4ec0eae3bb92c7c1ea2dfb4530
209endef
210$(eval $(call Download,ar9170))
211
212NEED_RT2X00_LIB_CRYPTO:=y
213NEED_RT2X00_LIB_FIRMWARE:=y
214NEED_RT2X00_LIB_HT:=y
215NEED_RT2X00_LIB_LEDS:=y
216
217define KernelPackage/rt2x00/Default
218  $(call KernelPackage/mac80211/Default)
219  TITLE:=Ralink Drivers for RT2x00 cards
220endef
221
222define 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
229endef
230
231define 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
249endef
250
251define 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)
257endef
258
259define 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)
265endef
266
267define 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)
273endef
274
275define 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)
281endef
282
283define 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)
289endef
290
291define 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)
297endef
298
299define 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)
305endef
306
307define 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)
313endef
314
315define 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)
321endef
322
323define 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)
329endef
330
331define 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)
337endef
338
339define 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
344endef
345
346define 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/rtl8180.ko
351  AUTOLOAD:=$(call AutoLoad,27,rtl8180)
352endef
353
354define 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/rtl8187.ko
359  AUTOLOAD:=$(call AutoLoad,27,rtl8187)
360endef
361
362ZD1211FW_NAME:=zd1211-firmware
363ZD1211FW_VERSION:=1.4
364define Download/zd1211rw
365  FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
366  URL:=@SF/zd1211/
367  MD5SUM:=19f28781d76569af8551c9d11294c870
368endef
369$(eval $(call Download,zd1211rw))
370
371define 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)
377endef
378
379define 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
401endef
402
403define KernelPackage/ath
404  $(call KernelPackage/mac80211/Default)
405  TITLE:=Atheros common driver part
406  DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT +kmod-mac80211
407  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.ko
408  AUTOLOAD:=$(call AutoLoad,26,ath)
409  MENU:=1
410endef
411
412define KernelPackage/ath/description
413 This module contains some common parts needed by Atheros Wireless drivers.
414endef
415
416define 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+= @PCI_SUPPORT||@TARGET_atheros +kmod-ath
421  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.ko
422  AUTOLOAD:=$(call AutoLoad,27,ath5k)
423endef
424
425define KernelPackage/ath5k/description
426 This module adds support for wireless adapters based on
427 Atheros 5xxx chipset.
428endef
429
430define KernelPackage/ath9k-common
431  $(call KernelPackage/mac80211/Default)
432  TITLE:=Atheros 802.11n wireless devices (common code for ath9k and ath9k_htc)
433  URL:=http://linuxwireless.org/en/users/Drivers/ath9k
434  DEPENDS+= @PCI_SUPPORT +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  AUTOLOAD:=$(call AutoLoad,27,ath9k_hw ath9k_common)
439endef
440
441define KernelPackage/ath9k
442  $(call KernelPackage/mac80211/Default)
443  TITLE:=Atheros 802.11n PCI wireless cards support
444  URL:=http://linuxwireless.org/en/users/Drivers/ath9k
445  DEPENDS+= @PCI_SUPPORT +kmod-ath9k-common
446  FILES:= \
447        $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.ko
448  AUTOLOAD:=$(call AutoLoad,28,ath9k)
449endef
450
451define KernelPackage/ath9k/description
452This module adds support for wireless adapters based on
453Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
454endef
455
456AR7010FW:=ar7010.fw
457AR7010_1_1_FW:=ar7010_1_1.fw
458AR9271FW:=ar9271.fw
459
460define Download/ar9271
461  FILE:=$(AR9271FW)
462  URL:=http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=blob_plain;f=ar9271.fw;h=d0ee74a1c8dccb7cc21f5be90f1d4048fa9dbf9e;hb=HEAD;?
463  MD5SUM:=2e6f5045ec4c5a42bb93ced242bad0ba
464endef
465$(eval $(call Download,ar9271))
466
467define Download/ar7010
468  FILE:=$(AR7010FW)
469  URL:=http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=blob_plain;f=ar7010.fw;h=840005d0f0c81838c581b8cd5d76c8dd3843731c;hb=HEAD;?
470  MD5SUM:=59823b82b1f72bed9b044e8cc78ad65c
471endef
472$(eval $(call Download,ar7010))
473
474define Download/ar7010_1_1
475  FILE:=$(AR7010_1_1_FW)
476  URL:=http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=blob_plain;f=ar7010_1_1.fw;h=684d4cd1a8cac4f58305589e31f9d856d03a8ef0;hb=HEAD;?
477  MD5SUM:=544fcbe5a93cfa53c7e6d3ded2b05347
478endef
479$(eval $(call Download,ar7010_1_1))
480
481define KernelPackage/ath9k-htc
482  $(call KernelPackage/mac80211/Default)
483  TITLE:=Atheros 802.11n USB device support
484  URL:=http://linuxwireless.org/en/users/Drivers/ath9k
485  DEPENDS+= @USB_SUPPORT +kmod-ath9k-common +kmod-usb-core
486  FILES:= \
487        $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
488  AUTOLOAD:=$(call AutoLoad,28,ath9k_htc)
489endef
490
491define KernelPackage/ath9k-htc/description
492This module adds support for wireless adapters based on
493Atheros USB AR9271 and AR7010 family of chipsets.
494endef
495
496define KernelPackage/carl9170
497  $(call KernelPackage/mac80211/Default)
498  TITLE:=Driver for Atheros AR9170 USB sticks
499  DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core
500  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/carl9170/carl9170.ko
501  AUTOLOAD:=$(call AutoLoad,60,carl9170)
502endef
503
504define KernelPackage/carl9170/install
505        $(INSTALL_DIR) $(1)/lib/firmware
506        $(INSTALL_DATA) $(DL_DIR)/$(CARL9170_FW)-$(CARL9170_FW_VERSION) $(1)/lib/firmware/$(CARL9170_FW)
507endef
508
509
510USB8388FW_NAME:=usb8388
511USB8388FW_VERSION:=5.110.22.p23
512
513define Download/usb8388
514  URL:=http://dev.laptop.org/pub/firmware/libertas/
515  FILE:=$(USB8388FW_NAME)-$(USB8388FW_VERSION).bin
516  MD5SUM=5e38f55719df3d0c58dd3bd02575a09c
517endef
518$(eval $(call Download,usb8388))
519
520SD8686FW_NAME:=sd8686
521SD8686FW_VERSION:=9.70.7.p0
522
523define Download/sd8686
524  URL:=http://dev.laptop.org/pub/firmware/libertas/
525  FILE:=$(SD8686FW_NAME)-$(SD8686FW_VERSION).bin
526  MD5SUM=b4f8be61e19780a14836f146c538c5dd
527endef
528$(eval $(call Download,sd8686))
529
530SD8686HELPER_NAME:=sd8686_helper
531
532define Download/sd8686_helper
533  URL:=http://dev.laptop.org/pub/firmware/libertas/
534  FILE:=$(SD8686HELPER_NAME).bin
535  MD5SUM=2a4d8f4df198ce949c350df5674f4ac6
536endef
537$(eval $(call Download,sd8686_helper))
538
539define KernelPackage/libertas-usb
540  $(call KernelPackage/mac80211/Default)
541  DEPENDS+= @USB_SUPPORT +kmod-mac80211 +kmod-usb-core +kmod-lib80211
542  TITLE:=Marvell 88W8015 Wireless Driver
543  FILES:= \
544        $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
545        $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/usb8xxx.ko
546  AUTOLOAD:=$(call AutoLoad,27,libertas usb8xxx)
547endef
548
549define KernelPackage/libertas-sd
550  $(call KernelPackage/mac80211/Default)
551  DEPENDS+= +kmod-mac80211 +kmod-lib80211 +@DRIVER_WEXT_SUPPORT
552  TITLE:=Marvell 88W8686 Wireless Driver
553  FILES:= \
554        $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
555        $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas_sdio.ko
556  AUTOLOAD:=$(call AutoLoad,27,libertas libertas_sdio)
557endef
558
559define KernelPackage/mac80211-hwsim
560  $(call KernelPackage/mac80211/Default)
561  TITLE:=mac80211 HW simulation device
562  DEPENDS+= +kmod-mac80211
563  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.ko
564  AUTOLOAD:=$(call AutoLoad,60,mac80211_hwsim)
565endef
566
567define KernelPackage/net-libipw
568  $(call KernelPackage/mac80211/Default)
569  TITLE:=libipw for ipw2100 and ipw2200
570  DEPENDS:=@PCI_SUPPORT +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 +kmod-cfg80211
571  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/libipw.ko
572  AUTOLOAD:=$(call AutoLoad,49,libipw)
573endef
574
575define KernelPackage/net-libipw/description
576 Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
577endef
578
579IPW2100_NAME:=ipw2100-fw
580IPW2100_VERSION:=1.3
581
582define Download/net-ipw2100
583  URL:=http://bughost.org/firmware/
584  FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
585  MD5SUM=46aa75bcda1a00efa841f9707bbbd113
586endef
587$(eval $(call Download,net-ipw2100))
588
589define KernelPackage/net-ipw2100
590  $(call KernelPackage/mac80211/Default)
591  TITLE:=Intel IPW2100 driver
592  DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
593  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2100.ko
594  AUTOLOAD:=$(call AutoLoad,50,ipw2100)
595endef
596
597define KernelPackage/net-ipw2100/description
598 Kernel support for Intel IPW2100
599 Includes:
600 - ipw2100
601endef
602
603IPW2200_NAME:=ipw2200-fw
604IPW2200_VERSION:=3.1
605
606define Download/net-ipw2200
607  URL:=http://bughost.org/firmware/
608  FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
609  MD5SUM=eaba788643c7cc7483dd67ace70f6e99
610endef
611$(eval $(call Download,net-ipw2200))
612
613define KernelPackage/net-ipw2200
614  $(call KernelPackage/mac80211/Default)
615  TITLE:=Intel IPW2200 driver
616  DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
617  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2200.ko
618  AUTOLOAD:=$(call AutoLoad,50,ipw2200)
619endef
620
621define KernelPackage/net-ipw2200/description
622 Kernel support for Intel IPW2200
623 Includes:
624 - ipw2200
625endef
626
627
628define KernelPackage/net-hermes
629  $(call KernelPackage/mac80211/Default)
630  TITLE:=Hermes 802.11b chipset support
631  DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT
632  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco.ko
633  AUTOLOAD:=$(call AutoLoad,50,orinoco)
634endef
635
636define KernelPackage/net-hermes/description
637 Kernel support for Hermes 802.11b chipsets
638endef
639
640define KernelPackage/net-hermes-pci
641  $(call KernelPackage/mac80211/Default)
642  TITLE:=Intersil Prism 2.5 PCI support
643  DEPENDS:=@PCI_SUPPORT +kmod-net-hermes +kmod-cfg80211
644  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_pci.ko
645  AUTOLOAD:=$(call AutoLoad,55,orinoco_pci)
646endef
647
648define KernelPackage/net-hermes-pci/description
649 Kernel modules for Intersil Prism 2.5 PCI support
650endef
651
652define KernelPackage/net-hermes-plx
653  $(call KernelPackage/mac80211/Default)
654  TITLE:=PLX9052 based PCI adaptor
655  DEPENDS:=@PCI_SUPPORT +kmod-net-hermes +kmod-cfg80211
656  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_plx.ko
657  AUTOLOAD:=$(call AutoLoad,55,orinoco_plx)
658endef
659
660define KernelPackage/net-hermes-plx/description
661 Kernel modules for Hermes in PLX9052 based PCI adaptors
662endef
663
664define KernelPackage/net-hermes-pcmcia
665  $(call KernelPackage/mac80211/Default)
666  TITLE:=Hermes based PCMCIA adaptors
667  DEPENDS:=@PCMCIA_SUPPORT +kmod-net-hermes +kmod-cfg80211 @BROKEN
668  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_cs.ko
669  AUTOLOAD:=$(call AutoLoad,55,orinoco_cs)
670endef
671
672define KernelPackage/net-hermes-pcmcia/description
673 Kernel modules for Hermes based PCMCIA adaptors
674endef
675
676
677define KernelPackage/mwl8k
678  $(call KernelPackage/mac80211/Default)
679  TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards
680  URL:=http://wireless.kernel.org/en/users/Drivers/mwl8k
681  DEPENDS+= @PCI_SUPPORT +kmod-mac80211
682  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mwl8k.ko
683  AUTOLOAD:=$(call AutoLoad,27,mwl8k)
684endef
685
686define KernelPackage/mwl8k/description
687 Kernel modules for Marvell TOPDOG 802.11 Wireless cards
688endef
689
690#Broadcom firmware
691ifneq ($(CONFIG_B43_EXPERIMENTAL),)
692  PKG_B43_FWV4_NAME:=broadcom-wl
693  PKG_B43_FWV4_VERSION:=4.178.10.4
694  PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
695  PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
696  PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
697  PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
698else
699  PKG_B43_FWV4_NAME:=broadcom-wl
700  PKG_B43_FWV4_VERSION:=4.150.10.5
701  PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
702  PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
703  PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
704  PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
705endif
706ifneq ($(CONFIG_B43_OPENFIRMWARE),)
707  PKG_B43_FWV4_NAME:=broadcom-wl
708  PKG_B43_FWV4_VERSION:=5.2
709  PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
710  PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
711  PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
712  PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
713endif
714
715
716PKG_B43_FWV3_NAME:=wl_apsta
717PKG_B43_FWV3_VERSION:=3.130.20.0
718PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o
719PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/
720PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3
721
722ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
723  PKG_B43_FWCUTTER_NAME:=b43-fwcutter
724  PKG_B43_FWCUTTER_VERSION:=3e69531aa65b8f664a0ab00dfc3e2eefeb0cb417
725  PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
726  PKG_B43_FWCUTTER_PROTO:=git
727  PKG_B43_FWCUTTER_SOURCE_URL:=http://git.bu3sch.de/git/b43-tools.git
728  PKG_B43_FWCUTTER_SUBDIR:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)
729  PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/fwcutter/
730else
731  PKG_B43_FWCUTTER_NAME:=b43-fwcutter
732  PKG_B43_FWCUTTER_VERSION:=013
733  PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
734  PKG_B43_FWCUTTER_PROTO:=default
735  PKG_B43_FWCUTTER_SOURCE_URL:=http://bu3sch.de/b43/fwcutter/
736  PKG_B43_FWCUTTER_MD5SUM:=3547ec6c474ac1bc2c4a5bb765b791a4
737  PKG_B43_FWCUTTER_SUBDIR:=b43-fwcutter-$(PKG_B43_FWCUTTER_VERSION)
738  PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/
739endif
740
741define Download/b43-common
742  FILE:=$(PKG_B43_FWCUTTER_SOURCE)
743  URL:=$(PKG_B43_FWCUTTER_SOURCE_URL)
744  MD5SUM:=$(PKG_B43_FWCUTTER_MD5SUM)
745  PROTO:=$(PKG_B43_FWCUTTER_PROTO)
746  VERSION:=$(PKG_B43_FWCUTTER_VERSION)
747  SUBDIR:=$(PKG_B43_FWCUTTER_SUBDIR)
748endef
749$(eval $(call Download,b43-common))
750
751define Download/b43
752  FILE:=$(PKG_B43_FWV4_SOURCE)
753  URL:=$(PKG_B43_FWV4_SOURCE_URL)
754  MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
755endef
756$(eval $(call Download,b43))
757
758define Download/b43legacy
759  FILE:=$(PKG_B43_FWV3_SOURCE)
760  URL:=$(PKG_B43_FWV3_SOURCE_URL)
761  MD5SUM:=$(PKG_B43_FWV3_MD5SUM)
762endef
763$(eval $(call Download,b43legacy))
764
765define KernelPackage/b43-common
766  $(call KernelPackage/mac80211/Default)
767  TITLE:=Generic stuff for Broadcom wireless devices
768  URL:=http://linuxwireless.org/en/users/Drivers/b43
769  KCONFIG:= \
770        CONFIG_HW_RANDOM=y
771  DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
772endef
773
774define KernelPackage/b43
775$(call KernelPackage/b43-common)
776  TITLE:=Broadcom 43xx wireless support
777  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.ko
778  AUTOLOAD:=$(call AutoLoad,30,b43)
779  MENU:=1
780endef
781
782define KernelPackage/b43/config
783        menu "Configuration"
784                depends on PACKAGE_kmod-b43
785
786        choice
787                prompt "b43 firmware version"
788                default B43_STABLE
789                help
790                  This option allows you to select the version of the b43 firmware.
791
792        config B43_STABLE
793                bool "4.150.10.5 (stable)"
794                help
795                  Stable firmware for BCM43xx devices.
796
797                  If unsure, select this.
798
799        config B43_EXPERIMENTAL
800                bool "4.178.10.4 (experimental)"
801                help
802                  Experimental firmware for BCM43xx devices.
803
804                  This firmware is not tested as much as the "stable" firmware.
805
806                  If unsure, select the "stable" firmware.
807
808        config B43_OPENFIRMWARE
809                bool "Open FirmWare for WiFi networks"
810                help
811                  Opensource firmware for BCM43xx devices.
812
813                  Do _not_ select this, unless you know what you are doing.
814                  The Opensource firmware is not suitable for embedded devices, yet.
815                  It does not support QoS, which is bad for AccessPoints.
816                  It does not support hardware crypto acceleration, which is a showstopper
817                  for embedded devices with low CPU resources.
818
819                  If unsure, select the "stable" firmware.
820
821        endchoice
822
823        config B43_FW_SQUASH
824                bool "Remove unnecessary firmware files"
825                depends on !B43_OPENFIRMWARE
826                default y
827                help
828                  This options allows you to remove unnecessary b43 firmware files
829                  from the final rootfs image. This can reduce the rootfs size by
830                  up to 200k.
831
832                  If unsure, say Y.
833
834        config B43_FW_SQUASH_COREREVS
835                string "Core revisions to include"
836                depends on B43_FW_SQUASH
837                default "5,6,7,8,9,10,13,14,15"
838                help
839                  This is a comma seperated list of core revision numbers.
840
841                  Example (keep files for rev5 only):
842                    5
843
844                  Example (keep files for rev5 and rev11):
845                    5,11
846
847        config B43_FW_SQUASH_PHYTYPES
848                string "PHY types to include"
849                depends on B43_FW_SQUASH
850                default "G,LP"
851                help
852                  This is a comma seperated list of PHY types:
853                    A  => A-PHY
854                    AG => Dual A-PHY G-PHY
855                    G  => G-PHY
856                    LP => LP-PHY
857                    N  => N-PHY
858
859                  Example (keep files for G-PHY only):
860                    G
861
862                  Example (keep files for G-PHY and N-PHY):
863                    G,N
864
865        endmenu
866endef
867
868define KernelPackage/b43/description
869Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
870endef
871
872define KernelPackage/b43legacy
873$(call KernelPackage/b43-common)
874  TITLE:=Broadcom 43xx-legacy wireless support
875  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.ko
876  AUTOLOAD:=$(call AutoLoad,30,b43legacy)
877  MENU:=1
878endef
879
880define KernelPackage/b43legacy/config
881        menu "Configuration"
882                depends on PACKAGE_kmod-b43legacy
883
884        config B43LEGACY_FW_SQUASH
885                bool "Remove unnecessary firmware files"
886                default y
887                help
888                  This options allows you to remove unnecessary b43legacy firmware files
889                  from the final rootfs image. This can reduce the rootfs size by
890                  up to 50k.
891
892                  If unsure, say Y.
893
894        config B43LEGACY_FW_SQUASH_COREREVS
895                string "Core revisions to include"
896                depends on B43LEGACY_FW_SQUASH
897                default "1,2,3,4"
898                help
899                  This is a comma seperated list of core revision numbers.
900
901                  Example (keep files for rev4 only):
902                    4
903
904                  Example (keep files for rev2 and rev4):
905                    2,4
906
907        endmenu
908endef
909
910define KernelPackage/b43legacy/description
911Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
912endef
913
914BUILDFLAGS:= \
915        -I$(PKG_BUILD_DIR)/include \
916        $(foreach opt,$(CONFOPTS),-DCONFIG_$(opt)) \
917        $(if $(CONFIG_PCI),-DCONFIG_B43_PCI_AUTOSELECT -DCONFIG_B43_PCICORE_AUTOSELECT) \
918        $(if $(CONFIG_LEDS_TRIGGERS), -DCONFIG_MAC80211_LEDS -DCONFIG_LEDS_TRIGGERS -DCONFIG_B43_LEDS -DCONFIG_B43LEGACY_LEDS -DCONFIG_AR9170_LEDS) \
919        -DCONFIG_B43_HWRNG -DCONFIG_B43LEGACY_HWRNG \
920        $(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),-DCONFIG_MAC80211_DEBUGFS -DCONFIG_ATH9K_DEBUGFS -DCONFIG_CARL9170_DEBUGFS) \
921        $(if $(CONFIG_PACKAGE_ATH_DEBUG),-DCONFIG_ATH_DEBUG -DCONFIG_ATH9K_PKTLOG -DCONFIG_ATH5K_DEBUG) \
922        -D__CONFIG_MAC80211_RC_DEFAULT=minstrel \
923        -DCONFIG_MAC80211_RC_MINSTREL_HT \
924        $(if $(CONFIG_ATH_USER_REGD),-DATH_USER_REGD=1) \
925        $(if $(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS),-DCONFIG_RT2X00_LIB_DEBUGFS) \
926        $(if $(CONFIG_PACKAGE_RT2X00_DEBUG),-DCONFIG_RT2X00_DEBUG) \
927        $(if $(NEED_RT2X00_LIB_HT),-DCONFIG_RT2X00_LIB_HT) \
928        $(if $(NEED_RT2X00_LIB_CRYPTO),-DCONFIG_RT2X00_LIB_CRYPTO) \
929        $(if $(NEED_RT2X00_LIB_FIRMWARE),-DCONFIG_RT2X00_LIB_FIRMWARE) \
930        $(if $(NEED_RT2X00_LIB_LEDS),-DCONFIG_RT2X00_LIB_LEDS) \
931        $(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),-DCONFIG_RT2X00_LIB_PCI) \
932        $(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),-DCONFIG_RT2X00_LIB_USB) \
933        $(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),-DCONFIG_RT2X00_LIB_SOC) \
934        $(if $(CONFIG_TARGET_atheros),-DCONFIG_ATH5K_AHB,-DCONFIG_ATH5K_PCI)
935
936MAKE_OPTS:= \
937        CROSS_COMPILE="$(KERNEL_CROSS)" \
938        ARCH="$(LINUX_KARCH)" \
939        EXTRA_CFLAGS="$(BUILDFLAGS)" \
940        $(foreach opt,$(CONFOPTS),CONFIG_$(opt)=m) \
941        CONFIG_MAC80211=$(if $(CONFIG_PACKAGE_kmod-mac80211),m) \
942        CONFIG_MAC80211_RC_MINSTREL=y \
943        CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \
944        CONFIG_MAC80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
945        CONFIG_B43_PCMCIA=n CONFIG_B43_PIO=n \
946        CONFIG_B43_PCI_AUTOSELECT=$(if $(CONFIG_PCI),y) \
947        CONFIG_B43_PCICORE_AUTOSELECT=$(if $(CONFIG_PCI),y) \
948        CONFIG_B43LEGACY_LEDS=$(CONFIG_LEDS_TRIGGERS) \
949        CONFIG_B43_LEDS=$(CONFIG_LEDS_TRIGGERS) \
950        CONFIG_B43_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
951        CONFIG_B43LEGACY_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
952        CONFIG_B43=$(if $(CONFIG_PACKAGE_kmod-b43),m) \
953        CONFIG_B43LEGACY=$(if $(CONFIG_PACKAGE_kmod-b43legacy),m) \
954        CONFIG_ATH_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath),m) \
955        CONFIG_ATH_DEBUG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
956        CONFIG_ATH5K_DEBUG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
957        CONFIG_ATH9K_PKTLOG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
958        CONFIG_ATH5K=$(if $(CONFIG_PACKAGE_kmod-ath5k),m) \
959        CONFIG_ATH5K_PCI=$(if $(CONFIG_TARGET_atheros),,y) \
960        CONFIG_ATH5K_AHB=$(if $(CONFIG_TARGET_atheros),y) \
961        CONFIG_ATH9K=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
962        CONFIG_ATH9K_HTC=$(if $(CONFIG_PACKAGE_kmod-ath9k-htc),m) \
963        CONFIG_ATH9K_HW=$(if $(CONFIG_PACKAGE_kmod-ath9k-common),m) \
964        CONFIG_ATH9K_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath9k-common),m) \
965        CONFIG_ATH9K_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
966        CONFIG_CARL9170=$(if $(CONFIG_PACKAGE_kmod-carl9170),m) \
967        CONFIG_CARL9170_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
968        CONFIG_ZD1211RW=$(if $(CONFIG_PACKAGE_kmod-zd1211rw),m) \
969        CONFIG_P54_COMMON=$(if $(CONFIG_PACKAGE_kmod-p54-common),m) \
970        CONFIG_P54_PCI=$(if $(CONFIG_PACKAGE_kmod-p54-pci),m) \
971        CONFIG_P54_USB=$(if $(CONFIG_PACKAGE_kmod-p54-usb),m) \
972        CONFIG_P54_SPI=$(if $(CONFIG_PACKAGE_kmod-p54-spi),m) \
973        CONFIG_P54_SPI_DEFAULT_EEPROM=n \
974        CONFIG_RT2X00=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
975        CONFIG_RT2X00_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
976        CONFIG_RT2X00_LIB_PCI=$(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),m) \
977        CONFIG_RT2X00_LIB_USB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),m) \
978        CONFIG_RT2X00_LIB_SOC=$(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),m) \
979        CONFIG_RT2X00_LIB_DEBUGFS=$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) \
980        CONFIG_RT2X00_LIB_CRYPTO=$(NEED_RT2X00_LIB_CRYPTO) \
981        CONFIG_RT2X00_LIB_FIRMWARE=$(NEED_RT2X00_LIB_FIRMWARE) \
982        CONFIG_RT2X00_LIB_HT=$(NEED_RT2X00_LIB_HT) \
983        CONFIG_RT2X00_LIB_LEDS=$(NEED_RT2X00_LIB_LEDS) \
984        CONFIG_RT2400PCI=$(if $(CONFIG_PACKAGE_kmod-rt2400-pci),m) \
985        CONFIG_RT2500PCI=$(if $(CONFIG_PACKAGE_kmod-rt2500-pci),m) \
986        CONFIG_RT2500USB=$(if $(CONFIG_PACKAGE_kmod-rt2500-usb),m) \
987        CONFIG_RT61PCI=$(if $(CONFIG_PACKAGE_kmod-rt61-pci),m) \
988        CONFIG_RT73USB=$(if $(CONFIG_PACKAGE_kmod-rt73-usb),m) \
989        CONFIG_RT2800_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2800-lib),m) \
990        CONFIG_RT2800PCI=$(if $(CONFIG_PACKAGE_kmod-rt2800-pci),m) \
991        CONFIG_RT2800USB=$(if $(CONFIG_PACKAGE_kmod-rt2800-usb),m) \
992        CONFIG_RTL8180=$(if $(CONFIG_PACKAGE_kmod-rtl8180),m) \
993        CONFIG_RTL8187=$(if $(CONFIG_PACKAGE_kmod-rtl8187),m) \
994        CONFIG_RTL8192CE= \
995        CONFIG_RTLWIFI= \
996        CONFIG_MAC80211_HWSIM=$(if $(CONFIG_PACKAGE_kmod-mac80211-hwsim),m) \
997        CONFIG_PCMCIA= \
998        CONFIG_LIBIPW=$(if $(CONFIG_PACKAGE_kmod-net-libipw),m) \
999        CONFIG_LIBERTAS=$(if $(CONFIG_PACKAGE_kmod-libertas-sd)$(CONFIG_PACKAGE_kmod-libertas-usb),m) \
1000        CONFIG_LIBERTAS_CS= \
1001        CONFIG_LIBERTAS_SPI= \
1002        CONFIG_LIBERTAS_SDIO=$(if $(CONFIG_PACKAGE_kmod-libertas-sd),m) \
1003        CONFIG_LIBERTAS_THINFIRM= \
1004        CONFIG_LIBERTAS_USB=$(if $(CONFIG_PACKAGE_kmod-libertas-usb),m) \
1005        CONFIG_IPW2100=$(if $(CONFIG_PACKAGE_kmod-net-ipw2100),m) \
1006        CONFIG_IPW2200=$(if $(CONFIG_PACKAGE_kmod-net-ipw2200),m) \
1007        CONFIG_NL80211=y \
1008        CONFIG_LIB80211= \
1009        CONFIG_LIB80211_CRYPT_WEP= \
1010        CONFIG_LIB80211_CRYPT_CCMP= \
1011        CONFIG_LIB80211_CRYPT_TKIP= \
1012        CONFIG_COMPAT_IWLWIFI= \
1013        CONFIG_IWLWIFI_LEGACY= \
1014        CONFIG_IWLAGN= \
1015        CONFIG_MWL8K=$(if $(CONFIG_PACKAGE_kmod-mwl8k),m) \
1016        CONFIG_ATMEL= \
1017        CONFIG_PCMCIA_ATMEL= \
1018        CONFIG_ADM8211= \
1019        CONFIG_USB_NET_RNDIS_HOST= \
1020        CONFIG_USB_NET_RNDIS_WLAN= \
1021        CONFIG_USB_NET_CDCETHER= \
1022        CONFIG_USB_USBNET= \
1023        CONFIG_AT76C50X_USB= \
1024        CONFIG_WL12XX= \
1025        CONFIG_EEPROM_93CX6= \
1026        CONFIG_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes),m) \
1027        CONFIG_HERMES_CACHE_FW_ON_INIT= \
1028        CONFIG_PCI_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-pci),m) \
1029        CONFIG_PLX_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-plx),m) \
1030        CONFIG_PCMCIA_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-pcmcia),m) \
1031        CONFIG_HERMES_PRISM= \
1032        CONFIG_APPLE_AIRPORT= \
1033        CONFIG_TMD_HERMES= \
1034        CONFIG_NORTEL_HERMES= \
1035        CONFIG_PCMCIA_SPECTRUM= \
1036        CONFIG_ORINOCO_USB= \
1037        CONFIG_AR9170_USB=$(if $(CONFIG_PACKAGE_kmod-ar9170),m) \
1038        CONFIG_AR9170_LEDS=$(CONFIG_LEDS_TRIGGERS) \
1039        CONFIG_IWM= \
1040        CONFIG_MAC80211_RC_MINSTREL_HT=y \
1041        MADWIFI= \
1042        OLD_IWL= \
1043        KLIB_BUILD="$(LINUX_DIR)" \
1044        MODPROBE=: \
1045        KLIB=$(TARGET_MODULES_DIR) \
1046        KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \
1047        KBUILD_LDFLAGS_MODULE_PREREQ=
1048
1049ifeq ($(CONFIG_PACKAGE_kmod-libertas-sd)$(CONFIG_PACKAGE_kmod-libertas-usb)$(CONFIG_PACKAGE_kmod-rt2x00-lib),)
1050  MAKE_OPTS += CONFIG_COMPAT_KFIFO=
1051endif
1052
1053define Build/Prepare
1054        rm -rf $(PKG_BUILD_DIR)
1055        mkdir -p $(PKG_BUILD_DIR)
1056        $(PKG_UNPACK)
1057        $(Build/Patch)
1058        unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT61FW)
1059        unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT71FW)
1060        -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2860FW)
1061        -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2870FW)
1062        $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
1063        $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
1064        $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
1065        rm -rf $(PKG_BUILD_DIR)/include/linux/ssb
1066        rm -f $(PKG_BUILD_DIR)/include/net/ieee80211.h
1067        rm $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h
1068endef
1069
1070ifneq ($(CONFIG_PACKAGE_kmod-cfg80211),)
1071 define Build/Compile/kmod
1072        rm -rf $(PKG_BUILD_DIR)/modules
1073        $(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" $(MAKE_OPTS) all
1074 endef
1075endif
1076
1077define Build/Compile
1078        $(call Build/Compile/kmod)
1079endef
1080
1081define Build/InstallDev
1082        mkdir -p \
1083                $(1)/usr/include/mac80211 \
1084                $(1)/usr/include/mac80211/ath \
1085                $(1)/usr/include/net/mac80211
1086        $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
1087        $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
1088        $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
1089endef
1090
1091define KernelPackage/libertas-usb/install
1092        $(INSTALL_DIR) $(1)/lib/firmware
1093        $(INSTALL_DATA) $(DL_DIR)/$(USB8388FW_NAME)-$(USB8388FW_VERSION).bin $(1)/lib/firmware/$(USB8388FW_NAME).bin
1094endef
1095
1096define KernelPackage/libertas-sd/install
1097        echo "Libertas install: $(CONFIG_PACKAGE_kmod-libertas-sd)"
1098        $(INSTALL_DIR) $(1)/lib/firmware
1099        $(INSTALL_DATA) $(DL_DIR)/$(SD8686FW_NAME)-$(SD8686FW_VERSION).bin $(1)/lib/firmware/$(SD8686FW_NAME).bin
1100        $(INSTALL_DATA) $(DL_DIR)/$(SD8686HELPER_NAME).bin $(1)/lib/firmware/$(SD8686HELPER_NAME).bin
1101endef
1102
1103define KernelPackage/cfg80211/install
1104        $(INSTALL_DIR) $(1)/lib/wifi
1105        $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
1106endef
1107
1108define KernelPackage/p54-pci/install
1109        $(INSTALL_DIR) $(1)/lib/firmware
1110        $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
1111endef
1112
1113define KernelPackage/p54-usb/install
1114        $(INSTALL_DIR) $(1)/lib/firmware
1115        $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
1116endef
1117
1118define KernelPackage/p54-spi/install
1119        $(INSTALL_DIR) $(1)/lib/firmware
1120        $(INSTALL_DATA) $(DL_DIR)/$(P54SPIFW) $(1)/lib/firmware/3826.arm
1121endef
1122
1123define KernelPackage/rt61-pci/install
1124        $(INSTALL_DIR) $(1)/lib/firmware
1125        $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2?61*.bin $(1)/lib/firmware/
1126endef
1127
1128define KernelPackage/rt73-usb/install
1129        $(INSTALL_DIR) $(1)/lib/firmware
1130        $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt73.bin $(1)/lib/firmware/
1131endef
1132
1133define KernelPackage/rt2800-pci/install
1134        $(INSTALL_DIR) $(1)/lib/firmware
1135        $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2860.bin $(1)/lib/firmware/
1136endef
1137
1138define KernelPackage/rt2800-usb/install
1139        $(INSTALL_DIR) $(1)/lib/firmware
1140        $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2870.bin $(1)/lib/firmware/
1141endef
1142
1143define KernelPackage/zd1211rw/install
1144        $(INSTALL_DIR) $(1)/lib/firmware/zd1211
1145        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
1146endef
1147
1148define KernelPackage/ar9170/install
1149        $(INSTALL_DIR) $(1)/lib/firmware
1150        $(INSTALL_DATA) $(DL_DIR)/$(AR9170FW) $(1)/lib/firmware/
1151endef
1152
1153define KernelPackage/ath9k-htc/install
1154        $(INSTALL_DIR) $(1)/lib/firmware
1155        $(INSTALL_DATA) \
1156                $(DL_DIR)/$(AR9271FW) \
1157                $(DL_DIR)/$(AR7010FW) \
1158                $(DL_DIR)/$(AR7010_1_1_FW) \
1159                $(1)/lib/firmware/
1160endef
1161
1162define KernelPackage/net-ipw2100/install
1163        $(INSTALL_DIR) $(1)/lib/firmware
1164        $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
1165endef
1166
1167define KernelPackage/net-ipw2200/install
1168        $(INSTALL_DIR) $(1)/lib/firmware
1169        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
1170endef
1171
1172define Build/b43-common
1173        tar xjf "$(DL_DIR)/$(PKG_B43_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)"
1174        $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)" \
1175                CFLAGS="-I$(STAGING_DIR_HOST)/include -include endian.h" \
1176                QUIET_SPARSE=:
1177        $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)/b43-fwcutter $(STAGING_DIR_HOST)/bin/
1178ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1179        $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/
1180        $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/"
1181        $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm $(STAGING_DIR_HOST)/bin/
1182        $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm.bin $(STAGING_DIR_HOST)/bin/
1183endif
1184        $(INSTALL_BIN) ./files/host_bin/b43-fwsquash.py $(STAGING_DIR_HOST)/bin/
1185endef
1186
1187define KernelPackage/b43/install
1188        rm -rf $(1)/lib/firmware/
1189        $(call Build/b43-common)
1190ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1191        tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1192else
1193        tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1194endif
1195        $(INSTALL_DIR) $(1)/lib/firmware/
1196ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1197        $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
1198        $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
1199        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
1200        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
1201        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
1202else
1203        b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
1204endif
1205ifneq ($(CONFIG_B43_FW_SQUASH),)
1206        b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
1207endif
1208endef
1209
1210define KernelPackage/b43legacy/install
1211        $(call Build/b43-common)
1212        $(INSTALL_DIR) $(1)/lib/firmware/
1213
1214        b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
1215ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
1216        b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy"
1217endif
1218endef
1219
1220$(eval $(call KernelPackage,ath5k))
1221$(eval $(call KernelPackage,libertas-usb))
1222$(eval $(call KernelPackage,libertas-sd))
1223$(eval $(call KernelPackage,cfg80211))
1224$(eval $(call KernelPackage,mac80211))
1225$(eval $(call KernelPackage,p54-common))
1226$(eval $(call KernelPackage,p54-pci))
1227$(eval $(call KernelPackage,p54-usb))
1228$(eval $(call KernelPackage,p54-spi))
1229$(eval $(call KernelPackage,rt2x00-lib))
1230$(eval $(call KernelPackage,rt2x00-pci))
1231$(eval $(call KernelPackage,rt2x00-usb))
1232$(eval $(call KernelPackage,rt2x00-soc))
1233$(eval $(call KernelPackage,rt2800-lib))
1234$(eval $(call KernelPackage,rt2400-pci))
1235$(eval $(call KernelPackage,rt2500-pci))
1236$(eval $(call KernelPackage,rt2500-usb))
1237$(eval $(call KernelPackage,rt61-pci))
1238$(eval $(call KernelPackage,rt73-usb))
1239$(eval $(call KernelPackage,rt2800-pci))
1240$(eval $(call KernelPackage,rt2800-usb))
1241$(eval $(call KernelPackage,rtl8180))
1242$(eval $(call KernelPackage,rtl8187))
1243$(eval $(call KernelPackage,zd1211rw))
1244$(eval $(call KernelPackage,mac80211-hwsim))
1245$(eval $(call KernelPackage,ath9k-common))
1246$(eval $(call KernelPackage,ath9k))
1247$(eval $(call KernelPackage,ath9k-htc))
1248$(eval $(call KernelPackage,ath))
1249$(eval $(call KernelPackage,carl9170))
1250$(eval $(call KernelPackage,b43))
1251$(eval $(call KernelPackage,b43legacy))
1252$(eval $(call KernelPackage,net-libipw))
1253$(eval $(call KernelPackage,net-ipw2100))
1254$(eval $(call KernelPackage,net-ipw2200))
1255$(eval $(call KernelPackage,mwl8k))
1256$(eval $(call KernelPackage,net-hermes))
1257$(eval $(call KernelPackage,net-hermes-pci))
1258$(eval $(call KernelPackage,net-hermes-plx))
1259$(eval $(call KernelPackage,net-hermes-pcmcia))
Note: See TracBrowser for help on using the repository browser.