mac80211: fix regression in SSN handling of addba tx
[openwrt/openwrt.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:=5.15-rc6-1
14 PKG_RELEASE:=1
15 PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.15-rc6/
16 PKG_HASH:=9282612c4c02ef9fc9d74405303033f6b53914cd63d631eef0f43155fcd38932
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 hermes hermes-pci hermes-pcmcia hermes-plx\
27 lib80211 \
28 mac80211-hwsim \
29 mt7601u \
30 p54-common p54-pci p54-usb \
31 rsi91x rsi91x-usb rsi91x-sdio\
32 wlcore wl12xx wl18xx \
33 zd1211rw
34
35 PKG_CONFIG_DEPENDS:= \
36 CONFIG_PACKAGE_kmod-mac80211 \
37 CONFIG_PACKAGE_CFG80211_TESTMODE \
38 CONFIG_PACKAGE_MAC80211_DEBUGFS \
39 CONFIG_PACKAGE_MAC80211_MESH \
40 CONFIG_PACKAGE_MAC80211_TRACING \
41 CONFIG_PACKAGE_IWLWIFI_DEBUG \
42 CONFIG_PACKAGE_IWLWIFI_DEBUGFS \
43 CONFIG_PACKAGE_RTLWIFI_DEBUG \
44
45 include $(INCLUDE_DIR)/package.mk
46
47 WMENU:=Wireless Drivers
48
49 define KernelPackage/mac80211/Default
50 SUBMENU:=$(WMENU)
51 URL:=https://wireless.wiki.kernel.org/
52 MAINTAINER:=Felix Fietkau <nbd@nbd.name>
53 endef
54
55 config_package=$(if $(CONFIG_PACKAGE_kmod-$(1)),m)
56
57 config-y:= \
58 WLAN \
59 CFG80211_WEXT \
60 CFG80211_CERTIFICATION_ONUS \
61 MAC80211_RC_MINSTREL \
62 MAC80211_RC_MINSTREL_HT \
63 MAC80211_RC_MINSTREL_VHT \
64 MAC80211_RC_DEFAULT_MINSTREL \
65 WLAN_VENDOR_ADMTEK \
66 WLAN_VENDOR_ATH \
67 WLAN_VENDOR_ATMEL \
68 WLAN_VENDOR_BROADCOM \
69 WLAN_VENDOR_CISCO \
70 WLAN_VENDOR_INTEL \
71 WLAN_VENDOR_INTERSIL \
72 WLAN_VENDOR_MARVELL \
73 WLAN_VENDOR_MEDIATEK \
74 WLAN_VENDOR_RALINK \
75 WLAN_VENDOR_REALTEK \
76 WLAN_VENDOR_RSI \
77 WLAN_VENDOR_ST \
78 WLAN_VENDOR_TI \
79 WLAN_VENDOR_ZYDAS \
80
81 config-$(call config_package,cfg80211) += CFG80211
82 config-$(CONFIG_PACKAGE_CFG80211_TESTMODE) += NL80211_TESTMODE
83
84 config-$(call config_package,mac80211) += MAC80211
85 config-$(CONFIG_PACKAGE_MAC80211_MESH) += MAC80211_MESH
86
87 include ath.mk
88 include broadcom.mk
89 include intel.mk
90 include marvell.mk
91 include ralink.mk
92 include realtek.mk
93
94 PKG_CONFIG_DEPENDS += \
95 $(patsubst %,CONFIG_PACKAGE_kmod-%,$(PKG_DRIVERS))
96
97 define KernelPackage/cfg80211
98 $(call KernelPackage/mac80211/Default)
99 TITLE:=cfg80211 - wireless configuration API
100 DEPENDS+= +iw +iwinfo +wireless-regdb
101 ABI_VERSION:=$(PKG_VERSION)-$(PKG_RELEASE)
102 FILES:= \
103 $(PKG_BUILD_DIR)/compat/compat.ko \
104 $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
105 endef
106
107 define KernelPackage/cfg80211/description
108 cfg80211 is the Linux wireless LAN (802.11) configuration API.
109 endef
110
111 define KernelPackage/cfg80211/config
112 if PACKAGE_kmod-cfg80211
113
114 config PACKAGE_CFG80211_TESTMODE
115 bool "Enable testmode command support"
116 default n
117 help
118 This is typically used for tests and calibration during
119 manufacturing, or vendor specific debugging features
120
121 endif
122 endef
123
124
125 define KernelPackage/mac80211
126 $(call KernelPackage/mac80211/Default)
127 TITLE:=Linux 802.11 Wireless Networking Stack
128 # +kmod-crypto-cmac is a runtime only dependency of net/mac80211/aes_cmac.c
129 DEPENDS+= +kmod-cfg80211 +kmod-crypto-cmac +kmod-crypto-ccm +kmod-crypto-gcm +hostapd-common
130 KCONFIG:=\
131 CONFIG_AVERAGE=y
132 FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.ko
133 ABI_VERSION:=$(PKG_VERSION)-$(PKG_RELEASE)
134 MENU:=1
135 endef
136
137 define KernelPackage/mac80211/config
138 if PACKAGE_kmod-mac80211
139
140 config PACKAGE_MAC80211_DEBUGFS
141 bool "Export mac80211 internals in DebugFS"
142 select KERNEL_DEBUG_FS
143 default y
144 help
145 Select this to see extensive information about
146 the internal state of mac80211 in debugfs.
147
148 config PACKAGE_MAC80211_TRACING
149 bool "Enable tracing (mac80211 and supported drivers)"
150 select KERNEL_FTRACE
151 select KERNEL_ENABLE_DEFAULT_TRACERS
152 default n
153 help
154 Select this to enable tracing of mac80211 and
155 related wifi drivers (using trace-cmd).
156
157 config PACKAGE_MAC80211_MESH
158 bool "Enable 802.11s mesh support"
159 default y
160
161 endif
162 endef
163
164 define KernelPackage/mac80211/description
165 Generic IEEE 802.11 Networking Stack (mac80211)
166 endef
167
168 define KernelPackage/adm8211
169 $(call KernelPackage/mac80211/Default)
170 TITLE:=ADMTek 8211 support
171 DEPENDS+=@PCI_SUPPORT +kmod-mac80211 +kmod-eeprom-93cx6
172 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/admtek/adm8211.ko
173 AUTOLOAD:=$(call AutoProbe,adm8211)
174 endef
175
176 define KernelPackage/hermes
177 $(call KernelPackage/mac80211/Default)
178 TITLE:=Hermes 802.11b chipset support
179 DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT +kmod-crypto-michael-mic
180 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco.ko
181 AUTOLOAD:=$(call AutoProbe,orinoco)
182 endef
183
184 define KernelPackage/hermes/description
185 Kernel support for Hermes 802.11b chipsets
186 endef
187
188 define KernelPackage/hermes-pci
189 $(call KernelPackage/mac80211/Default)
190 TITLE:=Intersil Prism 2.5 PCI support
191 DEPENDS:=@PCI_SUPPORT +kmod-hermes
192 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco_pci.ko
193 AUTOLOAD:=$(call AutoProbe,orinoco_pci)
194 endef
195
196 define KernelPackage/hermes-pci/description
197 Kernel modules for Intersil Prism 2.5 PCI support
198 endef
199
200 define KernelPackage/hermes-plx
201 $(call KernelPackage/mac80211/Default)
202 TITLE:=PLX9052 based PCI adaptor
203 DEPENDS:=@PCI_SUPPORT +kmod-hermes
204 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco_plx.ko
205 AUTOLOAD:=$(call AutoProbe,orinoco_plx)
206 endef
207
208 define KernelPackage/hermes-plx/description
209 Kernel modules for Hermes in PLX9052 based PCI adaptors
210 endef
211
212 define KernelPackage/hermes-pcmcia
213 $(call KernelPackage/mac80211/Default)
214 TITLE:=Hermes based PCMCIA adaptors
215 DEPENDS:=@PCMCIA_SUPPORT +kmod-hermes +kmod-pcmcia-core
216 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco_cs.ko
217 AUTOLOAD:=$(call AutoProbe,orinoco_cs)
218 endef
219
220 define KernelPackage/hermes-pcmcia/description
221 Kernel modules for Hermes based PCMCIA adaptors
222 endef
223
224
225 define KernelPackage/lib80211
226 $(call KernelPackage/mac80211/Default)
227 TITLE:=802.11 Networking stack
228 DEPENDS:=+kmod-cfg80211 +kmod-crypto-hash +kmod-crypto-ccm
229 FILES:= \
230 $(PKG_BUILD_DIR)/net/wireless/lib80211.ko \
231 $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_wep.ko \
232 $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_ccmp.ko \
233 $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_tkip.ko
234 AUTOLOAD:=$(call AutoProbe, \
235 lib80211 \
236 lib80211_crypt_wep \
237 lib80211_crypt_ccmp \
238 lib80211_crypt_tkip \
239 )
240 endef
241
242 define KernelPackage/lib80211/description
243 Kernel modules for 802.11 Networking stack
244 Includes:
245 - lib80211
246 - lib80211_crypt_wep
247 - lib80211_crypt_tkip
248 - lib80211_crytp_ccmp
249 endef
250
251
252 define KernelPackage/mac80211-hwsim
253 $(call KernelPackage/mac80211/Default)
254 TITLE:=mac80211 HW simulation device
255 DEPENDS+= +kmod-mac80211 +@DRIVER_11AC_SUPPORT +@DRIVER_11N_SUPPORT
256 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.ko
257 AUTOLOAD:=$(call AutoProbe,mac80211_hwsim)
258 endef
259
260
261 define KernelPackage/mt7601u
262 $(call KernelPackage/mac80211/Default)
263 TITLE:=MT7601U-based USB dongles Wireless Driver
264 DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT @USB_SUPPORT +kmod-usb-core +mt7601u-firmware
265 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko
266 AUTOLOAD:=$(call AutoProbe,mt7601u)
267 endef
268
269 define KernelPackage/p54/Default
270 $(call KernelPackage/mac80211/Default)
271 TITLE:=Prism54 Drivers
272 endef
273
274 define KernelPackage/p54/description
275 Kernel module for Prism54 chipsets (mac80211)
276 endef
277
278 define KernelPackage/p54-common
279 $(call KernelPackage/p54/Default)
280 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT) +kmod-mac80211 +kmod-lib-crc-ccitt
281 TITLE+= (COMMON)
282 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54common.ko
283 endef
284
285 define KernelPackage/p54-pci
286 $(call KernelPackage/p54/Default)
287 TITLE+= (PCI)
288 DEPENDS+= @PCI_SUPPORT +kmod-p54-common +p54-pci-firmware
289 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54pci.ko
290 AUTOLOAD:=$(call AutoProbe,p54pci)
291 endef
292
293 define KernelPackage/p54-usb
294 $(call KernelPackage/p54/Default)
295 TITLE+= (USB)
296 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common +p54-usb-firmware
297 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54usb.ko
298 AUTOLOAD:=$(call AutoProbe,p54usb)
299 endef
300
301 define KernelPackage/rsi91x
302 $(call KernelPackage/mac80211/Default)
303 TITLE:=Redpine Signals Inc 91x WLAN driver support
304 DEPENDS+= +kmod-mac80211 +rs9113-firmware +@DRIVER_11N_SUPPORT
305 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rsi/rsi_91x.ko
306 endef
307
308 define KernelPackage/rsi91x-usb
309 $(call KernelPackage/mac80211/Default)
310 TITLE:=Redpine Signals USB bus support
311 DEPENDS+=@USB_SUPPORT +kmod-usb-core +kmod-mac80211 +kmod-rsi91x +rs9113-firmware
312 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rsi/rsi_usb.ko
313 AUTOLOAD:=$(call AutoProbe,rsi_usb)
314 endef
315
316 define KernelPackage/rsi91x-sdio
317 $(call KernelPackage/mac80211/Default)
318 TITLE:=Redpine Signals SDIO bus support
319 DEPENDS+= +kmod-mac80211 +kmod-mmc +kmod-rsi91x +rs9113-firmware
320 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rsi/rsi_sdio.ko
321 AUTOLOAD:=$(call AutoProbe,rsi_sdio)
322 endef
323
324
325 define KernelPackage/wlcore
326 $(call KernelPackage/mac80211/Default)
327 TITLE:=TI common driver part
328 DEPENDS+= +kmod-mmc +kmod-mac80211 +@DRIVER_11N_SUPPORT
329 FILES:= \
330 $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore.ko \
331 $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore_sdio.ko
332 AUTOLOAD:=$(call AutoProbe,wlcore wlcore_sdio)
333 endef
334
335 define KernelPackage/wlcore/description
336 This module contains some common parts needed by TI Wireless drivers.
337 endef
338
339 define KernelPackage/wl12xx
340 $(call KernelPackage/mac80211/Default)
341 TITLE:=Driver for TI WL12xx
342 URL:=https://wireless.wiki.kernel.org/en/users/drivers/wl12xx
343 DEPENDS+= +kmod-wlcore +wl12xx-firmware
344 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl12xx/wl12xx.ko
345 AUTOLOAD:=$(call AutoProbe,wl12xx)
346 endef
347
348 define KernelPackage/wl12xx/description
349 Kernel modules for TI WL12xx
350 endef
351
352 define KernelPackage/wl18xx
353 $(call KernelPackage/mac80211/Default)
354 TITLE:=Driver for TI WL18xx
355 URL:=https://wireless.wiki.kernel.org/en/users/drivers/wl18xx
356 DEPENDS+= +kmod-wlcore +wl18xx-firmware
357 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl18xx/wl18xx.ko
358 AUTOLOAD:=$(call AutoProbe,wl18xx)
359 endef
360
361 define KernelPackage/wl18xx/description
362 Kernel modules for TI WL18xx
363 endef
364
365
366 ZD1211FW_NAME:=zd1211-firmware
367 ZD1211FW_VERSION:=1.4
368 define Download/zd1211rw
369 FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
370 URL:=@SF/zd1211/
371 HASH:=866308f6f59f7075f075d4959dff2ede47735c751251fecd1496df1ba4d338e1
372 endef
373 $(eval $(call Download,zd1211rw))
374
375 define KernelPackage/zd1211rw
376 $(call KernelPackage/mac80211/Default)
377 TITLE:=Zydas ZD1211 support
378 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
379 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zydas/zd1211rw/zd1211rw.ko
380 AUTOLOAD:=$(call AutoProbe,zd1211rw)
381 endef
382
383 ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
384 config-y += \
385 CFG80211_DEBUGFS \
386 MAC80211_DEBUGFS
387 endif
388
389 ifdef CONFIG_PACKAGE_MAC80211_TRACING
390 config-y += \
391 IWLWIFI_DEVICE_TRACING
392 endif
393
394 config-$(call config_package,lib80211) += LIB80211 LIB80211_CRYPT_WEP LIB80211_CRYPT_CCMP LIB80211_CRYPT_TKIP
395
396 config-$(call config_package,mac80211-hwsim) += MAC80211_HWSIM
397 config-$(call config_package,mt7601u) += MT7601U
398 config-y += WL_MEDIATEK
399
400 config-$(call config_package,p54-common) += P54_COMMON
401 config-$(call config_package,p54-pci) += P54_PCI
402 config-$(call config_package,p54-usb) += P54_USB
403
404 config-$(call config_package,hermes) += HERMES
405 config-$(call config_package,hermes-pci) += PCI_HERMES
406 config-$(call config_package,hermes-plx) += PLX_HERMES
407 config-$(call config_package,hermes-pcmcia) += PCMCIA_HERMES
408 config-y += HERMES_PRISM
409
410 config-$(call config_package,adm8211) += ADM8211
411 config-$(call config_package,wlcore) += WLCORE WLCORE_SDIO
412 config-$(call config_package,wl12xx) += WL12XX
413 config-$(call config_package,wl18xx) += WL18XX
414 config-y += WL_TI WILINK_PLATFORM_DATA
415 config-$(call config_package,zd1211rw) += ZD1211RW
416 config-$(call config_package,rsi91x) += RSI_91X
417 config-$(call config_package,rsi91x-usb) += RSI_USB
418 config-$(call config_package,rsi91x-sdio) += RSI_SDIO
419
420 config-$(CONFIG_LEDS_TRIGGERS) += MAC80211_LEDS
421
422 MAKE_OPTS:= -C "$(PKG_BUILD_DIR)" \
423 $(KERNEL_MAKE_FLAGS) \
424 EXTRA_CFLAGS="-I$(PKG_BUILD_DIR)/include $(IREMAP_CFLAGS)" \
425 KLIB_BUILD="$(LINUX_DIR)" \
426 MODPROBE=true \
427 KLIB=$(TARGET_MODULES_DIR) \
428 KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \
429 KBUILD_LDFLAGS_MODULE_PREREQ=
430
431 define ConfigVars
432 $(subst $(space),,$(foreach opt,$(config-$(1)),CPTCFG_$(opt)=$(1)
433 ))
434 endef
435
436 define mac80211_config
437 $(call ConfigVars,m)$(call ConfigVars,y)
438 endef
439 $(eval $(call shexport,mac80211_config))
440
441 define Build/Prepare
442 rm -rf $(PKG_BUILD_DIR)
443 mkdir -p $(PKG_BUILD_DIR)
444 $(PKG_UNPACK)
445 $(Build/Patch)
446 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
447 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
448 $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
449 rm -rf \
450 $(PKG_BUILD_DIR)/include/linux/ssb \
451 $(PKG_BUILD_DIR)/include/linux/bcma \
452 $(PKG_BUILD_DIR)/include/net/bluetooth
453
454 rm -f \
455 $(PKG_BUILD_DIR)/include/linux/cordic.h \
456 $(PKG_BUILD_DIR)/include/linux/crc8.h \
457 $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h \
458 $(PKG_BUILD_DIR)/include/linux/wl12xx.h \
459 $(PKG_BUILD_DIR)/include/linux/spi/libertas_spi.h \
460 $(PKG_BUILD_DIR)/include/net/ieee80211.h \
461 $(PKG_BUILD_DIR)/backport-include/linux/bcm47xx_nvram.h
462
463 echo 'compat-wireless-$(PKG_VERSION)-$(PKG_RELEASE)-$(REVISION)' > $(PKG_BUILD_DIR)/compat_version
464 endef
465
466 ifneq ($(CONFIG_PACKAGE_kmod-cfg80211)$(CONFIG_PACKAGE_kmod-lib80211),)
467 define Build/Compile/kmod
468 rm -rf $(PKG_BUILD_DIR)/modules
469 +$(MAKE) $(PKG_JOBS) $(MAKE_OPTS) modules
470 endef
471 endif
472
473 #do not Build/Configure for EXTERNAL KERNEL
474 ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
475 ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
476 define Build/Configure
477 cmp $(PKG_BUILD_DIR)/include/linux/ath9k_platform.h $(LINUX_DIR)/include/linux/ath9k_platform.h
478 cmp $(PKG_BUILD_DIR)/include/linux/ath5k_platform.h $(LINUX_DIR)/include/linux/ath5k_platform.h
479 cmp $(PKG_BUILD_DIR)/include/linux/rt2x00_platform.h $(LINUX_DIR)/include/linux/rt2x00_platform.h
480 endef
481 endif
482 endif
483
484 define Build/Patch
485 $(if $(QUILT),rm -rf $(PKG_BUILD_DIR)/patches; mkdir -p $(PKG_BUILD_DIR)/patches)
486 $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/build,build/)
487 $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/subsys,subsys/)
488 $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath,ath/)
489 $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath5k,ath5k/)
490 $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath9k,ath9k/)
491 $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath10k,ath10k/)
492 $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath11k,ath11k/)
493 $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rt2x00,rt2x00/)
494 $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mwl,mwl/)
495 $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/brcm,brcm/)
496 $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rtl,rtl/)
497 $(if $(QUILT),touch $(PKG_BUILD_DIR)/.quilt_used)
498 endef
499
500 define Quilt/Refresh/Package
501 $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/build,build/)
502 $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/subsys,subsys/)
503 $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath,ath/)
504 $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath5k,ath5k/)
505 $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath9k,ath9k/)
506 $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath10k,ath10k/)
507 $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath11k,ath11k/)
508 $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rt2x00,rt2x00/)
509 $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mwl,mwl/)
510 $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/brcm,brcm/)
511 $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rtl,rtl/)
512 endef
513
514 define Build/Compile
515 $(SH_FUNC) var2file "$(call shvar,mac80211_config)" $(PKG_BUILD_DIR)/.config
516 $(MAKE) $(MAKE_OPTS) allnoconfig
517 $(call Build/Compile/kmod)
518 endef
519
520 define Build/InstallDev
521 mkdir -p \
522 $(1)/usr/include/mac80211 \
523 $(1)/usr/include/mac80211-backport \
524 $(1)/usr/include/mac80211/ath \
525 $(1)/usr/include/net/mac80211
526 $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
527 $(CP) $(PKG_BUILD_DIR)/backport-include/* $(1)/usr/include/mac80211-backport/
528 $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
529 $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
530 rm -f $(1)/usr/include/mac80211-backport/linux/module.h
531 endef
532
533
534 define KernelPackage/cfg80211/install
535 $(INSTALL_DIR) $(1)/lib/wifi $(1)/lib/netifd/wireless
536 $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
537 $(INSTALL_BIN) ./files/lib/netifd/wireless/mac80211.sh $(1)/lib/netifd/wireless
538 $(INSTALL_DIR) $(1)/etc/hotplug.d/ieee80211
539 $(INSTALL_DATA) ./files/mac80211.hotplug $(1)/etc/hotplug.d/ieee80211/10-wifi-detect
540 endef
541
542 define KernelPackage/zd1211rw/install
543 $(INSTALL_DIR) $(1)/lib/firmware/zd1211
544 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
545 endef
546
547 $(eval $(foreach drv,$(PKG_DRIVERS),$(call KernelPackage,$(drv))))
548 $(eval $(call KernelPackage,cfg80211))
549 $(eval $(call KernelPackage,mac80211))