prplos/package/kernel/mac80211/Makefile
Hauke Mehrtens 605bc03cd6 mac80211: update to version 6.12.96
This contains the following commits:
```
git log --oneline   v6.12.61...v6.12.96 -- drivers/net/wireless/ net/mac80211/ net/wireless/
2b100a6089ac wifi: iwlwifi: mvm: fix race condition in PTP removal
53fed4061a09 wifi: rtw88: usb: fix memory leaks on USB write failures
81e2d4508b35 wifi: rtw88: increase TX report timeout to fix race condition
9a6e57ffe49e wifi: rtlwifi: rtl8821ae: Fix C2H bit location in RX descriptor
7b2e62b9080b wifi: ath11k: fix warning when unbinding
fd92eb81c1b5 wifi: mt76: mt7925: don't disable AP BSS when removing TDLS peer
033b21aa6d03 wifi: mt76: mt76x2u: Add support for ELECOM WDC-867SU3S
b4faaa617af3 wifi: mt76: mt7921: fix potential deadlock in mt7921_roc_abort_sync
0f0c75a1f48d wifi: mt76: mt7921: fix a potential scan no APs
c006a9664a1a wifi: mt76: mt7921: avoid undesired changes of the preset regulatory domain
30c3fa80f423 wifi: nl80211: reject oversized EMA RNR lists
f6d3dc8e8492 wifi: mac80211: limit injected antenna index in ieee80211_parse_tx_radiotap
1f573e17bcb7 wifi: mac80211: fix MLE defragmentation
17c9e9504974 wifi: ath11k: fix peer resolution on rx path when peer_id=0
4c6a72aae687 wifi: ath10k: skip WMI and beacon transmission when device is wedged
03ac1d6780d0 wifi: ath11k: fix error path leak in ath11k_tm_cmd_wmi_ftm()
008955b13484 wifi: ath11k: fix error path leaks in some WMI WOW calls
f7d395dc5008 wifi: mac80211: consume only present negotiated TTLM maps
67915715fd38 wifi: cfg80211: advance loop vars in cfg80211_merge_profile()
5a999541a290 wifi: ath11k: clear shared SRNG pointer state on restart
a5bc748e071d net, treewide: define and use MAC_ADDR_STR_LEN
85e6c610f41a wifi: ath10k: fix station lookup failure during disconnect
9d10225af656 wifi: mac80211: handle VHT EXT NSS in ieee80211_determine_our_sta_mode()
2e0e5a43ed12 wifi: brcmfmac: Fix error pointer dereference
1eb4f8c2225b wifi: rtw89: phy: fix uninitialized variable access in rtw89_phy_cfo_set_crystal_cap()
64c481e33a55 wifi: mt76: mt7921: fix 6GHz regulatory update on connection
180182a3f23f wifi: mt76: mt7996: fix use-after-free bugs in mt7996_mac_dump_work()
e6856af8a22a wifi: mt76: mt7915: fix use-after-free bugs in mt7915_mac_dump_work()
5b421cf34e94 wifi: mt76: mt7996: fix struct mt7996_mcu_uni_event
6dbe70f9ef14 wifi: mt76: mt7921: Place upper limit on station AID
6b9f1e9106e0 wifi: mt76: mt7996: fix FCS error flag check in RX descriptor
6c52fbdc6f65 wifi: mt76: mt7925: prevent NULL vif dereference in mt7925_mac_write_txwi
28ed0b61f673 wifi: mt76: mt7925: prevent NULL pointer dereference in mt7925_tx_check_aggr()
96d4f399ef25 wifi: mt76: mt7915: fix use_cts_prot support
03a0e1f9d37f wifi: mt76: mt7615: fix use_cts_prot support
9b826148f64f wifi: mt76: mt7925: Fix incorrect MLO mode in firmware control
3ee410915d4f wifi: mt76: mt7921: Reset ampdu_state state in case of failure in mt76_connac2_tx_check_aggr()
7731b67bd59d wifi: rtlwifi: pci: fix possible use-after-free caused by unfinished irq_prepare_bcn_tasklet
11db57312f00 wifi: mwifiex: Fix memory leak in mwifiex_11n_aggregate_pkt()
113c0650ce7d wifi: mt76: mt7925: fix incorrect TLV length in CLC command
d16827cb1d39 wifi: brcmfmac: Fix potential use-after-free issue when stopping watchdog task
1e9e55cf66f0 wifi: b43: enforce bounds check on firmware key index in b43_rx()
afcbaed89cdc wifi: mac80211: remove station if connection prep fails
d6869537013b wifi: ath5k: do not access array OOB
887ece6c23b4 wifi: mac80211: use safe list iteration in radar detect work
16d9f674c619 wifi: rsi: fix kthread lifetime race between self-exit and external-stop
1739fc31b4de wifi: mac80211: drop stray 'static' from fast-RX rx_result
6ee946077607 wifi: b43legacy: enforce bounds check on firmware key index in RX path
5c7ba690205c wifi: mt76: mt7921: fix ROC abort flow interruption in mt7921_roc_work
90cc573fd2f4 wifi: mt76: mt7921: fix a potential clc buffer length underflow
8ee081ad05e9 wifi: mt76: mt7925: fix incorrect length field in txpower command
be7a1caf55ab wifi: mt76: mt7925: fix AMPDU state handling in mt7925_tx_check_aggr
63fe3389b3e0 wifi: mwifiex: fix use-after-free in mwifiex_adapter_cleanup()
c498b859184f wifi: mt76: mt792x: fix mt7925u USB WFSYS reset handling
674046ee3f4f wifi: mt76: mt792x: describe USB WFSYS reset with a descriptor
ea21a4006f96 wifi: rtl8xxxu: fix potential use of uninitialized value
6c53d68e3bcf wifi: rtw88: check for PCI upstream bridge existence
3b4d27acafae wifi: mac80211: always free skb on ieee80211_tx_prepare_skb() failure
a4f4371d194d wifi: rtw88: fix device leak on probe failure
9fca68c2512a wifi: brcmfmac: validate bsscfg indices in IF events
df15adc692a8 wifi: wl1251: validate packet IDs before indexing tx_frames
77263f053963 wifi: brcmsmac: Fix dma_free_coherent() size
b245db719bc7 wifi: rt2x00usb: fix devres lifetime
c5fa98842783 wifi: virt_wifi: remove SET_NETDEV_DEV to avoid use-after-free
e67d8c626ace wifi: iwlwifi: mvm: fix potential out-of-bounds read in iwl_mvm_nd_match_info_handler()
c97b2a000596 wifi: wilc1000: fix u8 overflow in SSID scan buffer size calculation
08020567bf5f wifi: ath11k: Pass the correct value of each TID during a stop AMPDU session
8148c2fda4eb wifi: mac80211: check tdls flag in ieee80211_tdls_oper
cfa64e2b3717 wifi: wlcore: Return -ENOMEM instead of -EAGAIN if there is not enough headroom
a90279e7f7ea wifi: mac80211: fix NULL deref in mesh_matches_local()
d32c07ef1880 wifi: cfg80211: cancel pmsr_free_wk in cfg80211_pmsr_wdev_down
29a1a350afcd wifi: mac80211: Fix static_branch_dec() underflow for aql_disable.
65c25b588994 mac80211: fix crash in ieee80211_chan_bw_change for AP_VLAN stations
d0155fe68f31 wifi: libertas: fix use-after-free in lbs_free_adapter()
662d9f6d25d0 wifi: mac80211: set default WMM parameters on all links
7b692dff8df0 wifi: mt76: Fix possible oob access in mt76_connac2_mac_write_txwi_80211()
3356464e50e1 wifi: mt76: mt7925: Fix possible oob access in mt7925_mac_write_txwi_80211()
ca1adc04fc2c wifi: mt76: mt7996: Fix possible oob access in mt7996_mac_write_txwi_80211()
5feeea59ed14 wifi: wlcore: Fix a locking bug
35e173d7b878 wifi: cw1200: Fix locking in error paths
b64fbd718cf4 wifi: rsi: Don't default to -EOPNOTSUPP in rsi_mac80211_config
f5d8af683410 wifi: mac80211: fix NULL pointer dereference in mesh_rx_csa_frame()
bfde158d5d13 wifi: mac80211: bounds-check link_id in ieee80211_ml_reconfiguration
57e39fe8da57 wifi: cfg80211: cancel rfkill_block work in wiphy_unregister()
2a60c588d5d3 wifi: radiotap: reject radiotap with unknown bits
df4308cb52dc net: intel: fix PCI device ID conflict between i40e and ipw2200
f204c1379a98 wifi: cfg80211: wext: fix IGTK key ID off-by-one
39c6ab2d2eea wifi: ath10k: fix lock protection in ath10k_wmi_event_peer_sta_ps_state_chg()
16ca0282e099 wifi: rtw89: pci: restore LDO setting after device resume
de3974edd057 wifi: iwlegacy: add missing mutex protection in il3945_store_measurement()
7d355d937dc3 wifi: iwlegacy: add missing mutex protection in il4965_store_tx_power()
b0ea9e2a5644 wifi: rtw89: 8922a: add digital compensation for 2GHz
0a56a63a3bb3 wifi: rtw89: fix unable to receive probe responses under MLO connection
a8347aa56749 wifi: iwlwifi: mvm: check the validity of noa_len
69b4bcaece65 wifi: cfg80211: allow only one NAN interface, also in multi radio
e2ee86fefe01 wifi: ath12k: fix preferred hardware mode calculation
4234f2d90f7b wifi: ath11k: Fix failure to connect to a 6 GHz AP
b71487cb692e wifi: ath11k: add pm quirk for Thinkpad Z13/Z16 Gen1
26c82ec5add2 wifi: rtw89: wow: add reason codes for disassociation in WoWLAN mode
faac634c2795 wifi: rtw89: mac: correct page number for CSI response
b82073564373 wifi: libertas: fix WARNING in usb_tx_block
b4d46b4fb240 wifi: rtw88: Fix inadvertent sharing of struct ieee80211_supported_band data
9b5418070ee8 wifi: rtw88: Use devm_kmemdup() in rtw_set_supported_band()
46216a48cd89 wifi: rtw89: ser: enable error IMR after recovering from L1
e31daf5fbcda wifi: rtw89: 8922a: set random mac if efuse contains zeroes
1c7ad1b82ec4 wifi: rtw88: rtw8821cu: Add ID for Mercusys MU6H
0d0c2fb80ca4 wifi: rtw88: 8822b: Avoid WARNING in rtw8822b_config_trx_mode()
400ca64e87ac wifi: rtw88: fix DTIM period handling when conf->dtim_period is zero
ef04714ef4ae wifi: ath10k: sdio: add missing lock protection in ath10k_sdio_fw_crashed_dump()
f6c4c7a5cf5b wifi: cfg80211: stop NAN and P2P in cfg80211_leave
33b2230edd86 wifi: cfg80211: Fix use_for flag update on BSS refresh
5d810ba377ed wifi: rtl8xxxu: fix slab-out-of-bounds in rtl8xxxu_sta_add
7d31dde1bd86 wifi: rtw88: Fix alignment fault in rtw_core_enable_beacon()
586c628c0bdd wifi: mac80211: don't increment crypto_tx_tailroom_needed_cnt twice
29443629fe74 wifi: mac80211: correctly check if CSA is active
30f1507376d6 wifi: cfg80211: Fix bitrate calculation overflow for HE rates
66a7153fd67c wifi: mac80211: collect station statistics earlier when disconnect
71de0b6e04bb wifi: wlcore: ensure skb headroom before skb_push
536447521b3b wifi: mac80211: ocb: skip rx_no_sta when interface is not joined
1d2178918efc wifi: ath11k: add srng->lock for ath11k_hal_srng_* in monitor mode
9f1a002f0171 wifi: ath11k: fix RCU stall while reaping monitor destination ring
99129d80a5d4 wifi: rsi: Fix memory corruption due to not set vif driver data size
99e6b136d69d wifi: mwifiex: Fix a loop in mwifiex_update_ampdu_rxwinsize()
24585a13c41e wifi: ath12k: fix dma_free_coherent() pointer
5d6fa4d2c979 wifi: ath10k: fix dma_free_coherent() pointer
d482e6593fd8 wifi: mac80211: don't perform DA check on S1G beacon
f94f95b81736 wifi: mac80211: restore non-chanctx injection behaviour
024f71a57d56 wifi: avoid kernel-infoleak from struct iw_point
7b240a8935d5 wifi: mac80211: Discard Beacon frames to non-broadcast address
d7d4c3884c99 wifi: mt76: mt7925: add handler to hif suspend/resume event
cce9746046c9 wifi: mt76: mt7925: fix CLC command timeout when suspend/resume
08c5a901fdf0 wifi: mt76: mt7925: fix the unfinished command of regd_notifier before suspend
d12d193fe1e4 wifi: mac80211: do not use old MBSSID elements
0c67efb56d04 wifi: cfg80211: sme: store capped length in __cfg80211_connect_result()
9765d6eb8298 wifi: rtlwifi: 8192cu: fix tid out of range in rtl92cu_tx_fill_desc()
1f8ae2e99a9d wifi: rtw88: limit indirect IO under powered off for RTL8822CS
e768e889561e wifi: mt76: Fix DTS power-limits on little endian systems
5dadd27e80c4 wifi: brcmfmac: Add DMI nvram filename quirk for Acer A1 840 tablet
f423753269a0 wifi: mt76: mt792x: fix wifi init fail by setting MCU_RUNNING after CLC load
1ec6f2e3d5e4 wifi: cfg80211: use cfg80211_leave() in iftype change
ca6bf76ae4dc wifi: cfg80211: stop radar detection in cfg80211_leave()
f4001ba4a8ca wifi: rtl8xxxu: Fix HT40 channel config for RTL8192CU, RTL8723AU
278bfed4529a mt76: mt7615: Fix memory leak in mt7615_mcu_wtbl_sta_add()
4758770a673c wifi: rtl818x: rtl8187: Fix potential buffer underflow in rtl8187_rx_cb()
199aea40b868 wifi: mac80211: fix CMAC functions not handling errors
ee7db11742b3 wifi: rtl818x: Fix potential memory leaks in rtl8180_init_rx_ring()
199c3a2725ad wifi: cw1200: Fix potential memory leak in cw1200_bh_rx_helper()
4351b8664583 wifi: ath12k: fix potential memory leak in ath12k_wow_arp_ns_offload()
097c870b9181 wifi: ath11k: fix peer HE MCS assignment
7ee69f359071 wifi: ath11k: fix VHT MCS assignment
735e232cd9cc wifi: ath11k: restore register window after global reset
6d9ff97af015 wifi: ath10k: move recovery check logic into a new work
78d6455b04bc wifi: ath10k: Add missing include of export.h
5b9c7e103728 wifi: ath10k: Avoid vdev delete timeout when firmware is already down
ff100f869c2e wifi: rtw88: Add USB ID 2001:3329 for D-Link AC13U rev. A1
2f6ea894eba4 wifi: rtl8xxxu: Add USB ID 2001:3328 for D-Link AN3U rev. A1
```

Link: https://github.com/openwrt/openwrt/pull/24304
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 6cfbe534c25de14e934bb66b669206869053b64b)
2026-08-18 11:40:42 +01:00

399 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.12.96
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:=816882e80cd6eb7f10d2851f634ca7964eb47a62f64eff4bf6f92ffdf8593650
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 += \
$(patsubst %,CONFIG_PACKAGE_kmod-%,$(PKG_DRIVERS))
define KernelPackage/cfg80211
$(call KernelPackage/mac80211/Default)
TITLE:=cfg80211 - wireless configuration API
DEPENDS+= +iw +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
cmp $(PKG_BUILD_DIR)/include/linux/rt2x00_platform.h $(LINUX_DIR)/include/linux/rt2x00_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))