This contains many fixes from upstream Linux. mac80211/371-wifi-mac80211-Add-eMLSR-eMLMR-action-frame-parsing-s.patch adapted to upstream split of include/linux/ieee80211.h Changes: ``` $ git log --oneline v6.18.26...v6.18.39 -- drivers/net/wireless/ net/mac80211/ net/wireless/ include/linux/ieee80211* 1de92789ce31 wifi: iwlwifi: mld: validate sta_mask before ffs() in BA session handlers b0b07e04f0c7 wifi: iwlwifi: mld: fix race condition in PTP removal df626f284cb9 wifi: iwlwifi: mvm: fix race condition in PTP removal 200d58c851b8 wifi: rtw88: usb: fix memory leaks on USB write failures 73d427d271f7 wifi: rtw88: increase TX report timeout to fix race condition 0aeb4d3ff6ce wifi: rtlwifi: rtl8821ae: Fix C2H bit location in RX descriptor 40aa3c2b0cb8 wifi: ath11k: fix warning when unbinding a7cdc384c9c5 wifi: mt76: mt7925: don't disable AP BSS when removing TDLS peer 7e25b5e22c1f wifi: mt76: mt76x2u: Add support for ELECOM WDC-867SU3S 3c499851753a wifi: mt76: add wcid publish check in mt76_sta_add 37c059d4d92f wifi: mac80211: tests: mark HT check strict 4dac39a4db14 wifi: mac80211: skip ieee80211_verify_sta_ht_mcs_support check in non-strict mode 265c07c09c83 wifi: nl80211: reject oversized EMA RNR lists ac2000be0cbe wifi: iwlwifi: pcie: simplify the resume flow if fast resume is not used fb8db813eba2 wifi: fix leak if split 6 GHz scanning fails 9b40c59bab08 wifi: mac80211: limit injected antenna index in ieee80211_parse_tx_radiotap 9dca67624721 wifi: iwlwifi: mvm: don't support the reset handshake for old firmwares 95c82d498d74 wifi: wilc1000: fix dma_buffer leak on bus acquire failure 55c479aae99b wifi: mac80211: fix MLE defragmentation 2d8379834800 wifi: mac80211: bounds-check link_id in ieee80211_ml_epcs 926a08cf19be wifi: ath11k: fix peer resolution on rx path when peer_id=0 3a74aaad0473 wifi: iwlwifi: mld: don't dereference a pointer before NULL checking it 9e360e610a73 wifi: iwlwifi: mld: fix TSO segmentation explosion when AMSDU is disabled e1b429d8e712 wifi: ath10k: skip WMI and beacon transmission when device is wedged d94127d04017 wifi: ath11k: fix error path leak in ath11k_tm_cmd_wmi_ftm() acde4692afcd wifi: ath11k: fix error path leaks in some WMI WOW calls 2dd9304727c7 wifi: mac80211: consume only present negotiated TTLM maps 6cfae4914439 wifi: cfg80211: advance loop vars in cfg80211_merge_profile() dc31c6947652 wifi: iwlwifi: mld: stop TX during firmware restart 6fe92651b44f wifi: iwlwifi: mvm: fix driver-set TX rates on old devices 614cacec60fe wifi: ath11k: clear shared SRNG pointer state on restart 254633506626 wifi: ath10k: fix station lookup failure during disconnect a9937a3ac585 wifi: mac80211: handle VHT EXT NSS in ieee80211_determine_our_sta_mode() cbea71b44803 wifi: brcmfmac: Fix error pointer dereference 6b9694702c37 wifi: rtw89: phy: fix uninitialized variable access in rtw89_phy_cfo_set_crystal_cap() a1a8a8bdfa21 wifi: mt76: mt7996: fix RRO EMU configuration dc34c01521bf wifi: mt76: support upgrading passive scans to active a2cde15af378 wifi: mt76: fix multi-radio on-channel scanning 98e0118ab51c wifi: mt76: mt7996: Decrement sta counter removing the link in mt7996_mac_reset_sta_iter() e54c6440114d wifi: mt76: mt7996: Switch to the secondary link if the default one is removed d6f6b3a65660 wifi: mt76: mt7996: use correct link_id when filling TXD and TXP 5a3353b06387 wifi: mt76: mt7996: Remove link pointer dependency in mt7996_mac_sta_remove_links() 7da35e2d2fb7 wifi: mt76: mt7996: Add missing CHANCTX_STA_CSA property 1e0f3e5e2835 wifi: mt76: mt7921: fix 6GHz regulatory update on connection aa4a31cd89f4 wifi: mt76: mt7996: fix use-after-free bugs in mt7996_mac_dump_work() 6b7cbb13c838 wifi: mt76: mt7915: fix use-after-free bugs in mt7915_mac_dump_work() 419babee9b5c wifi: mt76: mt7996: fix struct mt7996_mcu_uni_event ae94ef093a15 wifi: mt76: mt7996: fix wrong DMAD length when using MAC TXP 5fc8c5d45e44 wifi: mt76: fix deadlock in remain-on-channel 35180c772f5e wifi: mt76: mt7921: fix potential deadlock in mt7921_roc_abort_sync 153bcba36c87 wifi: mt76: mt7925: fix potential deadlock in mt7925_roc_abort_sync e125def8b380 wifi: mt76: mt7925: drop puncturing handling from BSS change path a1a59bd3cd1e wifi: mt76: mt7925: cqm rssi low/high event notify dcbc13d19bef wifi: mt76: Fix memory leak destroying device 35835ff71e6e wifi: mt76: mt7921: Place upper limit on station AID e00c27608536 wifi: mt76: mt7996: fix FCS error flag check in RX descriptor 815db7fd57aa wifi: mt76: mt7925: prevent NULL vif dereference in mt7925_mac_write_txwi 93d0694fb56d wifi: mt76: mt7925: prevent NULL pointer dereference in mt7925_tx_check_aggr() b81a93dc0aed wifi: mt76: mt7915: fix use_cts_prot support 729b4adad191 wifi: mt76: mt7615: fix use_cts_prot support 9aa3b49e1c5b wifi: mt76: mt7925: Fix incorrect MLO mode in firmware control 3880639cec09 wifi: mt76: mt7921: Reset ampdu_state state in case of failure in mt76_connac2_tx_check_aggr() 1e16b0a9b988 wifi: mt76: mt7996: Reset ampdu_state state in case of failure in mt7996_tx_check_aggr() 455a48685fee wifi: mt76: mt7996: Clear wcid pointer in mt7996_mac_sta_deinit_link() 6d7f231d5fff wifi: mt76: mt7996: Reset mtxq->idx if primary link is removed in mt7996_vif_link_remove() 15205c72f1ec wifi: mt76: mt7996: Set mtxq->wcid just for primary link 900579479395 wifi: mt76: mt7996: fix iface combination for different chipsets 096b74331df2 wifi: mt76: mt7996: fix the behavior of radar detection 00c0317cebf4 wifi: libertas: don't kill URBs in interrupt context a761a1539a55 wifi: libertas: use USB anchors for tracking in-flight URBs 0ee803fc4787 wifi: ieee80211: fix definition of EHT-MCS 15 in MRU dd827cff429d wifi: ieee80211: split EHT definitions out df5720d35848 wifi: ieee80211: split HE definitions out f8d1e8038bc7 wifi: ieee80211: split VHT definitions out 4d5caab09dab wifi: ieee80211: split HT definitions out 3f459076b2d8 wifi: ieee80211: split mesh definitions out aa10a452e348 wifi: rtlwifi: pci: fix possible use-after-free caused by unfinished irq_prepare_bcn_tasklet 9fe48cacab63 wifi: mwifiex: Fix memory leak in mwifiex_11n_aggregate_pkt() 658d2e46c2e9 wifi: brcmfmac: Fix potential use-after-free issue when stopping watchdog task d7029879bafd wifi: b43: enforce bounds check on firmware key index in b43_rx() 9e28654f79f4 wifi: mac80211: remove station if connection prep fails e9f1081bc775 wifi: ath5k: do not access array OOB 7577a4b8a10f wifi: mac80211: use safe list iteration in radar detect work 4f9a4ae8d2c1 wifi: rsi: fix kthread lifetime race between self-exit and external-stop e131562d6f2b wifi: mac80211: drop stray 'static' from fast-RX rx_result 9d1bc1558029 wifi: b43legacy: enforce bounds check on firmware key index in RX path 6d55948a62ab wifi: mt76: mt7921: fix ROC abort flow interruption in mt7921_roc_work 0aa63d33742b wifi: mt76: mt7921: fix a potential clc buffer length underflow 6fc7c8b414ce wifi: mt76: mt7925: fix incorrect length field in txpower command 5860ab3ddeaa wifi: mt76: mt7925: fix AMPDU state handling in mt7925_tx_check_aggr 8c4339dbab49 wifi: mt76: mt7925: fix incorrect TLV length in CLC command 7d7863018f40 wifi: mt76: mt792x: fix mt7925u USB WFSYS reset handling 0bc155c4ca47 wifi: mt76: mt792x: describe USB WFSYS reset with a descriptor 69c4d137b22d wifi: rtl8xxxu: fix potential use of uninitialized value 4e179a60a60c wifi: mwifiex: fix use-after-free in mwifiex_adapter_cleanup() 000134a20bbf wifi: rtw88: check for PCI upstream bridge existence ``` Link: https://github.com/openwrt/openwrt/pull/24353 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
398 lines
12 KiB
Makefile
398 lines
12 KiB
Makefile
#
|
|
# Copyright (C) 2007-2015 OpenWrt.org
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
include $(INCLUDE_DIR)/kernel.mk
|
|
|
|
PKG_NAME:=mac80211
|
|
|
|
PKG_VERSION:=6.18.39
|
|
PKG_RELEASE:=1
|
|
PKG_LICENSE:=GPL-2.0-only
|
|
PKG_LICENSE_FILES:=COPYING
|
|
|
|
PKG_SOURCE_URL:=https://github.com/openwrt/backports/releases/download/backports-v$(PKG_VERSION)
|
|
PKG_HASH:=8951c1e270d7c311432377bd50951cd1d5dee2b5fedf33d30db41aa8e428aeb0
|
|
|
|
PKG_SOURCE:=backports-$(PKG_VERSION).tar.zst
|
|
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(if $(BUILD_VARIANT),$(PKG_NAME)-$(BUILD_VARIANT)/)backports-$(PKG_VERSION)
|
|
PKG_BUILD_PARALLEL:=1
|
|
|
|
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
|
|
|
PKG_DRIVERS = \
|
|
mac80211-hwsim \
|
|
mt7601u \
|
|
rsi91x rsi91x-usb rsi91x-sdio\
|
|
wlcore wl12xx wl18xx
|
|
|
|
PKG_CONFIG_DEPENDS:= \
|
|
CONFIG_PACKAGE_kmod-mac80211 \
|
|
CONFIG_PACKAGE_CFG80211_TESTMODE \
|
|
CONFIG_PACKAGE_MAC80211_DEBUGFS \
|
|
CONFIG_PACKAGE_MAC80211_MESH \
|
|
CONFIG_PACKAGE_MAC80211_TRACING \
|
|
CONFIG_PACKAGE_IWLWIFI_DEBUG \
|
|
CONFIG_PACKAGE_IWLWIFI_DEBUGFS \
|
|
CONFIG_PACKAGE_RTLWIFI_DEBUG \
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
WMENU:=Wireless Drivers
|
|
|
|
define KernelPackage/mac80211/Default
|
|
SUBMENU:=$(WMENU)
|
|
URL:=https://wireless.wiki.kernel.org/
|
|
MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
|
endef
|
|
|
|
# config_pacakge:
|
|
# 1 = OpenWrt KernelPackage name
|
|
# 2 = Optional list of variants for which the module may be selected:
|
|
# If empty, the module is only selected with the first variant
|
|
# Use $(ALL_VARIANTS) to allow module selection in all variants
|
|
config_package=$(if $(and $(CONFIG_PACKAGE_kmod-$(1)),$(call mac80211_variant_check,$(2))),m)
|
|
mac80211_variant_check=$(if $(ALL_VARIANTS),$(filter $(BUILD_VARIANT),$(if $(1),$(1),$(firstword $(ALL_VARIANTS)))),y)
|
|
|
|
config-y:= \
|
|
WLAN \
|
|
CFG80211_CERTIFICATION_ONUS \
|
|
MAC80211_RC_MINSTREL \
|
|
MAC80211_RC_MINSTREL_HT \
|
|
MAC80211_RC_MINSTREL_VHT \
|
|
MAC80211_RC_DEFAULT_MINSTREL \
|
|
WLAN_VENDOR_ADMTEK \
|
|
WLAN_VENDOR_ATH \
|
|
WLAN_VENDOR_ATMEL \
|
|
WLAN_VENDOR_BROADCOM \
|
|
WLAN_VENDOR_CISCO \
|
|
WLAN_VENDOR_INTEL \
|
|
WLAN_VENDOR_INTERSIL \
|
|
WLAN_VENDOR_MARVELL \
|
|
WLAN_VENDOR_MEDIATEK \
|
|
WLAN_VENDOR_RALINK \
|
|
WLAN_VENDOR_REALTEK \
|
|
WLAN_VENDOR_RSI \
|
|
WLAN_VENDOR_ST \
|
|
WLAN_VENDOR_TI \
|
|
WLAN_VENDOR_ZYDAS \
|
|
|
|
config-$(call config_package,cfg80211,$(ALL_VARIANTS)) += CFG80211
|
|
config-$(CONFIG_PACKAGE_CFG80211_TESTMODE) += NL80211_TESTMODE
|
|
|
|
config-$(call config_package,mac80211,$(ALL_VARIANTS)) += MAC80211
|
|
config-$(CONFIG_PACKAGE_MAC80211_MESH) += MAC80211_MESH
|
|
|
|
include ath.mk
|
|
include broadcom.mk
|
|
include intel.mk
|
|
include marvell.mk
|
|
include ralink.mk
|
|
include realtek.mk
|
|
|
|
PKG_CONFIG_DEPENDS += \
|
|
CONFIG_WIFI_SCRIPTS_UCODE \
|
|
$(patsubst %,CONFIG_PACKAGE_kmod-%,$(PKG_DRIVERS))
|
|
|
|
define KernelPackage/cfg80211
|
|
$(call KernelPackage/mac80211/Default)
|
|
TITLE:=cfg80211 - wireless configuration API
|
|
DEPENDS+= +iw +!WIFI_SCRIPTS_UCODE:iwinfo +wifi-scripts +wireless-regdb +USE_RFKILL:kmod-rfkill
|
|
ABI_VERSION:=$(PKG_VERSION)-$(PKG_RELEASE)
|
|
FILES:= \
|
|
$(PKG_BUILD_DIR)/compat/compat.ko \
|
|
$(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
|
|
endef
|
|
|
|
define KernelPackage/cfg80211/description
|
|
cfg80211 is the Linux wireless LAN (802.11) configuration API.
|
|
endef
|
|
|
|
define KernelPackage/cfg80211/config
|
|
if PACKAGE_kmod-cfg80211
|
|
|
|
config PACKAGE_CFG80211_TESTMODE
|
|
bool "Enable testmode command support"
|
|
default n
|
|
help
|
|
This is typically used for tests and calibration during
|
|
manufacturing, or vendor specific debugging features
|
|
|
|
endif
|
|
endef
|
|
|
|
|
|
define KernelPackage/mac80211
|
|
$(call KernelPackage/mac80211/Default)
|
|
TITLE:=Linux 802.11 Wireless Networking Stack
|
|
# +kmod-crypto-cmac is a runtime only dependency of net/mac80211/aes_cmac.c
|
|
DEPENDS+= +kmod-cfg80211 +kmod-crypto-cmac +kmod-crypto-ccm +kmod-crypto-gcm +hostapd-common
|
|
KCONFIG:=\
|
|
CONFIG_AVERAGE=y
|
|
FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.ko
|
|
ABI_VERSION:=$(PKG_VERSION)-$(PKG_RELEASE)
|
|
MENU:=1
|
|
endef
|
|
|
|
define KernelPackage/mac80211/config
|
|
if PACKAGE_kmod-mac80211
|
|
|
|
config PACKAGE_MAC80211_DEBUGFS
|
|
bool "Export mac80211 internals in DebugFS"
|
|
select KERNEL_DEBUG_FS
|
|
default y
|
|
help
|
|
Select this to see extensive information about
|
|
the internal state of mac80211 in debugfs.
|
|
|
|
config PACKAGE_MAC80211_TRACING
|
|
bool "Enable tracing (mac80211 and supported drivers)"
|
|
select KERNEL_FTRACE
|
|
select KERNEL_ENABLE_DEFAULT_TRACERS
|
|
default n
|
|
help
|
|
Select this to enable tracing of mac80211 and
|
|
related wifi drivers (using trace-cmd).
|
|
|
|
config PACKAGE_MAC80211_MESH
|
|
bool "Enable 802.11s mesh support"
|
|
default y
|
|
|
|
endif
|
|
endef
|
|
|
|
define KernelPackage/mac80211/description
|
|
Generic IEEE 802.11 Networking Stack (mac80211)
|
|
endef
|
|
|
|
define KernelPackage/mac80211-hwsim
|
|
$(call KernelPackage/mac80211/Default)
|
|
TITLE:=mac80211 HW simulation device
|
|
DEPENDS+= +kmod-mac80211 +@DRIVER_11BE_SUPPORT +@DRIVER_11AX_SUPPORT +@DRIVER_11AC_SUPPORT
|
|
FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/virtual/mac80211_hwsim.ko
|
|
AUTOLOAD:=$(call AutoProbe,mac80211_hwsim)
|
|
endef
|
|
|
|
|
|
define KernelPackage/mt7601u
|
|
$(call KernelPackage/mac80211/Default)
|
|
TITLE:=MT7601U-based USB dongles Wireless Driver
|
|
DEPENDS+= +kmod-mac80211 @USB_SUPPORT +kmod-usb-core +mt7601u-firmware
|
|
FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko
|
|
AUTOLOAD:=$(call AutoProbe,mt7601u)
|
|
endef
|
|
|
|
define KernelPackage/rsi91x
|
|
$(call KernelPackage/mac80211/Default)
|
|
TITLE:=Redpine Signals Inc 91x WLAN driver support
|
|
DEPENDS+= +kmod-mac80211 +rs9113-firmware
|
|
FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rsi/rsi_91x.ko
|
|
endef
|
|
|
|
define KernelPackage/rsi91x-usb
|
|
$(call KernelPackage/mac80211/Default)
|
|
TITLE:=Redpine Signals USB bus support
|
|
DEPENDS+=@USB_SUPPORT +kmod-usb-core +kmod-mac80211 +kmod-rsi91x +rs9113-firmware
|
|
FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rsi/rsi_usb.ko
|
|
AUTOLOAD:=$(call AutoProbe,rsi_usb)
|
|
endef
|
|
|
|
define KernelPackage/rsi91x-sdio
|
|
$(call KernelPackage/mac80211/Default)
|
|
TITLE:=Redpine Signals SDIO bus support
|
|
DEPENDS+= +kmod-mac80211 +kmod-mmc +kmod-rsi91x +rs9113-firmware
|
|
FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rsi/rsi_sdio.ko
|
|
AUTOLOAD:=$(call AutoProbe,rsi_sdio)
|
|
endef
|
|
|
|
|
|
define KernelPackage/wlcore
|
|
$(call KernelPackage/mac80211/Default)
|
|
TITLE:=TI common driver part
|
|
DEPENDS+= +kmod-mmc +kmod-mac80211
|
|
FILES:= \
|
|
$(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore.ko \
|
|
$(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore_sdio.ko
|
|
AUTOLOAD:=$(call AutoProbe,wlcore wlcore_sdio)
|
|
endef
|
|
|
|
define KernelPackage/wlcore/description
|
|
This module contains some common parts needed by TI Wireless drivers.
|
|
endef
|
|
|
|
define KernelPackage/wl12xx
|
|
$(call KernelPackage/mac80211/Default)
|
|
TITLE:=Driver for TI WL12xx
|
|
URL:=https://wireless.wiki.kernel.org/en/users/drivers/wl12xx
|
|
DEPENDS+= +kmod-wlcore +wl12xx-firmware
|
|
FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl12xx/wl12xx.ko
|
|
AUTOLOAD:=$(call AutoProbe,wl12xx)
|
|
endef
|
|
|
|
define KernelPackage/wl12xx/description
|
|
Kernel modules for TI WL12xx
|
|
endef
|
|
|
|
define KernelPackage/wl18xx
|
|
$(call KernelPackage/mac80211/Default)
|
|
TITLE:=Driver for TI WL18xx
|
|
URL:=https://wireless.wiki.kernel.org/en/users/drivers/wl18xx
|
|
DEPENDS+= +kmod-wlcore +wl18xx-firmware
|
|
FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl18xx/wl18xx.ko
|
|
AUTOLOAD:=$(call AutoProbe,wl18xx)
|
|
endef
|
|
|
|
define KernelPackage/wl18xx/description
|
|
Kernel modules for TI WL18xx
|
|
endef
|
|
|
|
|
|
ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
|
|
config-y += \
|
|
CFG80211_DEBUGFS \
|
|
MAC80211_DEBUGFS
|
|
endif
|
|
|
|
ifdef CONFIG_PACKAGE_MAC80211_TRACING
|
|
config-y += \
|
|
IWLWIFI_DEVICE_TRACING
|
|
endif
|
|
|
|
config-$(call config_package,mac80211-hwsim) += MAC80211_HWSIM
|
|
config-$(call config_package,mt7601u) += MT7601U
|
|
config-y += WL_MEDIATEK
|
|
|
|
config-$(call config_package,wlcore) += WLCORE WLCORE_SDIO
|
|
config-$(call config_package,wl12xx) += WL12XX
|
|
config-$(call config_package,wl18xx) += WL18XX
|
|
config-y += WL_TI WILINK_PLATFORM_DATA
|
|
config-$(call config_package,rsi91x) += RSI_91X
|
|
config-$(call config_package,rsi91x-usb) += RSI_USB
|
|
config-$(call config_package,rsi91x-sdio) += RSI_SDIO
|
|
|
|
config-$(CONFIG_LEDS_TRIGGERS) += MAC80211_LEDS
|
|
|
|
C_DEFINES=
|
|
|
|
ifeq ($(BUILD_VARIANT),smallbuffers)
|
|
C_DEFINES+= -DCONFIG_ATH10K_SMALLBUFFERS
|
|
endif
|
|
|
|
MAKE_OPTS:= \
|
|
$(subst -C $(LINUX_DIR),-C "$(PKG_BUILD_DIR)",$(KERNEL_MAKEOPTS)) \
|
|
EXTRA_CFLAGS="-I$(PKG_BUILD_DIR)/include $(IREMAP_CFLAGS) $(C_DEFINES)" \
|
|
KLIB_BUILD="$(LINUX_DIR)" \
|
|
MODPROBE=true \
|
|
KLIB=$(TARGET_MODULES_DIR) \
|
|
KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \
|
|
KBUILD_LDFLAGS_MODULE_PREREQ=
|
|
|
|
define ConfigVars
|
|
$(subst $(space),,$(foreach opt,$(config-$(1)),CPTCFG_$(opt)=$(1)
|
|
))
|
|
endef
|
|
|
|
define mac80211_config
|
|
$(call ConfigVars,m)$(call ConfigVars,y)
|
|
endef
|
|
$(eval $(call shexport,mac80211_config))
|
|
|
|
define Build/Prepare
|
|
rm -rf $(PKG_BUILD_DIR)
|
|
mkdir -p $(PKG_BUILD_DIR)
|
|
$(PKG_UNPACK)
|
|
$(Build/Patch)
|
|
rm -rf \
|
|
$(PKG_BUILD_DIR)/include/linux/ssb \
|
|
$(PKG_BUILD_DIR)/include/linux/bcma \
|
|
$(PKG_BUILD_DIR)/include/net/bluetooth
|
|
|
|
rm -f \
|
|
$(PKG_BUILD_DIR)/include/linux/cordic.h \
|
|
$(PKG_BUILD_DIR)/include/linux/crc8.h \
|
|
$(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h \
|
|
$(PKG_BUILD_DIR)/include/linux/wl12xx.h \
|
|
$(PKG_BUILD_DIR)/include/linux/mhi.h \
|
|
$(PKG_BUILD_DIR)/include/net/ieee80211.h \
|
|
$(PKG_BUILD_DIR)/backport-include/linux/bcm47xx_nvram.h
|
|
|
|
echo 'compat-wireless-$(PKG_VERSION)-$(PKG_RELEASE)-$(REVISION)' > $(PKG_BUILD_DIR)/compat_version
|
|
endef
|
|
|
|
ifneq ($(CONFIG_PACKAGE_kmod-cfg80211),)
|
|
define Build/Compile/kmod
|
|
rm -rf $(PKG_BUILD_DIR)/modules
|
|
+$(MAKE) $(PKG_JOBS) $(MAKE_OPTS) modules
|
|
endef
|
|
endif
|
|
|
|
#do not Build/Configure for EXTERNAL KERNEL
|
|
ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
|
|
ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
|
|
define Build/Configure
|
|
cmp $(PKG_BUILD_DIR)/include/linux/ath5k_platform.h $(LINUX_DIR)/include/linux/ath5k_platform.h
|
|
endef
|
|
endif
|
|
endif
|
|
|
|
define Build/Patch
|
|
$(if $(QUILT),rm -rf $(PKG_BUILD_DIR)/patches; mkdir -p $(PKG_BUILD_DIR)/patches)
|
|
$(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/build,build/)
|
|
$(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/subsys,subsys/)
|
|
$(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath,ath/)
|
|
$(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath5k,ath5k/)
|
|
$(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath9k,ath9k/)
|
|
$(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath10k,ath10k/)
|
|
$(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath11k,ath11k/)
|
|
$(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath12k,ath12k/)
|
|
$(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rt2x00,rt2x00/)
|
|
$(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mt7601u,mt7601u/)
|
|
$(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mwl,mwl/)
|
|
$(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/brcm,brcm/)
|
|
$(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rtl,rtl/)
|
|
$(if $(QUILT),touch $(PKG_BUILD_DIR)/.quilt_used)
|
|
endef
|
|
|
|
define Quilt/Refresh/Package
|
|
$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/build,build/)
|
|
$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/subsys,subsys/)
|
|
$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath,ath/)
|
|
$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath5k,ath5k/)
|
|
$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath9k,ath9k/)
|
|
$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath10k,ath10k/)
|
|
$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath11k,ath11k/)
|
|
$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath12k,ath12k/)
|
|
$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rt2x00,rt2x00/)
|
|
$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mt7601u,mt7601u/)
|
|
$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mwl,mwl/)
|
|
$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/brcm,brcm/)
|
|
$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rtl,rtl/)
|
|
endef
|
|
|
|
define Build/Compile
|
|
$(SH_FUNC) var2file "$(call shvar,mac80211_config)" $(PKG_BUILD_DIR)/.config
|
|
$(MAKE) $(MAKE_OPTS) allnoconfig
|
|
$(call Build/Compile/kmod)
|
|
endef
|
|
|
|
define Build/InstallDev
|
|
mkdir -p \
|
|
$(1)/usr/include/mac80211 \
|
|
$(1)/usr/include/mac80211-backport \
|
|
$(1)/usr/include/mac80211/ath \
|
|
$(1)/usr/include/net/mac80211
|
|
$(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
|
|
$(CP) $(PKG_BUILD_DIR)/backport-include/* $(1)/usr/include/mac80211-backport/
|
|
$(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
|
|
$(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
|
|
rm -f $(1)/usr/include/mac80211-backport/linux/module.h
|
|
endef
|
|
|
|
|
|
$(eval $(foreach drv,$(PKG_DRIVERS),$(call KernelPackage,$(drv))))
|
|
$(eval $(call KernelPackage,cfg80211))
|
|
$(eval $(call KernelPackage,mac80211))
|