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