mac80211: add a bunch of rt2x00 specific changes
[openwrt.git] / package / kernel / mac80211 / Makefile
1 #
2 # Copyright (C) 2007-2012 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:=2013-06-27
14 PKG_RELEASE:=1
15 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
16 PKG_BACKPORT_VERSION:=.1
17 PKG_MD5SUM:=73bd220c64c5c6fdc22b3bb7f180644f
18
19 PKG_SOURCE:=compat-wireless-$(PKG_VERSION)$(PKG_BACKPORT_VERSION).tar.bz2
20 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
21 PKG_BUILD_PARALLEL:=1
22
23 PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
24
25 PKG_DRIVERS = \
26         adm8211 ath5k libertas-usb libertas-sd p54-common p54-pci p54-usb p54-spi \
27         rt2x00-lib rt2x00-pci rt2x00-usb rt2x00-soc rt2800-lib rt2400-pci \
28         rt2500-pci rt2500-usb rt61-pci rt73-usb rt2800-pci rt2800-usb \
29         rtl8180 rtl8187 zd1211rw mac80211-hwsim carl9170 b43 b43legacy \
30         ath9k-common ath9k ath9k-htc ath net-libipw net-ipw2100 net-ipw2200 \
31         mwl8k net-hermes net-hermes-pci net-hermes-plx net-hermes-pcmcia \
32         iwl-legacy iwl3945 iwl4965 iwlagn wl12xx lib80211 \
33         rtlwifi rtlwifi-pci rtlwifi-usb rtl8192c-common rtl8192ce rtl8192se \
34         rtl8192de rtl8192cu
35
36 PKG_CONFIG_DEPENDS:= \
37         CONFIG_PACKAGE_kmod-mac80211 \
38         $(patsubst %,CONFIG_PACKAGE_kmod-%,$(PKG_DRIVERS)) \
39         CONFIG_PACKAGE_MAC80211_DEBUGFS \
40         CONFIG_PACKAGE_MAC80211_MESH \
41         CONFIG_PACKAGE_ATH_DEBUG \
42         CONFIG_PACKAGE_B43_DEBUG \
43         CONFIG_PACKAGE_B43_PIO \
44         CONFIG_PACKAGE_B43_N_PHY \
45         CONFIG_PACKAGE_RTLWIFI_DEBUG \
46         CONFIG_ATH_USER_REGD \
47
48 CARL9170_FW_VERSION:=1.9.6
49
50 include $(INCLUDE_DIR)/package.mk
51
52 WMENU:=Wireless Drivers
53
54 define KernelPackage/mac80211/Default
55   SUBMENU:=$(WMENU)
56   URL:=http://linuxwireless.org/
57   MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
58   DEPENDS:=@(!(TARGET_avr32||TARGET_ps3||TARGET_pxcab)||BROKEN)
59 endef
60
61 define KernelPackage/cfg80211
62   $(call KernelPackage/mac80211/Default)
63   TITLE:=cfg80211 - wireless configuration API
64   DEPENDS+= +iw
65   FILES:= \
66         $(PKG_BUILD_DIR)/compat/compat.ko \
67         $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
68   AUTOLOAD:=$(call AutoLoad,20,compat cfg80211)
69 endef
70
71 define KernelPackage/cfg80211/description
72 cfg80211 is the Linux wireless LAN (802.11) configuration API.
73 endef
74
75 define KernelPackage/mac80211
76   $(call KernelPackage/mac80211/Default)
77   TITLE:=Linux 802.11 Wireless Networking Stack
78   DEPENDS+= +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-cfg80211
79   KCONFIG:=\
80         CONFIG_AVERAGE=y
81   FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.ko
82   AUTOLOAD:=$(call AutoLoad,21,mac80211)
83   MENU:=1
84 endef
85
86 define KernelPackage/mac80211/config
87   if PACKAGE_kmod-mac80211
88
89         config PACKAGE_MAC80211_DEBUGFS
90                 bool "Export mac80211 internals in DebugFS"
91                 select KERNEL_DEBUG_FS
92                 select KERNEL_RELAY if PACKAGE_kmod-ath9k-common
93                 default y
94                 help
95                   Select this to see extensive information about
96                   the internal state of mac80211 in debugfs.
97
98         config PACKAGE_MAC80211_MESH
99                 bool "Enable 802.11s mesh support"
100                 default y
101
102   endif
103 endef
104
105 define KernelPackage/mac80211/description
106 Generic IEEE 802.11 Networking Stack (mac80211)
107 endef
108
109 PKG_LINUX_FIRMWARE_NAME:=linux-firmware
110 PKG_LINUX_FIRMWARE_VERSION:=6942dba419d2ebf8c15514972e89734fd7a8cebc
111 PKG_LINUX_FIRMWARE_SOURCE:=$(PKG_LINUX_FIRMWARE_NAME)-$(PKG_LINUX_FIRMWARE_VERSION).tar.bz2
112 PKG_LINUX_FIRMWARE_PROTO:=git
113 PKG_LINUX_FIRMWARE_SOURCE_URL:=git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
114 PKG_LINUX_FIRMWARE_SUBDIR:=$(PKG_LINUX_FIRMWARE_NAME)-$(PKG_LINUX_FIRMWARE_VERSION)
115 PKG_LINUX_FIRMWARE_MIRROR_MD5SUM:=a5f8c27af9e43f0ad24d7f821c5a781e
116
117 define Download/linux-firmware
118   FILE:=$(PKG_LINUX_FIRMWARE_SOURCE)
119   URL:=$(PKG_LINUX_FIRMWARE_SOURCE_URL)
120   MD5SUM:=$(PKG_LINUX_FIRMWARE_MD5SUM)
121   PROTO:=$(PKG_LINUX_FIRMWARE_PROTO)
122   VERSION:=$(PKG_LINUX_FIRMWARE_VERSION)
123   SUBDIR:=$(PKG_LINUX_FIRMWARE_SUBDIR)
124   MIRROR_MD5SUM:=$(PKG_LINUX_FIRMWARE_MIRROR_MD5SUM)
125 endef
126 $(eval $(call Download,linux-firmware))
127
128 # Prism54 drivers
129 P54PCIFW:=2.13.12.0.arm
130 P54USBFW:=2.13.24.0.lm87.arm
131 P54SPIFW:=2.13.0.0.a.13.14.arm
132 CARL9170_FW:=carl9170-1.fw
133
134 define Download/p54usb
135   FILE:=$(P54USBFW)
136   URL:=http://daemonizer.de/prism54/prism54-fw/fw-usb
137   MD5SUM:=8e8ab005a4f8f0123bcdc51bc25b47f6
138 endef
139 $(eval $(call Download,p54usb))
140
141 define Download/p54pci
142   FILE:=$(P54PCIFW)
143   URL:=http://daemonizer.de/prism54/prism54-fw/fw-softmac
144   MD5SUM:=ff7536af2092b1c4b21315bd103ef4c4
145 endef
146 $(eval $(call Download,p54pci))
147
148 define Download/p54spi
149   FILE:=$(P54SPIFW)
150   URL:=http://daemonizer.de/prism54/prism54-fw/stlc4560
151   MD5SUM:=42661f8ecbadd88012807493f596081d
152 endef
153 $(eval $(call Download,p54spi))
154
155 define Download/carl9170
156   FILE:=$(CARL9170_FW)-$(CARL9170_FW_VERSION)
157   URL:=http://downloads.openwrt.org/sources/
158   MD5SUM:=2fa6ed98d53d0b5fbcc136d1cf5e9609
159 endef
160 $(eval $(call Download,carl9170))
161
162 define KernelPackage/p54/Default
163   $(call KernelPackage/mac80211/Default)
164   TITLE:=Prism54 Drivers
165 endef
166
167 define KernelPackage/p54/description
168   Kernel module for Prism54 chipsets (mac80211)
169 endef
170
171 define KernelPackage/p54-common
172   $(call KernelPackage/p54/Default)
173   DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT||@TARGET_omap24xx +kmod-mac80211 +kmod-lib-crc-ccitt
174   TITLE+= (COMMON)
175   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54common.ko
176   AUTOLOAD:=$(call AutoLoad,30,p54common)
177 endef
178
179 define KernelPackage/p54-pci
180   $(call KernelPackage/p54/Default)
181   TITLE+= (PCI)
182   DEPENDS+= @PCI_SUPPORT +kmod-p54-common
183   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54pci.ko
184   AUTOLOAD:=$(call AutoLoad,31,p54pci)
185 endef
186
187 define KernelPackage/p54-usb
188   $(call KernelPackage/p54/Default)
189   TITLE+= (USB)
190   DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common
191   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54usb.ko
192   AUTOLOAD:=$(call AutoLoad,31,p54usb)
193 endef
194
195 define KernelPackage/p54-spi
196   $(call KernelPackage/p54/Default)
197   TITLE+= (SPI)
198   DEPENDS+= @TARGET_omap24xx +kmod-p54-common
199   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54spi.ko
200   AUTOLOAD:=$(call AutoLoad,31,p54spi)
201 endef
202
203 define KernelPackage/rt2x00/Default
204   $(call KernelPackage/mac80211/Default)
205   TITLE:=Ralink Drivers for RT2x00 cards
206 endef
207
208 define KernelPackage/rt2x00-lib
209 $(call KernelPackage/rt2x00/Default)
210   DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-mac80211 +kmod-lib-crc-itu-t
211   TITLE+= (LIB)
212   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00lib.ko
213   AUTOLOAD:=$(call AutoLoad,24,rt2x00lib)
214   MENU:=1
215 endef
216
217 define KernelPackage/rt2x00-lib/config
218   if PACKAGE_kmod-rt2x00-lib
219
220         config PACKAGE_RT2X00_LIB_DEBUGFS
221                 bool "Enable rt2x00 debugfs support"
222                 depends on PACKAGE_MAC80211_DEBUGFS
223                 help
224                   Enable creation of debugfs files for the rt2x00 drivers.
225                   These debugfs files support both reading and writing of the
226                   most important register types of the rt2x00 hardware.
227
228         config PACKAGE_RT2X00_DEBUG
229                 bool "Enable rt2x00 debug output"
230                 help
231                   Enable debugging output for all rt2x00 modules
232
233   endif
234 endef
235
236 define KernelPackage/rt2x00-mmio
237 $(call KernelPackage/rt2x00/Default)
238   DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-eeprom-93cx6
239   TITLE+= (MMIO)
240   FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00mmio.ko
241   AUTOLOAD:=$(call AutoLoad,25,rt2x00mmio)
242 endef
243
244 define KernelPackage/rt2x00-pci
245 $(call KernelPackage/rt2x00/Default)
246   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-mmio +kmod-rt2x00-lib
247   TITLE+= (PCI)
248   FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00pci.ko
249   AUTOLOAD:=$(call AutoLoad,26,rt2x00pci)
250 endef
251
252 define KernelPackage/rt2x00-usb
253 $(call KernelPackage/rt2x00/Default)
254   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
255   TITLE+= (USB)
256   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00usb.ko
257   AUTOLOAD:=$(call AutoLoad,26,rt2x00usb)
258 endef
259
260 define KernelPackage/rt2x00-soc
261 $(call KernelPackage/rt2x00/Default)
262   DEPENDS+=@TARGET_ramips_rt305x +kmod-rt2x00-mmio +kmod-rt2x00-lib
263   TITLE+= (SoC)
264   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00soc.ko
265   AUTOLOAD:=$(call AutoLoad,26,rt2x00soc)
266 endef
267
268 define KernelPackage/rt2800-lib
269 $(call KernelPackage/rt2x00/Default)
270   DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-lib-crc-ccitt +@DRIVER_11N_SUPPORT
271   TITLE+= (rt2800 LIB)
272   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800lib.ko
273   AUTOLOAD:=$(call AutoLoad,27,rt2800lib)
274 endef
275
276 define KernelPackage/rt2400-pci
277 $(call KernelPackage/rt2x00/Default)
278   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
279   TITLE+= (RT2400 PCI)
280   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2400pci.ko
281   AUTOLOAD:=$(call AutoLoad,27,rt2400pci)
282 endef
283
284 define KernelPackage/rt2500-pci
285 $(call KernelPackage/rt2x00/Default)
286   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
287   TITLE+= (RT2500 PCI)
288   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500pci.ko
289   AUTOLOAD:=$(call AutoLoad,27,rt2500pci)
290 endef
291
292 define KernelPackage/rt2500-usb
293 $(call KernelPackage/rt2x00/Default)
294   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
295   TITLE+= (RT2500 USB)
296   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500usb.ko
297   AUTOLOAD:=$(call AutoLoad,27,rt2500usb)
298 endef
299
300 define KernelPackage/rt61-pci
301 $(call KernelPackage/rt2x00/Default)
302   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
303   TITLE+= (RT2x61 PCI)
304   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt61pci.ko
305   AUTOLOAD:=$(call AutoLoad,27,rt61pci)
306 endef
307
308 define KernelPackage/rt73-usb
309   $(call KernelPackage/rt2x00/Default)
310   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
311   TITLE+= (RT73 USB)
312   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt73usb.ko
313   AUTOLOAD:=$(call AutoLoad,27,rt73usb)
314 endef
315
316 define KernelPackage/rt2800-pci
317 $(call KernelPackage/rt2x00/Default)
318   DEPENDS+= @(PCI_SUPPORT||TARGET_ramips_rt305x) +PCI_SUPPORT:kmod-rt2x00-pci +kmod-rt2800-lib +kmod-lib-crc-ccitt +TARGET_ramips_rt305x:kmod-rt2x00-soc
319   TITLE+= (RT2860 PCI)
320   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800pci.ko
321   AUTOLOAD:=$(call AutoLoad,28,rt2800pci)
322 endef
323
324 define KernelPackage/rt2800-usb
325 $(call KernelPackage/rt2x00/Default)
326   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb +kmod-rt2800-lib +kmod-lib-crc-ccitt
327   TITLE+= (RT2870 USB)
328   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800usb.ko
329   AUTOLOAD:=$(call AutoLoad,28,rt2800usb)
330 endef
331
332 define KernelPackage/rtl818x/Default
333   $(call KernelPackage/mac80211/Default)
334   TITLE:=Realtek Drivers for RTL818x devices
335   URL:=http://wireless.kernel.org/en/users/Drivers/rtl8187
336   DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211
337 endef
338
339 define KernelPackage/rtl8180
340   $(call KernelPackage/rtl818x/Default)
341   DEPENDS+= @PCI_SUPPORT
342   TITLE+= (RTL8180 PCI)
343   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8180/rtl8180.ko
344   AUTOLOAD:=$(call AutoLoad,27,rtl8180)
345 endef
346
347 define KernelPackage/rtl8187
348 $(call KernelPackage/rtl818x/Default)
349   DEPENDS+= @USB_SUPPORT +kmod-usb-core
350   TITLE+= (RTL8187 USB)
351   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko
352   AUTOLOAD:=$(call AutoLoad,27,rtl8187)
353 endef
354
355 define KernelPackage/rtlwifi/config
356         menu "Configuration"
357                 depends on PACKAGE_kmod-rtlwifi
358
359         config PACKAGE_RTLWIFI_DEBUG
360                 bool "Realtek wireless debugging"
361                 help
362                   Say Y, if you want to debug realtek wireless drivers.
363
364         endmenu
365 endef
366
367 define KernelPackage/rtlwifi
368   $(call KernelPackage/mac80211/Default)
369   TITLE:=Realtek common driver part
370   DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT) +kmod-mac80211 +@DRIVER_11N_SUPPORT
371   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtlwifi/rtlwifi.ko
372   AUTOLOAD:=$(call AutoLoad,26,rtlwifi)
373   MENU:=1
374 endef
375
376 define KernelPackage/rtlwifi-pci
377   $(call KernelPackage/mac80211/Default)
378   TITLE:=Realtek common driver part (PCI support)
379   DEPENDS+= @PCI_SUPPORT +kmod-rtlwifi
380   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtlwifi/rtl_pci.ko
381   AUTOLOAD:=$(call AutoLoad,27,rtl_pci)
382   HIDDEN:=1
383 endef
384
385 define KernelPackage/rtlwifi-usb
386   $(call KernelPackage/mac80211/Default)
387   TITLE:=Realtek common driver part (USB support)
388   DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-rtlwifi
389   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtlwifi/rtl_usb.ko
390   AUTOLOAD:=$(call AutoLoad,27,rtl_usb)
391   HIDDEN:=1
392 endef
393
394 define KernelPackage/rtl8192c-common
395   $(call KernelPackage/mac80211/Default)
396   TITLE:=Realtek RTL8192CE/RTL8192CU common support module
397   DEPENDS+= +kmod-rtlwifi
398   FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common.ko
399   AUTOLOAD:=$(call AutoLoad,27,rtl8192c-common)
400   HIDDEN:=1
401 endef
402
403 define KernelPackage/rtl8192ce
404   $(call KernelPackage/mac80211/Default)
405   TITLE:=Realtek RTL8192CE/RTL8188CE support
406   DEPENDS+= +kmod-rtlwifi-pci +kmod-rtl8192c-common
407   FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/rtlwifi/rtl8192ce/rtl8192ce.ko
408   AUTOLOAD:=$(call AutoLoad,28,rtl8192ce)
409 endef
410
411 define KernelPackage/rtl8192ce/install
412         $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi
413         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192cfw.bin $(1)/lib/firmware/rtlwifi
414 endef
415
416 define KernelPackage/rtl8192se
417   $(call KernelPackage/mac80211/Default)
418   TITLE:=Realtek RTL8192SE/RTL8191SE support
419   DEPENDS+= +kmod-rtlwifi-pci
420   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtlwifi/rtl8192se/rtl8192se.ko
421   AUTOLOAD:=$(call AutoLoad,28,rtl8192se)
422 endef
423
424 define KernelPackage/rtl8192se/install
425         $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi
426         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192sefw.bin $(1)/lib/firmware/rtlwifi
427 endef
428
429 define KernelPackage/rtl8192de
430   $(call KernelPackage/mac80211/Default)
431   TITLE:=Realtek RTL8192DE/RTL8188DE support
432   DEPENDS+= +kmod-rtlwifi-pci
433   FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/rtlwifi/rtl8192de/rtl8192de.ko
434   AUTOLOAD:=$(call AutoLoad,28,rtl8192de)
435 endef
436
437 define KernelPackage/rtl8192de/install
438         $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi
439         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192defw.bin $(1)/lib/firmware/rtlwifi
440 endef
441
442 define KernelPackage/rtl8192cu
443   $(call KernelPackage/mac80211/Default)
444   TITLE:=Realtek RTL8192CU/RTL8188CU support
445   DEPENDS+= +kmod-rtlwifi-usb +kmod-rtl8192c-common
446   FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/rtlwifi/rtl8192cu/rtl8192cu.ko
447   AUTOLOAD:=$(call AutoLoad,28,rtl8192cu)
448 endef
449
450 define KernelPackage/rtl8192cu/install
451         $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi
452         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192cufw.bin $(1)/lib/firmware/rtlwifi
453 endef
454
455 ZD1211FW_NAME:=zd1211-firmware
456 ZD1211FW_VERSION:=1.4
457 define Download/zd1211rw
458   FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
459   URL:=@SF/zd1211/
460   MD5SUM:=19f28781d76569af8551c9d11294c870
461 endef
462 $(eval $(call Download,zd1211rw))
463
464 define KernelPackage/zd1211rw
465   $(call KernelPackage/mac80211/Default)
466   TITLE:=Zydas ZD1211 support
467   DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
468   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zd1211rw/zd1211rw.ko
469   AUTOLOAD:=$(call AutoLoad,60,zd1211rw)
470 endef
471
472 define KernelPackage/adm8211
473   $(call KernelPackage/mac80211/Default)
474   TITLE:=ADMTek 8211 support
475   DEPENDS+=@PCI_SUPPORT +kmod-mac80211 +kmod-eeprom-93cx6
476   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/adm8211.ko
477   AUTOLOAD:=$(call AutoLoad,60,adm8211)
478 endef
479
480 define KernelPackage/ath/config
481   if PACKAGE_kmod-ath
482         config ATH_USER_REGD
483                 bool "Force Atheros drivers to respect the user's regdomain settings"
484                 help
485                   Atheros' idea of regulatory handling is that the EEPROM of the card defines
486                   the regulatory limits and the user is only allowed to restrict the settings
487                   even further, even if the country allows frequencies or power levels that
488                   are forbidden by the EEPROM settings.
489
490                   Select this option if you want the driver to respect the user's decision about
491                   regulatory settings.
492
493         config PACKAGE_ATH_DEBUG
494                 bool "Atheros wireless debugging"
495                 help
496                   Say Y, if you want to debug atheros wireless drivers.
497                   Right now only ath9k makes use of this.
498   endif
499 endef
500
501 define KernelPackage/ath
502   $(call KernelPackage/mac80211/Default)
503   TITLE:=Atheros common driver part
504   DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx||TARGET_atheros +kmod-mac80211
505   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.ko
506   AUTOLOAD:=$(call AutoLoad,26,ath)
507   MENU:=1
508 endef
509
510 define KernelPackage/ath/description
511  This module contains some common parts needed by Atheros Wireless drivers.
512 endef
513
514 define KernelPackage/ath5k
515   $(call KernelPackage/mac80211/Default)
516   TITLE:=Atheros 5xxx wireless cards support
517   URL:=http://linuxwireless.org/en/users/Drivers/ath5k
518   DEPENDS+= @PCI_SUPPORT||@TARGET_atheros +kmod-ath
519   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.ko
520   AUTOLOAD:=$(call AutoLoad,27,ath5k)
521 endef
522
523 define KernelPackage/ath5k/description
524  This module adds support for wireless adapters based on
525  Atheros 5xxx chipset.
526 endef
527
528 define KernelPackage/ath9k-common
529   $(call KernelPackage/mac80211/Default)
530   TITLE:=Atheros 802.11n wireless devices (common code for ath9k and ath9k_htc)
531   URL:=http://linuxwireless.org/en/users/Drivers/ath9k
532   DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx +kmod-ath +@DRIVER_11N_SUPPORT
533   FILES:= \
534         $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.ko \
535         $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
536   AUTOLOAD:=$(call AutoLoad,27,ath9k_hw ath9k_common)
537 endef
538
539 define KernelPackage/ath9k
540   $(call KernelPackage/mac80211/Default)
541   TITLE:=Atheros 802.11n PCI wireless cards support
542   URL:=http://linuxwireless.org/en/users/Drivers/ath9k
543   DEPENDS+= @PCI_SUPPORT||TARGET_ar71xx +kmod-ath9k-common
544   FILES:= \
545         $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.ko
546   AUTOLOAD:=$(call AutoLoad,28,ath9k)
547 endef
548
549 define KernelPackage/ath9k/description
550 This module adds support for wireless adapters based on
551 Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
552 endef
553
554 define KernelPackage/ath9k-htc
555   $(call KernelPackage/mac80211/Default)
556   TITLE:=Atheros 802.11n USB device support
557   URL:=http://linuxwireless.org/en/users/Drivers/ath9k
558   DEPENDS+= @USB_SUPPORT +kmod-ath9k-common +kmod-usb-core
559   FILES:= \
560         $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
561   AUTOLOAD:=$(call AutoLoad,55,ath9k_htc)
562 endef
563
564 define KernelPackage/ath9k-htc/description
565 This module adds support for wireless adapters based on
566 Atheros USB AR9271 and AR7010 family of chipsets.
567 endef
568
569 define KernelPackage/carl9170
570   $(call KernelPackage/mac80211/Default)
571   TITLE:=Driver for Atheros AR9170 USB sticks
572   DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core +kmod-input-core +@DRIVER_11N_SUPPORT
573   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/carl9170/carl9170.ko
574   AUTOLOAD:=$(call AutoLoad,60,carl9170)
575 endef
576
577 define KernelPackage/carl9170/install
578         $(INSTALL_DIR) $(1)/lib/firmware
579         $(INSTALL_DATA) $(DL_DIR)/$(CARL9170_FW)-$(CARL9170_FW_VERSION) $(1)/lib/firmware/$(CARL9170_FW)
580 endef
581
582 define KernelPackage/lib80211
583   $(call KernelPackage/mac80211/Default)
584   TITLE:=802.11 Networking stack
585   DEPENDS:=+kmod-cfg80211
586   FILES:= \
587         $(PKG_BUILD_DIR)/net/wireless/lib80211.ko \
588         $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_wep.ko \
589         $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_ccmp.ko \
590         $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_tkip.ko
591   AUTOLOAD:=$(call AutoLoad,21, \
592         lib80211 \
593         lib80211_crypt_wep \
594         lib80211_crypt_ccmp \
595         lib80211_crypt_tkip \
596   )
597 endef
598
599 define KernelPackage/lib80211/description
600  Kernel modules for 802.11 Networking stack
601  Includes:
602  - lib80211
603  - lib80211_crypt_wep
604  - lib80211_crypt_tkip
605  - lib80211_crytp_ccmp
606 endef
607
608 define KernelPackage/libertas-usb
609   $(call KernelPackage/mac80211/Default)
610   DEPENDS+= @USB_SUPPORT +kmod-cfg80211 +kmod-usb-core +kmod-lib80211 +@DRIVER_WEXT_SUPPORT
611   TITLE:=Marvell 88W8015 Wireless Driver
612   FILES:= \
613         $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
614         $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/usb8xxx.ko
615   AUTOLOAD:=$(call AutoLoad,27,libertas usb8xxx)
616 endef
617
618 define KernelPackage/libertas-sd
619   $(call KernelPackage/mac80211/Default)
620   DEPENDS+= +kmod-cfg80211 +kmod-lib80211 +kmod-mmc +@DRIVER_WEXT_SUPPORT
621   TITLE:=Marvell 88W8686 Wireless Driver
622   FILES:= \
623         $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
624         $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas_sdio.ko
625   AUTOLOAD:=$(call AutoLoad,91,libertas libertas_sdio)
626 endef
627
628 define KernelPackage/mac80211-hwsim
629   $(call KernelPackage/mac80211/Default)
630   TITLE:=mac80211 HW simulation device
631   DEPENDS+= +kmod-mac80211
632   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.ko
633   AUTOLOAD:=$(call AutoLoad,60,mac80211_hwsim)
634 endef
635
636 define KernelPackage/net-libipw
637   $(call KernelPackage/mac80211/Default)
638   TITLE:=libipw for ipw2100 and ipw2200
639   DEPENDS:=@PCI_SUPPORT +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT
640   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/libipw.ko
641   AUTOLOAD:=$(call AutoLoad,49,libipw)
642 endef
643
644 define KernelPackage/net-libipw/description
645  Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
646 endef
647
648 IPW2100_NAME:=ipw2100-fw
649 IPW2100_VERSION:=1.3
650
651 define Download/net-ipw2100
652   URL:=http://bughost.org/firmware/
653   FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
654   MD5SUM=46aa75bcda1a00efa841f9707bbbd113
655 endef
656 $(eval $(call Download,net-ipw2100))
657
658 define KernelPackage/net-ipw2100
659   $(call KernelPackage/mac80211/Default)
660   TITLE:=Intel IPW2100 driver
661   DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
662   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2100.ko
663   AUTOLOAD:=$(call AutoLoad,50,ipw2100)
664 endef
665
666 define KernelPackage/net-ipw2100/description
667  Kernel support for Intel IPW2100
668  Includes:
669  - ipw2100
670 endef
671
672 IPW2200_NAME:=ipw2200-fw
673 IPW2200_VERSION:=3.1
674
675 define Download/net-ipw2200
676   URL:=http://bughost.org/firmware/
677   FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
678   MD5SUM=eaba788643c7cc7483dd67ace70f6e99
679 endef
680 $(eval $(call Download,net-ipw2200))
681
682 define KernelPackage/net-ipw2200
683   $(call KernelPackage/mac80211/Default)
684   TITLE:=Intel IPW2200 driver
685   DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
686   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2200.ko
687   AUTOLOAD:=$(call AutoLoad,50,ipw2200)
688 endef
689
690 define KernelPackage/net-ipw2200/description
691  Kernel support for Intel IPW2200
692  Includes:
693  - ipw2200
694 endef
695
696
697 define KernelPackage/net-hermes
698   $(call KernelPackage/mac80211/Default)
699   TITLE:=Hermes 802.11b chipset support
700   DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT
701   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco.ko
702   AUTOLOAD:=$(call AutoLoad,50,orinoco)
703 endef
704
705 define KernelPackage/net-hermes/description
706  Kernel support for Hermes 802.11b chipsets
707 endef
708
709 define KernelPackage/net-hermes-pci
710   $(call KernelPackage/mac80211/Default)
711   TITLE:=Intersil Prism 2.5 PCI support
712   DEPENDS:=@PCI_SUPPORT +kmod-net-hermes
713   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_pci.ko
714   AUTOLOAD:=$(call AutoLoad,55,orinoco_pci)
715 endef
716
717 define KernelPackage/net-hermes-pci/description
718  Kernel modules for Intersil Prism 2.5 PCI support
719 endef
720
721 define KernelPackage/net-hermes-plx
722   $(call KernelPackage/mac80211/Default)
723   TITLE:=PLX9052 based PCI adaptor
724   DEPENDS:=@PCI_SUPPORT +kmod-net-hermes
725   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_plx.ko
726   AUTOLOAD:=$(call AutoLoad,55,orinoco_plx)
727 endef
728
729 define KernelPackage/net-hermes-plx/description
730  Kernel modules for Hermes in PLX9052 based PCI adaptors
731 endef
732
733 define KernelPackage/net-hermes-pcmcia
734   $(call KernelPackage/mac80211/Default)
735   TITLE:=Hermes based PCMCIA adaptors
736   DEPENDS:=@PCMCIA_SUPPORT +kmod-net-hermes @BROKEN
737   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_cs.ko
738   AUTOLOAD:=$(call AutoLoad,55,orinoco_cs)
739 endef
740
741 define KernelPackage/net-hermes-pcmcia/description
742  Kernel modules for Hermes based PCMCIA adaptors
743 endef
744
745 define KernelPackage/iwlagn
746   $(call KernelPackage/mac80211/Default)
747   DEPENDS:= +kmod-mac80211 @PCI_SUPPORT +@DRIVER_11N_SUPPORT
748   TITLE:=Intel AGN Wireless support
749   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlwifi/iwlwifi.ko
750   AUTOLOAD:=$(call AutoLoad,60,iwlwifi)
751   MENU:=1
752 endef
753
754 define KernelPackage/iwlagn/description
755  iwlagn kernel module for Intel 5000/5150/1000/6000/6050/6005/6030/100 support
756 endef
757
758 define KernelPackage/iwlagn/config
759   if PACKAGE_kmod-iwlagn
760
761         config IWL5000_FW
762                 bool "Intel 5000 Firmware"
763                 default y
764                 help
765                   Download and install firmware for:
766                     Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN
767
768         config IWL5150_FW
769                 bool "Intel 5150 Firmware"
770                 default y
771                 help
772                   Download and install firmware for:
773                     Intel Wireless WiFi 5150AGN
774
775         config IWL1000_FW
776                 bool "Intel 1000 Firmware"
777                 default y
778                 help
779                   Download and install firmware for:
780                     Intel Centrino Wireless-N 1000
781
782         config IWL6000_FW
783                 bool "Intel 6000 Firmware"
784                 default y
785                 help
786                   Download and install firmware for:
787                     Intel Centrino Ultimate-N 6300 and Advanced-N 6200
788
789         config IWL6050_FW
790                 bool "Intel 6050 Firmware"
791                 default y
792                 help
793                   Download and install firmware for:
794                     Intel Centrino Advanced-N + WiMAX 6250 and Wireless-N + WiMAX 6150
795
796         config IWL6005_FW
797                 bool "Intel 6005 Firmware"
798                 default y
799                 help
800                   Download and install firmware for:
801                     Intel Centrino Advanced-N 6205
802
803         config IWL6030_FW
804                 bool "Intel 6030 Firmware"
805                 default y
806                 help
807                   Download and install firmware for:
808                     Intel Centrino Advanced-N 6230, Wireless-N 1030, Wireless-N 130 and Advanced-N 6235
809
810         config IWL100_FW
811                 bool "Intel 100 Firmware"
812                 default y
813                 help
814                   Download and install firmware for:
815                     Intel Centrino Wireless-N 100
816
817         config IWL2000_FW
818                 bool "Intel 2000 Firmware"
819                 default y
820                 help
821                   Download and install firmware for:
822                     Intel Centrino Wireless-N 2200
823
824         config IWL2030_FW
825                 bool "Intel 2030 Firmware"
826                 default y
827                 help
828                   Download and install firmware for:
829                     Intel Centrino Wireless-N 2230
830
831         config IWL105_FW
832                 bool "Intel 105 Firmware"
833                 default y
834                 help
835                   Download and install firmware for:
836                     Intel Centrino Wireless-N 105
837
838         config IWL135_FW
839                 bool "Intel 135 Firmware"
840                 default y
841                 help
842                   Download and install firmware for:
843                     Intel Centrino Wireless-N 135
844   endif
845 endef
846
847 define KernelPackage/iwl-legacy
848   $(call KernelPackage/mac80211/Default)
849   DEPENDS:= +kmod-mac80211 @PCI_SUPPORT
850   TITLE:=Intel legacy Wireless support
851   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwlegacy.ko
852   AUTOLOAD:=$(call AutoLoad,60,iwlegacy)
853 endef
854
855 define KernelPackage/iwl-legacy/description
856  iwl-legacy kernel module for legacy Intel wireless support
857 endef
858
859 define KernelPackage/iwl3945
860   $(call KernelPackage/mac80211/Default)
861   DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy
862   TITLE:=Intel iwl3945 Wireless support
863   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl3945.ko
864   AUTOLOAD:=$(call AutoLoad,61,iwl3945)
865 endef
866
867 define KernelPackage/iwl3945/description
868  iwl3945 kernel module for Intel 3945 support
869 endef
870
871 define KernelPackage/iwl4965
872   $(call KernelPackage/mac80211/Default)
873   DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy +@DRIVER_11N_SUPPORT
874   TITLE:=Intel iwl4965 Wireless support
875   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl4965.ko
876   AUTOLOAD:=$(call AutoLoad,61,iwl4965)
877 endef
878
879 define KernelPackage/iwl4965/description
880  iwl4965 kernel module for Intel 4965 support
881 endef
882
883
884 define KernelPackage/mwl8k
885   $(call KernelPackage/mac80211/Default)
886   TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards
887   URL:=http://wireless.kernel.org/en/users/Drivers/mwl8k
888   DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +@DRIVER_11N_SUPPORT
889   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mwl8k.ko
890   AUTOLOAD:=$(call AutoLoad,27,mwl8k)
891 endef
892
893 define KernelPackage/mwl8k/description
894  Kernel modules for Marvell TOPDOG 802.11 Wireless cards
895 endef
896
897
898 define KernelPackage/wl12xx
899   $(call KernelPackage/mac80211/Default)
900   TITLE:=Driver for TI WL12xx
901   URL:=http://wireless.kernel.org/en/users/Drivers/wl12xx
902   DEPENDS+= @TARGET_omap4 +kmod-mac80211
903   FILES:= \
904         $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl12xx/wl12xx.ko \
905         $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore.ko \
906         $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore_sdio.ko
907   AUTOLOAD:=$(call AutoLoad,61,wlcore wlcore_sdio wl12xx)
908 endef
909
910 define KernelPackage/wl12xx/description
911  Kernel modules for TI WL12xx
912 endef
913
914 #Broadcom firmware
915 ifneq ($(CONFIG_B43_FW_5_10),)
916   PKG_B43_FWV4_NAME:=broadcom-wl
917   PKG_B43_FWV4_VERSION:=5.10.56.27.3
918   PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta/wl_prebuilt.o
919   PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)_mipsel.tar.bz2
920   PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
921   PKG_B43_FWV4_MD5SUM:=3363e3a6b3d9d73c49dea870c7834eac
922 else
923 ifneq ($(CONFIG_B43_FW_4_178),)
924   PKG_B43_FWV4_NAME:=broadcom-wl
925   PKG_B43_FWV4_VERSION:=4.178.10.4
926   PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
927   PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
928   PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
929   PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
930 else
931 ifneq ($(CONFIG_B43_FW_5_100_138),)
932   PKG_B43_FWV4_NAME:=broadcom-wl
933   PKG_B43_FWV4_VERSION:=5.100.138
934   PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
935   PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
936   PKG_B43_FWV4_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
937   PKG_B43_FWV4_MD5SUM:=f4e357b09eaf5d8b1f1920cf3493a555
938 else
939   PKG_B43_FWV4_NAME:=broadcom-wl
940   PKG_B43_FWV4_VERSION:=4.150.10.5
941   PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
942   PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
943   PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
944   PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
945 endif
946 endif
947 endif
948 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
949   PKG_B43_FWV4_NAME:=broadcom-wl
950   PKG_B43_FWV4_VERSION:=5.2
951   PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
952   PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
953   PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
954   PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
955 endif
956
957
958 PKG_B43_FWV3_NAME:=wl_apsta
959 PKG_B43_FWV3_VERSION:=3.130.20.0
960 PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o
961 PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/
962 PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3
963
964 define Download/b43
965   FILE:=$(PKG_B43_FWV4_SOURCE)
966   URL:=$(PKG_B43_FWV4_SOURCE_URL)
967   MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
968 endef
969 $(eval $(call Download,b43))
970
971 define Download/b43legacy
972   FILE:=$(PKG_B43_FWV3_SOURCE)
973   URL:=$(PKG_B43_FWV3_SOURCE_URL)
974   MD5SUM:=$(PKG_B43_FWV3_MD5SUM)
975 endef
976 $(eval $(call Download,b43legacy))
977
978
979 define KernelPackage/b43
980   $(call KernelPackage/mac80211/Default)
981   TITLE:=Broadcom 43xx wireless support
982   URL:=http://linuxwireless.org/en/users/Drivers/b43
983   KCONFIG:= \
984         CONFIG_HW_RANDOM=y
985   DEPENDS+= +kmod-mac80211 +!TARGET_brcm47xx:kmod-bcma +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
986   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.ko
987   AUTOLOAD:=$(call AutoLoad,30,b43)
988   MENU:=1
989 endef
990
991 define KernelPackage/b43/config
992   if PACKAGE_kmod-b43
993
994         choice
995                 prompt "b43 firmware version"
996                 default B43_FW_5_100_138
997                 help
998                   This option allows you to select the version of the b43 firmware.
999
1000         config B43_FW_4_150
1001                 bool "Firmware 410.2160 from driver 4.150.10.5 (old stable)"
1002                 help
1003                   Stable firmware for BCM43xx devices.
1004
1005                   If unsure, select this.
1006
1007         config B43_FW_4_178
1008                 bool "Firmware 478.104 from driver 4.178.10.4"
1009                 help
1010                   Experimental firmware for BCM43xx devices.
1011
1012                   This firmware is not tested as much as the "stable" firmware.
1013
1014                   If unsure, select the "stable" firmware.
1015
1016         config B43_FW_5_10
1017                 bool "Firmware 508.1084 from driver 5.10.56.27"
1018                 help
1019                   Newer experimental firmware for BCM43xx devices.
1020
1021                   This firmware is mostly untested. It is needed for some N-PHY devices.
1022
1023                   If unsure, select the "stable" firmware.
1024
1025         config B43_FW_5_100_138
1026                 bool "Firmware 666.2 from driver 5.100.138 (stable)"
1027                 help
1028                   Newer experimental firmware for BCM43xx devices.
1029
1030                   This firmware is mostly untested. It is needed for some N-PHY devices.
1031
1032                   If unsure, select the "stable" firmware.
1033
1034         config B43_OPENFIRMWARE
1035                 bool "Open FirmWare for WiFi networks"
1036                 help
1037                   Opensource firmware for BCM43xx devices.
1038
1039                   Do _not_ select this, unless you know what you are doing.
1040                   The Opensource firmware is not suitable for embedded devices, yet.
1041                   It does not support QoS, which is bad for AccessPoints.
1042                   It does not support hardware crypto acceleration, which is a showstopper
1043                   for embedded devices with low CPU resources.
1044
1045                   If unsure, select the "stable" firmware.
1046
1047         endchoice
1048
1049         config B43_FW_SQUASH
1050                 bool "Remove unnecessary firmware files"
1051                 depends on !B43_OPENFIRMWARE
1052                 default y
1053                 help
1054                   This options allows you to remove unnecessary b43 firmware files
1055                   from the final rootfs image. This can reduce the rootfs size by
1056                   up to 200k.
1057
1058                   If unsure, say Y.
1059
1060         config B43_FW_SQUASH_COREREVS
1061                 string "Core revisions to include"
1062                 depends on B43_FW_SQUASH
1063                 default "5,6,7,8,9,10,11,13,15,16,29"
1064                 help
1065                   This is a comma seperated list of core revision numbers.
1066
1067                   Example (keep files for rev5 only):
1068                     5
1069
1070                   Example (keep files for rev5 and rev11):
1071                     5,11
1072
1073         config B43_FW_SQUASH_PHYTYPES
1074                 string "PHY types to include"
1075                 depends on B43_FW_SQUASH
1076                 default "G,LP,N,HT"
1077                 help
1078                   This is a comma seperated list of PHY types:
1079                     A  => A-PHY
1080                     AG => Dual A-PHY G-PHY
1081                     G  => G-PHY
1082                     LP => LP-PHY
1083                     N  => N-PHY
1084                     HT  => HT-PHY
1085                     LCN  => LCN-PHY
1086
1087                   Example (keep files for G-PHY only):
1088                     G
1089
1090                   Example (keep files for G-PHY and N-PHY):
1091                     G,N
1092
1093         config PACKAGE_B43_DEBUG
1094                 bool "Enable debug output and debugfs for b43"
1095                 default n
1096                 help
1097                   Enable additional debug output and runtime sanity checks for b43
1098                   and enables the debugfs interface.
1099
1100                   If unsure, say N.
1101
1102         config PACKAGE_B43_PIO
1103                 bool "Enable support for PIO transfer mode"
1104                 default n
1105                 help
1106                   Enable support for using PIO instead of DMA. Unless you have DMA
1107                   transfer problems you don't need this.
1108
1109                   If unsure, say N.
1110
1111         config PACKAGE_B43_PHY_N
1112                 bool "Enable support for N-PHYs"
1113                 default y
1114                 help
1115                   Enable support for N-PHY. This includes support for the following devices:
1116                   PCI: BCM4321, BCM4322, BCM43222, BCM43224, BCM43225
1117                   SoC: BCM4716, BCM4717, BCM4718
1118
1119                   Currently only 11g speed is available.
1120
1121                   If unsure, say Y.
1122
1123         config PACKAGE_B43_PHY_HT
1124                 bool "Enable support for HT-PHYs"
1125                 default y
1126                 help
1127                   Enable support for HT-PHY. This includes support for the following devices:
1128                   PCI: BCM4331
1129
1130                   Currently only 11g speed is available.
1131
1132                   If unsure, say Y.
1133
1134         config PACKAGE_B43_PHY_LCN
1135                 bool "Enable support for LCN-PHYs"
1136                 depends on BROKEN
1137                 default n
1138                 help
1139                   Currently broken.
1140
1141                   If unsure, say N.
1142
1143   endif
1144 endef
1145
1146 define KernelPackage/b43/description
1147 Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
1148 endef
1149
1150 define KernelPackage/b43legacy
1151   $(call KernelPackage/mac80211/Default)
1152   TITLE:=Broadcom 43xx-legacy wireless support
1153   URL:=http://linuxwireless.org/en/users/Drivers/b43
1154   KCONFIG:= \
1155         CONFIG_HW_RANDOM=y
1156   DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
1157   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.ko
1158   AUTOLOAD:=$(call AutoLoad,30,b43legacy)
1159   MENU:=1
1160 endef
1161
1162 define KernelPackage/b43legacy/config
1163   if PACKAGE_kmod-b43legacy
1164
1165         config B43LEGACY_FW_SQUASH
1166                 bool "Remove unnecessary firmware files"
1167                 default y
1168                 help
1169                   This options allows you to remove unnecessary b43legacy firmware files
1170                   from the final rootfs image. This can reduce the rootfs size by
1171                   up to 50k.
1172
1173                   If unsure, say Y.
1174
1175         config B43LEGACY_FW_SQUASH_COREREVS
1176                 string "Core revisions to include"
1177                 depends on B43LEGACY_FW_SQUASH
1178                 default "1,2,3,4"
1179                 help
1180                   This is a comma seperated list of core revision numbers.
1181
1182                   Example (keep files for rev4 only):
1183                     4
1184
1185                   Example (keep files for rev2 and rev4):
1186                     2,4
1187
1188   endif
1189 endef
1190
1191 define KernelPackage/b43legacy/description
1192 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
1193 endef
1194
1195
1196 define KernelPackage/brcmutil
1197   $(call KernelPackage/mac80211/Default)
1198   TITLE:=Broadcom IEEE802.11n common driver parts
1199   URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
1200   DEPENDS+=@PCI_SUPPORT||USB_SUPPORT
1201   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmutil/brcmutil.ko
1202   AUTOLOAD:=$(call AutoLoad,30,brcmutil)
1203   MENU:=1
1204 endef
1205
1206 define KernelPackage/brcmutil/description
1207  This module contains some common parts needed by Broadcom Wireless drivers brcmsmac and brcmfmac.
1208 endef
1209
1210 define KernelPackage/brcmutil/config
1211   if PACKAGE_kmod-brcmutil
1212
1213         config PACKAGE_BRCM80211_DEBUG
1214                 bool "Broadcom wireless driver debugging"
1215                 help
1216                   Say Y, if you want to debug brcmsmac and brcmfmac wireless driver.
1217
1218   endif
1219 endef
1220
1221 PKG_BRCMSMAC_FW_NAME:=broadcom-wl
1222 PKG_BRCMSMAC_FW_VERSION:=5.100.138
1223 PKG_BRCMSMAC_FW_OBJECT:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION)/linux/wl_apsta.o
1224 PKG_BRCMSMAC_FW_SOURCE:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION).tar.bz2
1225 PKG_BRCMSMAC_FW_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
1226 PKG_BRCMSMAC_FW_MD5SUM:=f4e357b09eaf5d8b1f1920cf3493a555
1227
1228 define Download/brcmsmac
1229   FILE:=$(PKG_BRCMSMAC_FW_SOURCE)
1230   URL:=$(PKG_BRCMSMAC_FW_SOURCE_URL)
1231   MD5SUM:=$(PKG_BRCMSMAC_FW_MD5SUM)
1232 endef
1233 $(eval $(call Download,brcmsmac))
1234
1235 define KernelPackage/brcmsmac
1236   $(call KernelPackage/mac80211/Default)
1237   TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver
1238   URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
1239   DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT +!TARGET_brcm47xx:kmod-bcma +kmod-lib-cordic +kmod-lib-crc8 +kmod-brcmutil
1240   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko
1241   AUTOLOAD:=$(call AutoLoad,31,brcmsmac)
1242   MENU:=1
1243 endef
1244
1245 define KernelPackage/brcmsmac/description
1246  Kernel module for Broadcom IEEE802.11n PCIe Wireless cards
1247 endef
1248
1249 define KernelPackage/brcmsmac/config
1250   if PACKAGE_kmod-brcmsmac
1251
1252         config BRCMSMAC_USE_FW_FROM_WL
1253                 bool "Use firmware extracted from broadcom proprietary driver"
1254                 default y
1255                 help
1256                   Instead of using the official brcmsmac firmware a firmware
1257                   version 666.2 extracted from the proprietary Broadcom driver
1258                   is used. This is needed to get core rev 17 used in bcm4716
1259                   to work.
1260
1261                   If unsure, say Y.
1262
1263   endif
1264 endef
1265
1266
1267 define KernelPackage/brcmfmac
1268   $(call KernelPackage/mac80211/Default)
1269   TITLE:=Broadcom IEEE802.11n USB FullMAC WLAN driver
1270   URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
1271   DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-cfg80211 +@DRIVER_11N_SUPPORT +kmod-brcmutil
1272   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko
1273   AUTOLOAD:=$(call AutoLoad,60,brcmfmac)
1274 endef
1275
1276 define KernelPackage/brcmfmac/description
1277  Kernel module for Broadcom IEEE802.11n USB Wireless cards
1278 endef
1279
1280 config_package=$(if $(CONFIG_PACKAGE_kmod-$(1)),m)
1281
1282 config-y:= \
1283         WLAN \
1284         NL80211_TESTMODE \
1285         CFG80211_WEXT \
1286         CFG80211_INTERNAL_REGDB \
1287         MAC80211_RC_MINSTREL \
1288         MAC80211_RC_MINSTREL_HT \
1289         MAC80211_RC_DEFAULT_MINSTREL \
1290
1291 config-$(call config_package,cfg80211) += CFG80211
1292
1293 config-$(call config_package,mac80211) += MAC80211
1294 config-$(CONFIG_PACKAGE_MAC80211_MESH) += MAC80211_MESH
1295 ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
1296   config-y += \
1297         CFG80211_DEBUGFS \
1298         MAC80211_DEBUGFS \
1299         ATH9K_DEBUGFS \
1300         ATH9K_HTC_DEBUGFS \
1301         CARL9170_DEBUGFS \
1302         ATH5K_DEBUG
1303 endif
1304
1305 config-$(call config_package,lib80211) += LIB80211 LIB80211_CRYPT_WEP LIB80211_CRYPT_CCMP LIB80211_CRYPT_TKIP
1306
1307 config-$(call config_package,ath) += ATH_CARDS ATH_COMMON
1308 config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG
1309
1310 config-$(call config_package,ath9k) += ATH9K
1311 config-$(call config_package,ath9k-common) += ATH9K_COMMON
1312 config-$(CONFIG_TARGET_ar71xx) += ATH9K_AHB
1313 config-$(CONFIG_PCI) += ATH9K_PCI
1314 config-$(CONFIG_ATH_USER_REGD) += ATH_USER_REGD
1315
1316 config-$(call config_package,ath9k-htc) += ATH9K_HTC
1317
1318 config-$(call config_package,ath5k) += ATH5K
1319 ifdef CONFIG_TARGET_atheros
1320   config-y += ATH5K_AHB
1321 else
1322   config-y += ATH5K_PCI
1323 endif
1324
1325 config-$(call config_package,carl9170) += CARL9170
1326
1327 config-$(call config_package,b43) += B43
1328 config-y += B43_SSB B43_BCMA B43_PHY_LP
1329 config-$(CONFIG_PACKAGE_B43_PHY_N) += B43_PHY_N
1330 config-$(CONFIG_PACKAGE_B43_PHY_HT) += B43_PHY_HT
1331 config-$(CONFIG_PACKAGE_B43_PIO) += B43_PIO
1332 config-$(CONFIG_PACKAGE_B43_DEBUG) += B43_DEBUG
1333
1334 config-$(call config_package,b43legacy) += B43LEGACY
1335 config-y += B43LEGACY_DMA_MODE
1336
1337 config-$(call config_package,brcmutil) += BRCMUTIL
1338 config-$(call config_package,brcmsmac) += BRCMSMAC
1339 config-$(call config_package,brcmfmac) += BRCMFMAC BRCMFMAC_USB
1340 config-$(CONFIG_PACKAGE_BRCM80211_DEBUG) += BRCMDBG
1341
1342 config-$(call config_package,mac80211-hwsim) += MAC80211_HWSIM
1343
1344 config-$(call config_package,rt2x00-lib) += RT2X00 RT2X00_LIB
1345 config-$(call config_package,rt2x00-pci) += RT2X00_LIB_PCI
1346 config-$(call config_package,rt2x00-mmio) += RT2X00_LIB_MMIO
1347 config-$(call config_package,rt2x00-usb) += RT2X00_LIB_USB
1348 config-$(call config_package,rt2x00-soc) += RT2X00_LIB_SOC
1349 config-$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) += RT2X00_LIB_DEBUGFS
1350 config-$(CONFIG_PACKAGE_RT2X00_DEBUG) += RT2X00_DEBUG
1351
1352 config-$(call config_package,rt2400-pci) += RT2400PCI
1353 config-$(call config_package,rt2500-pci) += RT2500PCI
1354 config-$(call config_package,rt2500-usb) += RT2500USB
1355 config-$(call config_package,rt61-pci) += RT61PCI
1356 config-$(call config_package,rt73-usb) += RT73USB
1357
1358 config-$(call config_package,rt2800-lib) += RT2800_LIB
1359
1360 config-$(call config_package,rt2800-pci) += RT2800PCI
1361 config-y += RT2800PCI_RT33XX RT2800PCI_RT35XX RT2800PCI_RT53XX RT2800PCI_RT3290
1362
1363 config-$(call config_package,rt2800-usb) += RT2800USB
1364 config-y += RT2800USB_RT33XX RT2800USB_RT35XX RT2800USB_RT3573 RT2800USB_RT53XX RT2800USB_RT55XX
1365
1366 config-$(call config_package,iwl-legacy) += IWLEGACY
1367 config-$(call config_package,iwl3945) += IWL3945
1368 config-$(call config_package,iwl4965) += IWL4965
1369 config-$(call config_package,iwlagn) += IWLWIFI
1370
1371 config-$(call config_package,net-libipw) += LIBIPW
1372 config-$(call config_package,net-ipw2100) += IPW2100
1373 config-$(call config_package,net-ipw2200) += IPW2200
1374
1375 config-$(call config_package,p54-common) += P54_COMMON
1376 config-$(call config_package,p54-pci) += P54_PCI
1377 config-$(call config_package,p54-usb) += P54_USB
1378 config-$(call config_package,p54-spi) += P54_SPI
1379
1380 config-$(call config_package,net-hermes) += HERMES
1381 config-$(call config_package,net-hermes-pci) += PCI_HERMES
1382 config-$(call config_package,net-hermes-plx) += PLX_HERMES
1383 config-$(call config_package,net-hermes-pcmcia) += PCMCIA_HERMES
1384 config-y += HERMES_PRISM
1385
1386 config-$(call config_package,adm8211) += ADM8211
1387 config-$(call config_package,libertas-sd) += LIBERTAS LIBERTAS_SDIO
1388 config-$(call config_package,libertas-usb) += LIBERTAS LIBERTAS_USB
1389 config-$(call config_package,mwl8k) += MWL8K
1390 config-$(call config_package,rtl8180) += RTL8180
1391 config-$(call config_package,rtl8187) += RTL8187
1392 config-$(call config_package,wl12xx) += WL_TI WLCORE WLCORE_SDIO WL12XX
1393 config-$(call config_package,zd1211rw) += ZD1211RW
1394
1395 config-$(call config_package,rtlwifi) += RTL_CARDS RTLWIFI
1396 config-$(call config_package,rtlwifi-pci) += RTLWIFI_PCI
1397 config-$(call config_package,rtlwifi-usb) += RTLWIFI_USB
1398 config-$(call config_package,rtl8192c-common) += RTL8192C_COMMON
1399 config-$(call config_package,rtl8192ce) += RTL8192CE
1400 config-$(call config_package,rtl8192se) += RTL8192SE
1401 config-$(call config_package,rtl8192de) += RTL8192DE
1402 config-$(call config_package,rtl8192cu) += RTL8192CU
1403 config-$(CONFIG_PACKAGE_RTLWIFI_DEBUG) += RTLWIFI_DEBUG
1404
1405 config-$(CONFIG_LEDS_TRIGGERS) += MAC80211_LEDS B43_LEDS B43LEGACY_LEDS
1406
1407 MAKE_OPTS:= -C "$(PKG_BUILD_DIR)" \
1408         CROSS_COMPILE="$(KERNEL_CROSS)" \
1409         ARCH="$(LINUX_KARCH)" \
1410         EXTRA_CFLAGS="-I$(PKG_BUILD_DIR)/include" \
1411         KLIB_BUILD="$(LINUX_DIR)" \
1412         MODPROBE=true \
1413         KLIB=$(TARGET_MODULES_DIR) \
1414         KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \
1415         KBUILD_LDFLAGS_MODULE_PREREQ=
1416
1417 ifneq ($(findstring c,$(OPENWRT_VERBOSE)),)
1418   MAKE_OPTS += V=1
1419 endif
1420
1421 define ConfigVars
1422 $(subst $(space),,$(foreach opt,$(config-$(1)),CPTCFG_$(opt)=$(1)
1423 ))
1424 endef
1425
1426 define mac80211_config
1427 $(call ConfigVars,m)$(call ConfigVars,y)
1428 endef
1429 $(eval $(call shexport,mac80211_config))
1430
1431 define Build/Prepare
1432         rm -rf $(PKG_BUILD_DIR)
1433         mkdir -p $(PKG_BUILD_DIR)
1434         $(PKG_UNPACK)
1435         $(Build/Patch)
1436         $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
1437         $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
1438         $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
1439         $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(PKG_LINUX_FIRMWARE_SOURCE)
1440         rm -rf \
1441                 $(PKG_BUILD_DIR)/include/linux/ssb \
1442                 $(PKG_BUILD_DIR)/include/linux/bcma \
1443                 $(PKG_BUILD_DIR)/include/net/bluetooth
1444
1445         rm -f \
1446                 $(PKG_BUILD_DIR)/include/linux/cordic.h \
1447                 $(PKG_BUILD_DIR)/include/linux/crc8.h \
1448                 $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h \
1449                 $(PKG_BUILD_DIR)/include/linux/wl12xx.h \
1450                 $(PKG_BUILD_DIR)/include/linux/spi/libertas_spi.h \
1451                 $(PKG_BUILD_DIR)/include/net/ieee80211.h
1452
1453         echo 'compat-wireless-$(PKG_VERSION)-$(PKG_RELEASE)-$(REVISION)' > $(PKG_BUILD_DIR)/compat_version
1454         $(CP) ./files/regdb.txt $(PKG_BUILD_DIR)/net/wireless/db.txt
1455 endef
1456
1457 ifneq ($(CONFIG_PACKAGE_kmod-cfg80211)$(CONFIG_PACKAGE_kmod-lib80211),)
1458  define Build/Compile/kmod
1459         rm -rf $(PKG_BUILD_DIR)/modules
1460         +$(MAKE) $(PKG_JOBS) $(MAKE_OPTS) modules
1461  endef
1462 endif
1463
1464 define Build/Configure
1465         cmp $(PKG_BUILD_DIR)/include/linux/ath9k_platform.h $(LINUX_DIR)/include/linux/ath9k_platform.h
1466         cmp $(PKG_BUILD_DIR)/include/linux/ath5k_platform.h $(LINUX_DIR)/include/linux/ath5k_platform.h
1467         cmp $(PKG_BUILD_DIR)/include/linux/rt2x00_platform.h $(LINUX_DIR)/include/linux/rt2x00_platform.h
1468 endef
1469
1470 define Build/Compile
1471         $(SH_FUNC) var2file "$(call shvar,mac80211_config)" $(PKG_BUILD_DIR)/.config
1472         $(MAKE) $(MAKE_OPTS) allnoconfig
1473         $(call Build/Compile/kmod)
1474 endef
1475
1476 define Build/InstallDev
1477         mkdir -p \
1478                 $(1)/usr/include/mac80211 \
1479                 $(1)/usr/include/mac80211-backport \
1480                 $(1)/usr/include/mac80211/ath \
1481                 $(1)/usr/include/net/mac80211
1482         $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
1483         $(CP) $(PKG_BUILD_DIR)/backport-include/* $(1)/usr/include/mac80211-backport/
1484         $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
1485         $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
1486 endef
1487
1488 define KernelPackage/libertas-usb/install
1489         $(INSTALL_DIR) $(1)/lib/firmware/libertas
1490         $(INSTALL_DATA) \
1491                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8388_v9.bin \
1492                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8682.bin \
1493                 $(1)/lib/firmware/libertas/
1494 endef
1495
1496 define KernelPackage/libertas-sd/install
1497         $(INSTALL_DIR) $(1)/lib/firmware/libertas
1498         $(INSTALL_DATA) \
1499                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8385_helper.bin \
1500                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8385.bin \
1501                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v9_helper.bin \
1502                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v9.bin \
1503                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8688_helper.bin \
1504                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8688.bin \
1505                 $(1)/lib/firmware/libertas
1506 endef
1507
1508 define KernelPackage/cfg80211/install
1509         $(INSTALL_DIR) $(1)/lib/wifi
1510         $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
1511 endef
1512
1513 define KernelPackage/p54-pci/install
1514         $(INSTALL_DIR) $(1)/lib/firmware
1515         $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
1516 endef
1517
1518 define KernelPackage/p54-usb/install
1519         $(INSTALL_DIR) $(1)/lib/firmware
1520         $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
1521 endef
1522
1523 define KernelPackage/p54-spi/install
1524         $(INSTALL_DIR) $(1)/lib/firmware
1525         $(INSTALL_DATA) $(DL_DIR)/$(P54SPIFW) $(1)/lib/firmware/3826.arm
1526 endef
1527
1528 define KernelPackage/rt61-pci/install
1529         $(INSTALL_DIR) $(1)/lib/firmware
1530         $(INSTALL_DATA) \
1531                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2561.bin \
1532                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2561s.bin \
1533                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2661.bin \
1534                 $(1)/lib/firmware/
1535 endef
1536
1537 define KernelPackage/rt73-usb/install
1538         $(INSTALL_DIR) $(1)/lib/firmware
1539         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt73.bin $(1)/lib/firmware/
1540 endef
1541
1542 define KernelPackage/rt2800-pci/install
1543         $(INSTALL_DIR) $(1)/lib/firmware
1544         $(INSTALL_DATA) \
1545                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2860.bin \
1546                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt3290.bin \
1547                 $(1)/lib/firmware
1548 endef
1549
1550 define KernelPackage/rt2800-usb/install
1551         $(INSTALL_DIR) $(1)/lib/firmware
1552         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2870.bin $(1)/lib/firmware/
1553 endef
1554
1555 define KernelPackage/wl12xx/install
1556         $(INSTALL_DIR) $(1)/lib/firmware/ti-connectivity
1557         $(INSTALL_DATA) \
1558                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-5-mr.bin \
1559                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-5-plt.bin \
1560                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-5-sr.bin \
1561                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl1271-nvs.bin \
1562                 $(1)/lib/firmware/ti-connectivity
1563 endef
1564
1565
1566 define KernelPackage/zd1211rw/install
1567         $(INSTALL_DIR) $(1)/lib/firmware/zd1211
1568         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
1569 endef
1570
1571 define KernelPackage/ath9k-htc/install
1572         $(INSTALL_DIR) $(1)/lib/firmware
1573         $(INSTALL_DATA) \
1574                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/htc_9271.fw \
1575                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/htc_7010.fw \
1576                 $(1)/lib/firmware/
1577 endef
1578
1579 define KernelPackage/mwl8k/install
1580         $(INSTALL_DIR) $(1)/lib/firmware/mwl8k
1581         $(INSTALL_DATA) \
1582                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366_ap-3.fw \
1583                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366.fw \
1584                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8366.fw \
1585                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8687.fw \
1586                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8687.fw \
1587                 $(1)/lib/firmware/mwl8k/
1588 endef
1589
1590 define KernelPackage/net-ipw2100/install
1591         $(INSTALL_DIR) $(1)/lib/firmware
1592         $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
1593 endef
1594
1595 define KernelPackage/net-ipw2200/install
1596         $(INSTALL_DIR) $(1)/lib/firmware
1597         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
1598 endef
1599
1600 define KernelPackage/iwlagn/install
1601         $(INSTALL_DIR) $(1)/lib/firmware
1602 ifneq ($(CONFIG_IWL5000_FW),)
1603         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5000-5.ucode $(1)/lib/firmware
1604 endif
1605 ifneq ($(CONFIG_IWL5150_FW),)
1606         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5150-2.ucode $(1)/lib/firmware
1607 endif
1608 ifneq ($(CONFIG_IWL1000_FW),)
1609         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-1000-5.ucode $(1)/lib/firmware
1610 endif
1611 ifneq ($(CONFIG_IWL6000_FW),)
1612         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000-4.ucode $(1)/lib/firmware
1613 endif
1614 ifneq ($(CONFIG_IWL6050_FW),)
1615         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6050-5.ucode $(1)/lib/firmware
1616 endif
1617 ifneq ($(CONFIG_IWL6005_FW),)
1618         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2a-6.ucode $(1)/lib/firmware
1619 endif
1620 ifneq ($(CONFIG_IWL6030_FW),)
1621         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2b-6.ucode $(1)/lib/firmware
1622 endif
1623 ifneq ($(CONFIG_IWL100_FW),)
1624         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-100-5.ucode $(1)/lib/firmware
1625 endif
1626 ifneq ($(CONFIG_IWL2000_FW),)
1627         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-2000-6.ucode $(1)/lib/firmware
1628 endif
1629 ifneq ($(CONFIG_IWL2030_FW),)
1630         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-2030-6.ucode $(1)/lib/firmware
1631 endif
1632 ifneq ($(CONFIG_IWL105_FW),)
1633         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-105-6.ucode $(1)/lib/firmware
1634 endif
1635 ifneq ($(CONFIG_IWL135_FW),)
1636         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-135-6.ucode $(1)/lib/firmware
1637 endif
1638 endef
1639
1640 define KernelPackage/iwl3945/install
1641         $(INSTALL_DIR) $(1)/lib/firmware
1642         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-3945-2.ucode $(1)/lib/firmware
1643 endef
1644
1645 define KernelPackage/iwl4965/install
1646         $(INSTALL_DIR) $(1)/lib/firmware
1647         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-4965-2.ucode $(1)/lib/firmware
1648 endef
1649
1650 define KernelPackage/b43/install
1651         rm -rf $(1)/lib/firmware/
1652 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1653         tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1654 else
1655         tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1656 endif
1657         $(INSTALL_DIR) $(1)/lib/firmware/
1658 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1659         $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
1660         $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
1661         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
1662         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
1663         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
1664 else
1665         b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
1666 endif
1667 ifneq ($(CONFIG_B43_FW_SQUASH),)
1668         b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
1669 endif
1670 endef
1671
1672 define KernelPackage/b43legacy/install
1673         $(INSTALL_DIR) $(1)/lib/firmware/
1674         b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
1675 ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
1676         b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy"
1677 endif
1678 endef
1679
1680 define KernelPackage/brcmsmac/install
1681         $(INSTALL_DIR) $(1)/lib/firmware/brcm
1682 ifeq ($(CONFIG_BRCMSMAC_USE_FW_FROM_WL),y)
1683         tar xjf "$(DL_DIR)/$(PKG_BRCMSMAC_FW_SOURCE)" -C "$(PKG_BUILD_DIR)"
1684         b43-fwcutter --brcmsmac -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_BRCMSMAC_FW_OBJECT)
1685 else
1686         $(INSTALL_DATA) \
1687                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx-0.fw \
1688                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx_hdr-0.fw \
1689                 $(1)/lib/firmware/brcm/
1690 endif
1691 endef
1692
1693 define KernelPackage/brcmfmac/install
1694         $(INSTALL_DIR) $(1)/lib/firmware/brcm
1695         $(INSTALL_DATA) \
1696                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/brcmfmac43236b.bin \
1697                 $(1)/lib/firmware/brcm/
1698 endef
1699
1700 $(eval $(call KernelPackage,adm8211))
1701 $(eval $(call KernelPackage,ath5k))
1702 $(eval $(call KernelPackage,lib80211))
1703 $(eval $(call KernelPackage,libertas-usb))
1704 $(eval $(call KernelPackage,libertas-sd))
1705 $(eval $(call KernelPackage,cfg80211))
1706 $(eval $(call KernelPackage,mac80211))
1707 $(eval $(call KernelPackage,p54-common))
1708 $(eval $(call KernelPackage,p54-pci))
1709 $(eval $(call KernelPackage,p54-usb))
1710 $(eval $(call KernelPackage,p54-spi))
1711 $(eval $(call KernelPackage,rt2x00-lib))
1712 $(eval $(call KernelPackage,rt2x00-mmio))
1713 $(eval $(call KernelPackage,rt2x00-pci))
1714 $(eval $(call KernelPackage,rt2x00-usb))
1715 $(eval $(call KernelPackage,rt2x00-soc))
1716 $(eval $(call KernelPackage,rt2800-lib))
1717 $(eval $(call KernelPackage,rt2400-pci))
1718 $(eval $(call KernelPackage,rt2500-pci))
1719 $(eval $(call KernelPackage,rt2500-usb))
1720 $(eval $(call KernelPackage,rt61-pci))
1721 $(eval $(call KernelPackage,rt73-usb))
1722 $(eval $(call KernelPackage,rt2800-pci))
1723 $(eval $(call KernelPackage,rt2800-usb))
1724 $(eval $(call KernelPackage,rtl8180))
1725 $(eval $(call KernelPackage,rtl8187))
1726 $(eval $(call KernelPackage,rtlwifi))
1727 $(eval $(call KernelPackage,rtlwifi-pci))
1728 $(eval $(call KernelPackage,rtlwifi-usb))
1729 $(eval $(call KernelPackage,rtl8192c-common))
1730 $(eval $(call KernelPackage,rtl8192ce))
1731 $(eval $(call KernelPackage,rtl8192se))
1732 $(eval $(call KernelPackage,rtl8192de))
1733 $(eval $(call KernelPackage,rtl8192cu))
1734 $(eval $(call KernelPackage,zd1211rw))
1735 $(eval $(call KernelPackage,mac80211-hwsim))
1736 $(eval $(call KernelPackage,ath9k-common))
1737 $(eval $(call KernelPackage,ath9k))
1738 $(eval $(call KernelPackage,ath9k-htc))
1739 $(eval $(call KernelPackage,ath))
1740 $(eval $(call KernelPackage,carl9170))
1741 $(eval $(call KernelPackage,b43))
1742 $(eval $(call KernelPackage,b43legacy))
1743 $(eval $(call KernelPackage,brcmutil))
1744 $(eval $(call KernelPackage,brcmsmac))
1745 $(eval $(call KernelPackage,brcmfmac))
1746 $(eval $(call KernelPackage,net-libipw))
1747 $(eval $(call KernelPackage,net-ipw2100))
1748 $(eval $(call KernelPackage,net-ipw2200))
1749 $(eval $(call KernelPackage,iwlagn))
1750 $(eval $(call KernelPackage,iwl-legacy))
1751 $(eval $(call KernelPackage,iwl4965))
1752 $(eval $(call KernelPackage,iwl3945))
1753 $(eval $(call KernelPackage,mwl8k))
1754 $(eval $(call KernelPackage,net-hermes))
1755 $(eval $(call KernelPackage,net-hermes-pci))
1756 $(eval $(call KernelPackage,net-hermes-plx))
1757 $(eval $(call KernelPackage,net-hermes-pcmcia))
1758 $(eval $(call KernelPackage,wl12xx))