mac80211: move broadcom packaging code to broadcom.mk
[openwrt/staging/wigyori.git] / package / kernel / mac80211 / Makefile
1 #
2 # Copyright (C) 2007-2015 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:=4.19-rc5-1
14 PKG_RELEASE:=1
15 PKG_SOURCE_URL:=https://mirrors.edge.kernel.org/pub/linux/kernel/projects/backports/stable/v4.19-rc5/
16 PKG_HASH:=5b61e64ea79d22bbac9e8612d5d5485974f223de00d4ec250b0faf4b7baf9957
17
18 PKG_SOURCE:=backports-$(PKG_VERSION).tar.xz
19 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/backports-$(PKG_VERSION)
20 PKG_BUILD_PARALLEL:=1
21
22 PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
23
24 PKG_DRIVERS = \
25 adm8211 \
26 airo \
27 hermes hermes-pci hermes-pcmcia hermes-plx\
28 iwl-legacy iwl3945 iwl4965 iwlwifi \
29 lib80211 \
30 libipw ipw2100 ipw2200 \
31 libertas-sdio libertas-usb libertas-spi \
32 mac80211-hwsim \
33 mt7601u \
34 mwl8k mwifiex-pcie mwifiex-sdio \
35 p54-common p54-pci p54-spi p54-usb \
36 rsi91x rsi91x-usb rsi91x-sdio\
37 rtl8180 rtl8187 \
38 rtlwifi rtlwifi-pci rtlwifi-btcoexist rtlwifi-usb rtl8192c-common \
39 rtl8192ce rtl8192se rtl8192de rtl8192cu rtl8821ae \
40 rtl8xxxu \
41 wlcore wl12xx wl18xx \
42 zd1211rw
43
44 PKG_CONFIG_DEPENDS:= \
45 CONFIG_PACKAGE_kmod-mac80211 \
46 CONFIG_PACKAGE_MAC80211_DEBUGFS \
47 CONFIG_PACKAGE_MAC80211_MESH \
48 CONFIG_PACKAGE_MAC80211_TRACING \
49 CONFIG_PACKAGE_IWLWIFI_DEBUG \
50 CONFIG_PACKAGE_IWLWIFI_DEBUGFS \
51 CONFIG_PACKAGE_RTLWIFI_DEBUG \
52
53 include $(INCLUDE_DIR)/package.mk
54
55 WMENU:=Wireless Drivers
56
57 define KernelPackage/mac80211/Default
58 SUBMENU:=$(WMENU)
59 URL:=https://wireless.wiki.kernel.org/
60 MAINTAINER:=Felix Fietkau <nbd@nbd.name>
61 endef
62
63 config_package=$(if $(CONFIG_PACKAGE_kmod-$(1)),m)
64
65 config-y:= \
66 WLAN \
67 NL80211_TESTMODE \
68 CFG80211_WEXT \
69 CFG80211_CERTIFICATION_ONUS \
70 MAC80211_RC_MINSTREL \
71 MAC80211_RC_MINSTREL_HT \
72 MAC80211_RC_MINSTREL_VHT \
73 MAC80211_RC_DEFAULT_MINSTREL \
74 WLAN_VENDOR_ADMTEK \
75 WLAN_VENDOR_ATH \
76 WLAN_VENDOR_ATMEL \
77 WLAN_VENDOR_BROADCOM \
78 WLAN_VENDOR_CISCO \
79 WLAN_VENDOR_INTEL \
80 WLAN_VENDOR_INTERSIL \
81 WLAN_VENDOR_MARVELL \
82 WLAN_VENDOR_MEDIATEK \
83 WLAN_VENDOR_RALINK \
84 WLAN_VENDOR_REALTEK \
85 WLAN_VENDOR_RSI \
86 WLAN_VENDOR_ST \
87 WLAN_VENDOR_TI \
88 WLAN_VENDOR_ZYDAS \
89
90 config-$(call config_package,cfg80211) += CFG80211
91
92 config-$(call config_package,mac80211) += MAC80211
93 config-$(CONFIG_PACKAGE_MAC80211_MESH) += MAC80211_MESH
94
95 include ath.mk
96 include broadcom.mk
97 include ralink.mk
98
99 PKG_CONFIG_DEPENDS += \
100 $(patsubst %,CONFIG_PACKAGE_kmod-%,$(PKG_DRIVERS))
101
102 define KernelPackage/cfg80211
103 $(call KernelPackage/mac80211/Default)
104 TITLE:=cfg80211 - wireless configuration API
105 DEPENDS+= +iw +wireless-regdb
106 FILES:= \
107 $(PKG_BUILD_DIR)/compat/compat.ko \
108 $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
109 endef
110
111 define KernelPackage/cfg80211/description
112 cfg80211 is the Linux wireless LAN (802.11) configuration API.
113 endef
114
115 define KernelPackage/mac80211
116 $(call KernelPackage/mac80211/Default)
117 TITLE:=Linux 802.11 Wireless Networking Stack
118 # +kmod-crypto-cmac is a runtime only dependency of net/mac80211/aes_cmac.c
119 DEPENDS+= +kmod-cfg80211 +hostapd-common
120 KCONFIG:=\
121 CONFIG_AVERAGE=y
122 FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.ko
123 MENU:=1
124 endef
125
126 define KernelPackage/mac80211/config
127 if PACKAGE_kmod-mac80211
128
129 config PACKAGE_MAC80211_DEBUGFS
130 bool "Export mac80211 internals in DebugFS"
131 select KERNEL_DEBUG_FS
132 default y
133 help
134 Select this to see extensive information about
135 the internal state of mac80211 in debugfs.
136
137 config PACKAGE_MAC80211_TRACING
138 bool "Enable tracing (mac80211 and supported drivers)"
139 select KERNEL_FTRACE
140 select KERNEL_ENABLE_DEFAULT_TRACERS
141 default n
142 help
143 Select this to enable tracing of mac80211 and
144 related wifi drivers (using trace-cmd).
145
146 config PACKAGE_MAC80211_MESH
147 bool "Enable 802.11s mesh support"
148 default y
149
150 endif
151 endef
152
153 define KernelPackage/mac80211/description
154 Generic IEEE 802.11 Networking Stack (mac80211)
155 endef
156
157 define KernelPackage/adm8211
158 $(call KernelPackage/mac80211/Default)
159 TITLE:=ADMTek 8211 support
160 DEPENDS+=@PCI_SUPPORT +kmod-mac80211 +kmod-eeprom-93cx6
161 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/admtek/adm8211.ko
162 AUTOLOAD:=$(call AutoProbe,adm8211)
163 endef
164
165 define KernelPackage/airo
166 $(call KernelPackage/mac80211/Default)
167 TITLE:=Cisco Aironet driver
168 DEPENDS+=@PCI_SUPPORT +@DRIVER_WEXT_SUPPORT +kmod-cfg80211 @TARGET_x86
169 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/cisco/airo.ko
170 AUTOLOAD:=$(call AutoProbe,airo)
171 endef
172
173 define KernelPackage/airo/description
174 Kernel support for Cisco Aironet cards
175 endef
176
177 define KernelPackage/hermes
178 $(call KernelPackage/mac80211/Default)
179 TITLE:=Hermes 802.11b chipset support
180 DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT +kmod-crypto-michael-mic
181 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco.ko
182 AUTOLOAD:=$(call AutoProbe,orinoco)
183 endef
184
185 define KernelPackage/hermes/description
186 Kernel support for Hermes 802.11b chipsets
187 endef
188
189 define KernelPackage/hermes-pci
190 $(call KernelPackage/mac80211/Default)
191 TITLE:=Intersil Prism 2.5 PCI support
192 DEPENDS:=@PCI_SUPPORT +kmod-hermes
193 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco_pci.ko
194 AUTOLOAD:=$(call AutoProbe,orinoco_pci)
195 endef
196
197 define KernelPackage/hermes-pci/description
198 Kernel modules for Intersil Prism 2.5 PCI support
199 endef
200
201 define KernelPackage/hermes-plx
202 $(call KernelPackage/mac80211/Default)
203 TITLE:=PLX9052 based PCI adaptor
204 DEPENDS:=@PCI_SUPPORT +kmod-hermes
205 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco_plx.ko
206 AUTOLOAD:=$(call AutoProbe,orinoco_plx)
207 endef
208
209 define KernelPackage/hermes-plx/description
210 Kernel modules for Hermes in PLX9052 based PCI adaptors
211 endef
212
213 define KernelPackage/hermes-pcmcia
214 $(call KernelPackage/mac80211/Default)
215 TITLE:=Hermes based PCMCIA adaptors
216 DEPENDS:=@PCMCIA_SUPPORT +kmod-hermes
217 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco_cs.ko
218 AUTOLOAD:=$(call AutoProbe,orinoco_cs)
219 endef
220
221 define KernelPackage/hermes-pcmcia/description
222 Kernel modules for Hermes based PCMCIA adaptors
223 endef
224
225
226 define KernelPackage/iwlwifi
227 $(call KernelPackage/mac80211/Default)
228 DEPENDS:= +kmod-mac80211 @PCI_SUPPORT +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT @!LINUX_3_18
229 TITLE:=Intel AGN Wireless support
230 FILES:= \
231 $(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko \
232 $(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlwifi/dvm/iwldvm.ko \
233 $(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlwifi/mvm/iwlmvm.ko
234 AUTOLOAD:=$(call AutoProbe,iwlwifi iwldvm iwlmvm)
235 MENU:=1
236 endef
237
238 define KernelPackage/iwlwifi/description
239 iwlwifi kernel module for
240 Intel Wireless WiFi Link 6250AGN Adapter
241 Intel 6000 Series Wi-Fi Adapters (6200AGN and 6300AGN)
242 Intel WiFi Link 1000BGN
243 Intel Wireless WiFi 5150AGN
244 Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN
245 Intel 6005 Series Wi-Fi Adapters
246 Intel 6030 Series Wi-Fi Adapters
247 Intel Wireless WiFi Link 6150BGN 2 Adapter
248 Intel 100 Series Wi-Fi Adapters (100BGN and 130BGN)
249 Intel 2000 Series Wi-Fi Adapters
250 Intel 7260 Wi-Fi Adapter
251 Intel 3160 Wi-Fi Adapter
252 Intel 7265 Wi-Fi Adapter
253 Intel 8260 Wi-Fi Adapter
254 Intel 3165 Wi-Fi Adapter
255 endef
256
257 define KernelPackage/iwlwifi/config
258 if PACKAGE_kmod-iwlwifi
259
260 config PACKAGE_IWLWIFI_DEBUG
261 bool "Enable full debugging output in the iwlwifi driver"
262 default n
263 help
264 This option will enable debug tracing output for the iwlwifi drivers
265
266 This will result in the kernel module being ~100k larger. You can
267 control which debug output is sent to the kernel log by setting the
268 value in
269
270 /sys/module/iwlwifi/parameters/debug
271
272 This entry will only exist if this option is enabled.
273
274 To set a value, simply echo an 8-byte hex value to the same file:
275
276 % echo 0x43fff > /sys/module/iwlwifi/parameters/debug
277
278 You can find the list of debug mask values in:
279 drivers/net/wireless/intel/iwlwifi/iwl-debug.h
280
281 If this is your first time using this driver, you should say Y here
282 as the debug information can assist others in helping you resolve
283 any problems you may encounter.
284
285 config PACKAGE_IWLWIFI_DEBUGFS
286 bool "iwlwifi debugfs support"
287 depends on PACKAGE_MAC80211_DEBUGFS
288 default n
289 help
290 Enable creation of debugfs files for the iwlwifi drivers. This
291 is a low-impact option that allows getting insight into the
292 driver's state at runtime.
293
294 endif
295 endef
296
297 define KernelPackage/iwl-legacy
298 $(call KernelPackage/mac80211/Default)
299 DEPENDS:= +kmod-mac80211 @PCI_SUPPORT
300 TITLE:=Intel legacy Wireless support
301 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlegacy/iwlegacy.ko
302 AUTOLOAD:=$(call AutoProbe,iwlegacy)
303 endef
304
305 define KernelPackage/iwl-legacy/description
306 iwl-legacy kernel module for legacy Intel wireless support
307 endef
308
309 define KernelPackage/iwl3945
310 $(call KernelPackage/mac80211/Default)
311 DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy +iwl3945-firmware
312 TITLE:=Intel iwl3945 Wireless support
313 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlegacy/iwl3945.ko
314 AUTOLOAD:=$(call AutoProbe,iwl3945)
315 endef
316
317 define KernelPackage/iwl3945/description
318 iwl3945 kernel module for Intel 3945 support
319 endef
320
321 define KernelPackage/iwl4965
322 $(call KernelPackage/mac80211/Default)
323 DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy +@DRIVER_11N_SUPPORT +iwl4965-firmware
324 TITLE:=Intel iwl4965 Wireless support
325 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlegacy/iwl4965.ko
326 AUTOLOAD:=$(call AutoProbe,iwl4965)
327 endef
328
329 define KernelPackage/iwl4965/description
330 iwl4965 kernel module for Intel 4965 support
331 endef
332
333
334 define KernelPackage/lib80211
335 $(call KernelPackage/mac80211/Default)
336 TITLE:=802.11 Networking stack
337 DEPENDS:=+kmod-cfg80211 +kmod-crypto-hash
338 FILES:= \
339 $(PKG_BUILD_DIR)/net/wireless/lib80211.ko \
340 $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_wep.ko \
341 $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_ccmp.ko \
342 $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_tkip.ko
343 AUTOLOAD:=$(call AutoProbe, \
344 lib80211 \
345 lib80211_crypt_wep \
346 lib80211_crypt_ccmp \
347 lib80211_crypt_tkip \
348 )
349 endef
350
351 define KernelPackage/lib80211/description
352 Kernel modules for 802.11 Networking stack
353 Includes:
354 - lib80211
355 - lib80211_crypt_wep
356 - lib80211_crypt_tkip
357 - lib80211_crytp_ccmp
358 endef
359
360
361 define KernelPackage/libipw
362 $(call KernelPackage/mac80211/Default)
363 TITLE:=libipw for ipw2100 and ipw2200
364 DEPENDS:=@PCI_SUPPORT +kmod-crypto-michael-mic +kmod-crypto-ecb +kmod-lib80211 +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT @!BIG_ENDIAN @!LINUX_3_18
365 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/ipw2x00/libipw.ko
366 AUTOLOAD:=$(call AutoProbe,libipw)
367 endef
368
369 define KernelPackage/libipw/description
370 Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
371 endef
372
373 IPW2100_NAME:=ipw2100-fw
374 IPW2100_VERSION:=1.3
375
376 define Download/ipw2100
377 URL:= \
378 https://src.fedoraproject.org/repo/pkgs/ipw2100-firmware/ipw2100-fw-1.3.tgz/46aa75bcda1a00efa841f9707bbbd113/ \
379 https://archlinux.mirror.pkern.at/other/packages/ipw2100-fw/ \
380 http://mirror.ox.ac.uk/sites/ftp.openbsd.org/pub/OpenBSD/distfiles/firmware/ \
381 http://firmware.openbsd.org/firmware-dist/
382 FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
383 HASH:=e1107c455e48d324a616b47a622593bc8413dcce72026f72731c0b03dae3a7a2
384 endef
385 $(eval $(call Download,ipw2100))
386
387 define KernelPackage/ipw2100
388 $(call KernelPackage/mac80211/Default)
389 TITLE:=Intel IPW2100 driver
390 DEPENDS:=@PCI_SUPPORT +kmod-libipw
391 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/ipw2x00/ipw2100.ko
392 AUTOLOAD:=$(call AutoProbe,ipw2100)
393 endef
394
395 define KernelPackage/ipw2100/description
396 Kernel support for Intel IPW2100
397 Includes:
398 - ipw2100
399 endef
400
401 IPW2200_NAME:=ipw2200-fw
402 IPW2200_VERSION:=3.1
403
404 define Download/ipw2200
405 URL:= \
406 https://src.fedoraproject.org/repo/pkgs/ipw2200-firmware/ipw2200-fw-3.1.tgz/eaba788643c7cc7483dd67ace70f6e99/ \
407 https://archlinux.mirror.pkern.at/other/packages/ipw2200-fw/ \
408 http://mirror.ox.ac.uk/sites/ftp.openbsd.org/pub/OpenBSD/distfiles/firmware/ \
409 http://firmware.openbsd.org/firmware-dist/
410 FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
411 HASH:=c6818c11c18cc030d55ff83f64b2bad8feef485e7742f84f94a61d811a6258bd
412 endef
413 $(eval $(call Download,ipw2200))
414
415 define KernelPackage/ipw2200
416 $(call KernelPackage/mac80211/Default)
417 TITLE:=Intel IPW2200 driver
418 DEPENDS:=@PCI_SUPPORT +kmod-libipw
419 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/ipw2x00/ipw2200.ko
420 AUTOLOAD:=$(call AutoProbe,ipw2200)
421 endef
422
423 define KernelPackage/ipw2200/description
424 Kernel support for Intel IPW2200
425 Includes:
426 - ipw2200
427 endef
428
429
430 define KernelPackage/libertas-usb
431 $(call KernelPackage/mac80211/Default)
432 DEPENDS+= @USB_SUPPORT +kmod-cfg80211 +kmod-usb-core +kmod-lib80211 +@DRIVER_WEXT_SUPPORT +libertas-usb-firmware @!LINUX_3_18
433 TITLE:=Marvell 88W8015 Wireless Driver
434 FILES:= \
435 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas.ko \
436 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/usb8xxx.ko
437 AUTOLOAD:=$(call AutoProbe,libertas usb8xxx)
438 endef
439
440 define KernelPackage/libertas-sdio
441 $(call KernelPackage/mac80211/Default)
442 DEPENDS+= +kmod-cfg80211 +kmod-lib80211 +kmod-mmc +@DRIVER_WEXT_SUPPORT @!TARGET_uml +libertas-sdio-firmware @!LINUX_3_18
443 TITLE:=Marvell 88W8686 Wireless Driver
444 FILES:= \
445 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas.ko \
446 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas_sdio.ko
447 AUTOLOAD:=$(call AutoProbe,libertas libertas_sdio)
448 endef
449
450 define KernelPackage/libertas-spi
451 $(call KernelPackage/mac80211/Default)
452 SUBMENU:=Wireless Drivers
453 DEPENDS+= +kmod-cfg80211 +kmod-lib80211 +@DRIVER_WEXT_SUPPORT @!TARGET_uml +libertas-spi-firmware @!LINUX_3_18
454 KCONFIG := \
455 CONFIG_SPI=y \
456 CONFIG_SPI_MASTER=y
457 TITLE:=Marvell 88W8686 SPI Wireless Driver
458 FILES:= \
459 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas.ko \
460 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas_spi.ko
461 AUTOLOAD:=$(call AutoProbe,libertas libertas_spi)
462 endef
463
464 define KernelPackage/mac80211-hwsim
465 $(call KernelPackage/mac80211/Default)
466 TITLE:=mac80211 HW simulation device
467 DEPENDS+= +kmod-mac80211 +@DRIVER_11AC_SUPPORT +@DRIVER_11N_SUPPORT +@DRIVER_11W_SUPPORT
468 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.ko
469 AUTOLOAD:=$(call AutoProbe,mac80211_hwsim)
470 endef
471
472
473 define KernelPackage/mt7601u
474 $(call KernelPackage/mac80211/Default)
475 TITLE:=MT7601U-based USB dongles Wireless Driver
476 DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT @USB_SUPPORT +kmod-usb-core +mt7601u-firmware
477 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko
478 AUTOLOAD:=$(call AutoProbe,mt7601u)
479 endef
480
481
482 define KernelPackage/mwl8k
483 $(call KernelPackage/mac80211/Default)
484 TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards
485 URL:=https://wireless.wiki.kernel.org/en/users/drivers/mwl8k
486 DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +@DRIVER_11N_SUPPORT +mwl8k-firmware
487 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwl8k.ko
488 AUTOLOAD:=$(call AutoProbe,mwl8k)
489 endef
490
491 define KernelPackage/mwl8k/description
492 Kernel modules for Marvell TOPDOG 802.11 Wireless cards
493 endef
494
495
496 define KernelPackage/mwifiex-pcie
497 $(call KernelPackage/mac80211/Default)
498 TITLE:=Driver for Marvell 802.11n/802.11ac PCIe Wireless cards
499 URL:=https://wireless.wiki.kernel.org/en/users/drivers/mwifiex
500 DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT +mwifiex-pcie-firmware
501 FILES:= \
502 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwifiex/mwifiex.ko \
503 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwifiex/mwifiex_pcie.ko
504 AUTOLOAD:=$(call AutoProbe,mwifiex_pcie)
505 endef
506
507 define KernelPackage/mwifiex-pcie/description
508 Kernel modules for Marvell 802.11n/802.11ac PCIe Wireless cards
509 endef
510
511 define KernelPackage/mwifiex-sdio
512 $(call KernelPackage/mac80211/Default)
513 TITLE:=Driver for Marvell 802.11n/802.11ac SDIO Wireless cards
514 URL:=https://wireless.wiki.kernel.org/en/users/drivers/mwifiex
515 DEPENDS+= +kmod-mmc +kmod-mac80211 +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT +mwifiex-sdio-firmware
516 FILES:= \
517 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwifiex/mwifiex.ko \
518 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwifiex/mwifiex_sdio.ko
519 AUTOLOAD:=$(call AutoProbe,mwifiex_sdio)
520 endef
521
522 define KernelPackage/mwifiex-sdio/description
523 Kernel modules for Marvell 802.11n/802.11ac SDIO Wireless cards
524 endef
525
526 define KernelPackage/p54/Default
527 $(call KernelPackage/mac80211/Default)
528 TITLE:=Prism54 Drivers
529 endef
530
531 define KernelPackage/p54/description
532 Kernel module for Prism54 chipsets (mac80211)
533 endef
534
535 define KernelPackage/p54-common
536 $(call KernelPackage/p54/Default)
537 DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT||@TARGET_omap24xx +kmod-mac80211 +kmod-lib-crc-ccitt
538 TITLE+= (COMMON)
539 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54common.ko
540 endef
541
542 define KernelPackage/p54-pci
543 $(call KernelPackage/p54/Default)
544 TITLE+= (PCI)
545 DEPENDS+= @PCI_SUPPORT +kmod-p54-common +p54-pci-firmware
546 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54pci.ko
547 AUTOLOAD:=$(call AutoProbe,p54pci)
548 endef
549
550 define KernelPackage/p54-usb
551 $(call KernelPackage/p54/Default)
552 TITLE+= (USB)
553 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common +p54-usb-firmware
554 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54usb.ko
555 AUTOLOAD:=$(call AutoProbe,p54usb)
556 endef
557
558 define KernelPackage/p54-spi
559 $(call KernelPackage/p54/Default)
560 TITLE+= (SPI)
561 DEPENDS+= @TARGET_omap24xx +kmod-p54-common +p54-spi-firmware
562 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54spi.ko
563 AUTOLOAD:=$(call AutoProbe,p54spi)
564 endef
565
566 define KernelPackage/rsi91x
567 $(call KernelPackage/mac80211/Default)
568 TITLE:=Redpine Signals Inc 91x WLAN driver support
569 DEPENDS+= +kmod-mac80211 +rs9113-firmware
570 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rsi/rsi_91x.ko
571 endef
572
573 define KernelPackage/rsi91x-usb
574 $(call KernelPackage/mac80211/Default)
575 TITLE:=Redpine Signals USB bus support
576 DEPENDS+= +kmod-mac80211 +kmod-usb2 +kmod-rsi91x +rs9113-firmware
577 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rsi/rsi_usb.ko
578 AUTOLOAD:=$(call AutoProbe,rsi_usb)
579 endef
580
581 define KernelPackage/rsi91x-sdio
582 $(call KernelPackage/mac80211/Default)
583 TITLE:=Redpine Signals SDIO bus support
584 DEPENDS+= +kmod-mac80211 +kmod-mmc +kmod-rsi91x +rs9113-firmware
585 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rsi/rsi_sdio.ko
586 AUTOLOAD:=$(call AutoProbe,rsi_sdio)
587 endef
588
589
590 define KernelPackage/rtl818x/Default
591 $(call KernelPackage/mac80211/Default)
592 TITLE:=Realtek Drivers for RTL818x devices
593 URL:=https://wireless.wiki.kernel.org/en/users/drivers/rtl8187
594 DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211
595 endef
596
597 define KernelPackage/rtl8180
598 $(call KernelPackage/rtl818x/Default)
599 DEPENDS+= @PCI_SUPPORT
600 TITLE+= (RTL8180 PCI)
601 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl818x/rtl8180/rtl818x_pci.ko
602 AUTOLOAD:=$(call AutoProbe,rtl818x_pci)
603 endef
604
605 define KernelPackage/rtl8187
606 $(call KernelPackage/rtl818x/Default)
607 DEPENDS+= @USB_SUPPORT +kmod-usb-core
608 TITLE+= (RTL8187 USB)
609 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl818x/rtl8187/rtl8187.ko
610 AUTOLOAD:=$(call AutoProbe,rtl8187)
611 endef
612
613 define KernelPackage/rtlwifi/config
614 config PACKAGE_RTLWIFI_DEBUG
615 bool "Realtek wireless debugging"
616 depends on PACKAGE_kmod-rtlwifi
617 help
618 Say Y, if you want to debug realtek wireless drivers.
619
620 endef
621
622 define KernelPackage/rtlwifi
623 $(call KernelPackage/mac80211/Default)
624 TITLE:=Realtek common driver part
625 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT) +kmod-mac80211 +@DRIVER_11N_SUPPORT
626 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtlwifi.ko
627 HIDDEN:=1
628 endef
629
630 define KernelPackage/rtlwifi-pci
631 $(call KernelPackage/mac80211/Default)
632 TITLE:=Realtek common driver part (PCI support)
633 DEPENDS+= @PCI_SUPPORT +kmod-rtlwifi
634 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl_pci.ko
635 AUTOLOAD:=$(call AutoProbe,rtl_pci)
636 HIDDEN:=1
637 endef
638
639 define KernelPackage/rtlwifi-btcoexist
640 $(call KernelPackage/mac80211/Default)
641 TITLE:=Realtek BT coexist support
642 DEPENDS+= +kmod-rtlwifi
643 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/btcoexist/btcoexist.ko
644 AUTOLOAD:=$(call AutoProbe,btcoexist)
645 HIDDEN:=1
646 endef
647
648 define KernelPackage/rtlwifi-usb
649 $(call KernelPackage/mac80211/Default)
650 TITLE:=Realtek common driver part (USB support)
651 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-rtlwifi
652 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl_usb.ko
653 AUTOLOAD:=$(call AutoProbe,rtl_usb)
654 HIDDEN:=1
655 endef
656
657 define KernelPackage/rtl8192c-common
658 $(call KernelPackage/mac80211/Default)
659 TITLE:=Realtek RTL8192CE/RTL8192CU common support module
660 DEPENDS+= +kmod-rtlwifi
661 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common.ko
662 HIDDEN:=1
663 endef
664
665 define KernelPackage/rtl8192ce
666 $(call KernelPackage/mac80211/Default)
667 TITLE:=Realtek RTL8192CE/RTL8188CE support
668 DEPENDS+= +kmod-rtlwifi-pci +kmod-rtl8192c-common +rtl8192ce-firmware
669 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/rtl8192ce.ko
670 AUTOLOAD:=$(call AutoProbe,rtl8192ce)
671 endef
672
673 define KernelPackage/rtl8192se
674 $(call KernelPackage/mac80211/Default)
675 TITLE:=Realtek RTL8192SE/RTL8191SE support
676 DEPENDS+= +kmod-rtlwifi-pci +rtl8192se-firmware
677 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192se/rtl8192se.ko
678 AUTOLOAD:=$(call AutoProbe,rtl8192se)
679 endef
680
681 define KernelPackage/rtl8192de
682 $(call KernelPackage/mac80211/Default)
683 TITLE:=Realtek RTL8192DE/RTL8188DE support
684 DEPENDS+= +kmod-rtlwifi-pci +rtl8192de-firmware
685 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192de/rtl8192de.ko
686 AUTOLOAD:=$(call AutoProbe,rtl8192de)
687 endef
688
689 define KernelPackage/rtl8192cu
690 $(call KernelPackage/mac80211/Default)
691 TITLE:=Realtek RTL8192CU/RTL8188CU support
692 DEPENDS+= +kmod-rtlwifi-usb +kmod-rtl8192c-common +rtl8192cu-firmware
693 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rtl8192cu.ko
694 AUTOLOAD:=$(call AutoProbe,rtl8192cu)
695 endef
696
697 define KernelPackage/rtl8821ae
698 $(call KernelPackage/mac80211/Default)
699 TITLE:=Realtek RTL8821AE support
700 DEPENDS+= +kmod-rtlwifi-btcoexist +kmod-rtlwifi-pci +rtl8821ae-firmware
701 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/rtl8821ae.ko
702 AUTOLOAD:=$(call AutoProbe,rtl8821ae)
703 endef
704
705 define KernelPackage/rtl8xxxu
706 $(call KernelPackage/mac80211/Default)
707 TITLE:=alternative Realtek RTL8XXXU support
708 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
709 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.ko
710 AUTOLOAD:=$(call AutoProbe,rtl8xxxu)
711 endef
712
713 define KernelPackage/rtl8xxxu/description
714 This is an alternative driver for various Realtek RTL8XXX
715 parts written to utilize the Linux mac80211 stack.
716 The driver is known to work with a number of RTL8723AU,
717 RL8188CU, RTL8188RU, RTL8191CU, and RTL8192CU devices
718
719 This driver is under development and has a limited feature
720 set. In particular it does not yet support 40MHz channels
721 and power management. However it should have a smaller
722 memory footprint than the vendor drivers and benetifs
723 from the in kernel mac80211 stack.
724
725 It can coexist with drivers from drivers/staging/rtl8723au,
726 drivers/staging/rtl8192u, and drivers/net/wireless/rtlwifi,
727 but you will need to control which module you wish to load.
728
729 RTL8XXXU_UNTESTED is enabled
730 This option enables detection of Realtek 8723/8188/8191/8192 WiFi
731 USB devices which have not been tested directly by the driver
732 author or reported to be working by third parties.
733
734 Please report your results!
735 endef
736
737
738 define KernelPackage/wlcore
739 $(call KernelPackage/mac80211/Default)
740 TITLE:=TI common driver part
741 DEPENDS+= +kmod-mmc +kmod-mac80211 +@DRIVER_11N_SUPPORT
742 FILES:= \
743 $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore.ko \
744 $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore_sdio.ko
745 AUTOLOAD:=$(call AutoProbe,wlcore wlcore_sdio)
746 endef
747
748 define KernelPackage/wlcore/description
749 This module contains some common parts needed by TI Wireless drivers.
750 endef
751
752 define KernelPackage/wl12xx
753 $(call KernelPackage/mac80211/Default)
754 TITLE:=Driver for TI WL12xx
755 URL:=https://wireless.wiki.kernel.org/en/users/drivers/wl12xx
756 DEPENDS+= +kmod-wlcore +wl12xx-firmware
757 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl12xx/wl12xx.ko
758 AUTOLOAD:=$(call AutoProbe,wl12xx)
759 endef
760
761 define KernelPackage/wl12xx/description
762 Kernel modules for TI WL12xx
763 endef
764
765 define KernelPackage/wl18xx
766 $(call KernelPackage/mac80211/Default)
767 TITLE:=Driver for TI WL18xx
768 URL:=https://wireless.wiki.kernel.org/en/users/drivers/wl18xx
769 DEPENDS+= +kmod-wlcore +wl18xx-firmware
770 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl18xx/wl18xx.ko
771 AUTOLOAD:=$(call AutoProbe,wl18xx)
772 endef
773
774 define KernelPackage/wl18xx/description
775 Kernel modules for TI WL18xx
776 endef
777
778
779 ZD1211FW_NAME:=zd1211-firmware
780 ZD1211FW_VERSION:=1.4
781 define Download/zd1211rw
782 FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
783 URL:=@SF/zd1211/
784 HASH:=866308f6f59f7075f075d4959dff2ede47735c751251fecd1496df1ba4d338e1
785 endef
786 $(eval $(call Download,zd1211rw))
787
788 define KernelPackage/zd1211rw
789 $(call KernelPackage/mac80211/Default)
790 TITLE:=Zydas ZD1211 support
791 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
792 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zydas/zd1211rw/zd1211rw.ko
793 AUTOLOAD:=$(call AutoProbe,zd1211rw)
794 endef
795
796 ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
797 config-y += \
798 CFG80211_DEBUGFS \
799 MAC80211_DEBUGFS
800 endif
801
802 ifdef CONFIG_PACKAGE_MAC80211_TRACING
803 config-y += \
804 IWLWIFI_DEVICE_TRACING
805 endif
806
807 config-$(call config_package,lib80211) += LIB80211 LIB80211_CRYPT_WEP LIB80211_CRYPT_CCMP LIB80211_CRYPT_TKIP
808
809 config-$(call config_package,airo) += AIRO
810
811 config-$(call config_package,mac80211-hwsim) += MAC80211_HWSIM
812 config-$(call config_package,mt7601u) += MT7601U
813 config-y += WL_MEDIATEK
814
815 config-$(call config_package,iwl-legacy) += IWLEGACY
816 config-$(call config_package,iwl3945) += IWL3945
817 config-$(call config_package,iwl4965) += IWL4965
818 config-$(call config_package,iwlwifi) += IWLWIFI IWLDVM IWLMVM
819 config-$(CONFIG_PACKAGE_IWLWIFI_DEBUG)+= IWLWIFI_DEBUG
820 config-$(CONFIG_PACKAGE_IWLWIFI_DEBUGFS)+= IWLWIFI_DEBUGFS
821
822 config-$(call config_package,libipw) += LIBIPW
823 config-$(call config_package,ipw2100) += IPW2100
824 config-$(call config_package,ipw2200) += IPW2200
825
826 config-$(call config_package,p54-common) += P54_COMMON
827 config-$(call config_package,p54-pci) += P54_PCI
828 config-$(call config_package,p54-usb) += P54_USB
829 config-$(call config_package,p54-spi) += P54_SPI
830
831 config-$(call config_package,hermes) += HERMES
832 config-$(call config_package,hermes-pci) += PCI_HERMES
833 config-$(call config_package,hermes-plx) += PLX_HERMES
834 config-$(call config_package,hermes-pcmcia) += PCMCIA_HERMES
835 config-y += HERMES_PRISM
836
837 config-$(call config_package,adm8211) += ADM8211
838 config-$(call config_package,libertas-sdio) += LIBERTAS LIBERTAS_SDIO
839 config-$(call config_package,libertas-usb) += LIBERTAS LIBERTAS_USB
840 config-$(call config_package,libertas-spi) += LIBERTAS LIBERTAS_SPI
841 config-$(call config_package,mwl8k) += MWL8K
842 config-$(call config_package,mwifiex-pcie) += MWIFIEX MWIFIEX_PCIE
843 config-$(call config_package,mwifiex-sdio) += MWIFIEX MWIFIEX_SDIO
844 config-$(call config_package,rtl8180) += RTL8180
845 config-$(call config_package,rtl8187) += RTL8187
846 config-$(call config_package,wlcore) += WLCORE WLCORE_SDIO
847 config-$(call config_package,wl12xx) += WL12XX
848 config-$(call config_package,wl18xx) += WL18XX
849 config-y += WL_TI WILINK_PLATFORM_DATA
850 config-$(call config_package,zd1211rw) += ZD1211RW
851 config-$(call config_package,rsi91x) += RSI_91X
852 config-$(call config_package,rsi91x-usb) += RSI_USB
853 config-$(call config_package,rsi91x-sdio) += RSI_SDIO
854
855 config-$(call config_package,rtlwifi) += RTL_CARDS RTLWIFI
856 config-$(call config_package,rtlwifi-pci) += RTLWIFI_PCI
857 config-$(call config_package,rtlwifi-btcoexist) += RTLBTCOEXIST
858 config-$(call config_package,rtlwifi-usb) += RTLWIFI_USB
859 config-$(call config_package,rtl8192c-common) += RTL8192C_COMMON
860 config-$(call config_package,rtl8192ce) += RTL8192CE
861 config-$(call config_package,rtl8192se) += RTL8192SE
862 config-$(call config_package,rtl8192de) += RTL8192DE
863 config-$(call config_package,rtl8192cu) += RTL8192CU
864 config-$(call config_package,rtl8821ae) += RTL8821AE
865 config-$(CONFIG_PACKAGE_RTLWIFI_DEBUG) += RTLWIFI_DEBUG
866
867 config-$(call config_package,rtl8xxxu) += RTL8XXXU
868 config-y += RTL8XXXU_UNTESTED
869
870 config-$(CONFIG_LEDS_TRIGGERS) += MAC80211_LEDS
871
872 MAKE_OPTS:= -C "$(PKG_BUILD_DIR)" \
873 $(KERNEL_MAKE_FLAGS) \
874 EXTRA_CFLAGS="-I$(PKG_BUILD_DIR)/include $(IREMAP_CFLAGS)" \
875 KLIB_BUILD="$(LINUX_DIR)" \
876 MODPROBE=true \
877 KLIB=$(TARGET_MODULES_DIR) \
878 KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \
879 KBUILD_LDFLAGS_MODULE_PREREQ=
880
881 define ConfigVars
882 $(subst $(space),,$(foreach opt,$(config-$(1)),CPTCFG_$(opt)=$(1)
883 ))
884 endef
885
886 define mac80211_config
887 $(call ConfigVars,m)$(call ConfigVars,y)
888 endef
889 $(eval $(call shexport,mac80211_config))
890
891 define Build/Prepare
892 rm -rf $(PKG_BUILD_DIR)
893 mkdir -p $(PKG_BUILD_DIR)
894 $(PKG_UNPACK)
895 $(Build/Patch)
896 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
897 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
898 $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
899 rm -rf \
900 $(PKG_BUILD_DIR)/include/linux/ssb \
901 $(PKG_BUILD_DIR)/include/linux/bcma \
902 $(PKG_BUILD_DIR)/include/net/bluetooth
903
904 rm -f \
905 $(PKG_BUILD_DIR)/include/linux/cordic.h \
906 $(PKG_BUILD_DIR)/include/linux/crc8.h \
907 $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h \
908 $(PKG_BUILD_DIR)/include/linux/wl12xx.h \
909 $(PKG_BUILD_DIR)/include/linux/spi/libertas_spi.h \
910 $(PKG_BUILD_DIR)/include/net/ieee80211.h \
911 $(PKG_BUILD_DIR)/backport-include/linux/bcm47xx_nvram.h
912
913 echo 'compat-wireless-$(PKG_VERSION)-$(PKG_RELEASE)-$(REVISION)' > $(PKG_BUILD_DIR)/compat_version
914 endef
915
916 ifneq ($(CONFIG_PACKAGE_kmod-cfg80211)$(CONFIG_PACKAGE_kmod-lib80211),)
917 define Build/Compile/kmod
918 rm -rf $(PKG_BUILD_DIR)/modules
919 +$(MAKE) $(PKG_JOBS) $(MAKE_OPTS) modules
920 endef
921 endif
922
923 #do not Build/Configure for EXTERNAL KERNEL
924 ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
925 ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
926 define Build/Configure
927 cmp $(PKG_BUILD_DIR)/include/linux/ath9k_platform.h $(LINUX_DIR)/include/linux/ath9k_platform.h
928 cmp $(PKG_BUILD_DIR)/include/linux/ath5k_platform.h $(LINUX_DIR)/include/linux/ath5k_platform.h
929 cmp $(PKG_BUILD_DIR)/include/linux/rt2x00_platform.h $(LINUX_DIR)/include/linux/rt2x00_platform.h
930 endef
931 endif
932 endif
933
934 define Build/Patch
935 $(if $(QUILT),rm -rf $(PKG_BUILD_DIR)/patches; mkdir -p $(PKG_BUILD_DIR)/patches)
936 $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/build,build/)
937 $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/subsys,subsys/)
938 $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath,ath/)
939 $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rt2x00,rt2x00/)
940 $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mwl,mwl/)
941 $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/brcm,brcm/)
942 $(if $(QUILT),touch $(PKG_BUILD_DIR)/.quilt_used)
943 endef
944
945 define Quilt/Refresh/Package
946 $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/build,build/)
947 $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/subsys,subsys/)
948 $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath,ath/)
949 $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rt2x00,rt2x00/)
950 $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mwl,mwl/)
951 $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/brcm,brcm/)
952 endef
953
954 define Build/Compile
955 $(SH_FUNC) var2file "$(call shvar,mac80211_config)" $(PKG_BUILD_DIR)/.config
956 $(MAKE) $(MAKE_OPTS) allnoconfig
957 $(call Build/Compile/kmod)
958 endef
959
960 define Build/InstallDev
961 mkdir -p \
962 $(1)/usr/include/mac80211 \
963 $(1)/usr/include/mac80211-backport \
964 $(1)/usr/include/mac80211/ath \
965 $(1)/usr/include/net/mac80211
966 $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
967 $(CP) $(PKG_BUILD_DIR)/backport-include/* $(1)/usr/include/mac80211-backport/
968 $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
969 $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
970 rm -f $(1)/usr/include/mac80211-backport/linux/module.h
971 endef
972
973
974 define KernelPackage/b43/install
975 rm -rf $(1)/lib/firmware/
976 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
977 tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
978 else
979 tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
980 endif
981 $(INSTALL_DIR) $(1)/lib/firmware/
982 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
983 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
984 $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
985 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
986 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
987 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
988 else
989 b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
990 endif
991 ifneq ($(CONFIG_B43_FW_SQUASH),)
992 b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
993 endif
994 endef
995
996 define KernelPackage/cfg80211/install
997 $(INSTALL_DIR) $(1)/lib/wifi $(1)/lib/netifd/wireless
998 $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
999 $(INSTALL_BIN) ./files/lib/netifd/wireless/mac80211.sh $(1)/lib/netifd/wireless
1000 $(INSTALL_DIR) $(1)/etc/hotplug.d/ieee80211
1001 $(INSTALL_DATA) ./files/mac80211.hotplug $(1)/etc/hotplug.d/ieee80211/10-wifi-detect
1002 endef
1003
1004 define KernelPackage/ipw2100/install
1005 $(INSTALL_DIR) $(1)/lib/firmware
1006 $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
1007 endef
1008
1009 define KernelPackage/ipw2200/install
1010 $(INSTALL_DIR) $(1)/lib/firmware
1011 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
1012 endef
1013
1014 define KernelPackage/zd1211rw/install
1015 $(INSTALL_DIR) $(1)/lib/firmware/zd1211
1016 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
1017 endef
1018
1019 $(eval $(foreach drv,$(PKG_DRIVERS),$(call KernelPackage,$(drv))))
1020 $(eval $(call KernelPackage,cfg80211))
1021 $(eval $(call KernelPackage,mac80211))