aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/build
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/build')
-rw-r--r--package/kernel/mac80211/patches/build/003-remove_bogus_modparams.patch2
-rw-r--r--package/kernel/mac80211/patches/build/004-fix-kconf-compiling.patch47
-rw-r--r--package/kernel/mac80211/patches/build/004-kconfig_backport_fix.patch28
-rw-r--r--package/kernel/mac80211/patches/build/010-disable_rfkill.patch15
-rw-r--r--package/kernel/mac80211/patches/build/015-ipw200-mtu.patch34
-rw-r--r--package/kernel/mac80211/patches/build/050-lib80211_option.patch34
-rw-r--r--package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch45
-rw-r--r--package/kernel/mac80211/patches/build/070-remove-broken-wext-select.patch10
-rw-r--r--package/kernel/mac80211/patches/build/080-resv_start_op.patch24
-rw-r--r--package/kernel/mac80211/patches/build/090-bcma-otp.patch13
-rw-r--r--package/kernel/mac80211/patches/build/100-backports-drop-QRTR-and-MHI.patch76
-rw-r--r--package/kernel/mac80211/patches/build/110-backport_namepace_const.patch14
-rw-r--r--package/kernel/mac80211/patches/build/120-headers_version_fix.patch25
-rw-r--r--package/kernel/mac80211/patches/build/130-iommu_backport.patch26
-rw-r--r--package/kernel/mac80211/patches/build/200-Revert-wifi-iwlwifi-Use-generic-thermal_zone_get_tri.patch159
-rw-r--r--package/kernel/mac80211/patches/build/210-revert-split-op.patch22
-rw-r--r--package/kernel/mac80211/patches/build/220-list-don-t-backport-list_count_nodes.patch26
17 files changed, 455 insertions, 145 deletions
diff --git a/package/kernel/mac80211/patches/build/003-remove_bogus_modparams.patch b/package/kernel/mac80211/patches/build/003-remove_bogus_modparams.patch
index 8fa465a7e1c..aa26c8cb2ab 100644
--- a/package/kernel/mac80211/patches/build/003-remove_bogus_modparams.patch
+++ b/package/kernel/mac80211/patches/build/003-remove_bogus_modparams.patch
@@ -1,6 +1,6 @@
--- a/compat/main.c
+++ b/compat/main.c
-@@ -20,31 +20,6 @@ MODULE_LICENSE("GPL");
+@@ -19,31 +19,6 @@ MODULE_LICENSE("GPL");
#error "You need a CPTCFG_VERSION"
#endif
diff --git a/package/kernel/mac80211/patches/build/004-fix-kconf-compiling.patch b/package/kernel/mac80211/patches/build/004-fix-kconf-compiling.patch
new file mode 100644
index 00000000000..8bae8367f76
--- /dev/null
+++ b/package/kernel/mac80211/patches/build/004-fix-kconf-compiling.patch
@@ -0,0 +1,47 @@
+--- a/Makefile.real
++++ b/Makefile.real
+@@ -6,6 +6,18 @@ else
+ export BACKPORTS_GIT_TRACKER_DEF=
+ endif
+
++ifneq ($(LLVM),)
++ifneq ($(filter %/,$(LLVM)),)
++LLVM_PREFIX := $(LLVM)
++else ifneq ($(filter -%,$(LLVM)),)
++LLVM_SUFFIX := $(LLVM)
++endif
++
++HOSTCC = $(LLVM_PREFIX)clang$(LLVM_SUFFIX)
++else
++HOSTCC = gcc
++endif
++
+ # disable built-in rules for this file
+ .SUFFIXES:
+
+@@ -24,21 +36,21 @@ listnewconfig oldaskconfig oldconfig \
+ silentoldconfig olddefconfig oldnoconfig \
+ allnoconfig allyesconfig allmodconfig \
+ alldefconfig randconfig:
+- @$(MAKE) -C kconf conf
++ @$(MAKE) -C kconf CC=$(HOSTCC) conf
+ @./kconf/conf --$@ Kconfig
+
+ .PHONY: usedefconfig
+ usedefconfig:
+- @$(MAKE) -C kconf conf
++ @$(MAKE) -C kconf CC=$(HOSTCC) conf
+ @./kconf/conf --defconfig=defconfig Kconfig
+
+ .PHONY: savedefconfig
+ savedefconfig:
+- @$(MAKE) -C kconf conf
++ @$(MAKE) -C kconf CC=$(HOSTCC) conf
+ @./kconf/conf --savedefconfig=defconfig Kconfig
+
+ defconfig-%::
+- @$(MAKE) -C kconf conf
++ @$(MAKE) -C kconf CC=$(HOSTCC) conf
+ @./kconf/conf --defconfig=defconfigs/$(@:defconfig-%=%) Kconfig
+
+ .config:
diff --git a/package/kernel/mac80211/patches/build/004-kconfig_backport_fix.patch b/package/kernel/mac80211/patches/build/004-kconfig_backport_fix.patch
deleted file mode 100644
index 2c9572ec93e..00000000000
--- a/package/kernel/mac80211/patches/build/004-kconfig_backport_fix.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/backport-include/linux/kconfig.h
-+++ b/backport-include/linux/kconfig.h
-@@ -5,6 +5,8 @@
- #include_next <linux/kconfig.h>
- #endif
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0)
-+
- #ifndef __ARG_PLACEHOLDER_1
- #define __ARG_PLACEHOLDER_1 0,
- #define config_enabled(cfg) _config_enabled(cfg)
-@@ -16,6 +18,7 @@
- * 3.1 - 3.3 had a broken version of this, so undef
- * (they didn't have __ARG_PLACEHOLDER_1)
- */
-+
- #undef IS_ENABLED
- #define IS_ENABLED(option) \
- (config_enabled(option) || config_enabled(option##_MODULE))
-@@ -31,6 +34,8 @@
- #undef IS_BUILTIN
- #define IS_BUILTIN(option) config_enabled(option)
-
-+#endif
-+
- #ifndef IS_REACHABLE
- /*
- * IS_REACHABLE(CONFIG_FOO) evaluates to 1 if the currently compiled
diff --git a/package/kernel/mac80211/patches/build/010-disable_rfkill.patch b/package/kernel/mac80211/patches/build/010-disable_rfkill.patch
deleted file mode 100644
index d5253063ce9..00000000000
--- a/package/kernel/mac80211/patches/build/010-disable_rfkill.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/backport-include/linux/rfkill.h
-+++ b/backport-include/linux/rfkill.h
-@@ -2,6 +2,12 @@
- #define __COMPAT_RFKILL_H
- #include <linux/version.h>
-
-+#undef CONFIG_RFKILL
-+#undef CONFIG_RFKILL_FULL
-+#undef CONFIG_RFKILL_LEDS
-+#undef CONFIG_RFKILL_MODULE
-+#undef CONFIG_RFKILL_FULL_MODULE
-+
- #if LINUX_VERSION_IS_GEQ(3,10,0)
- #include_next <linux/rfkill.h>
- #else
diff --git a/package/kernel/mac80211/patches/build/015-ipw200-mtu.patch b/package/kernel/mac80211/patches/build/015-ipw200-mtu.patch
deleted file mode 100644
index 68db4f72d37..00000000000
--- a/package/kernel/mac80211/patches/build/015-ipw200-mtu.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- a/drivers/net/wireless/intel/ipw2x00/ipw2200.c
-+++ b/drivers/net/wireless/intel/ipw2x00/ipw2200.c
-@@ -11470,6 +11470,15 @@ static const struct attribute_group ipw_
- .attrs = ipw_sysfs_entries,
- };
-
-+#if LINUX_VERSION_IS_LESS(4,10,0)
-+static int __change_mtu(struct net_device *ndev, int new_mtu){
-+ if (new_mtu < 68 || new_mtu > LIBIPW_DATA_LEN)
-+ return -EINVAL;
-+ ndev->mtu = new_mtu;
-+ return 0;
-+}
-+#endif
-+
- #ifdef CPTCFG_IPW2200_PROMISCUOUS
- static int ipw_prom_open(struct net_device *dev)
- {
-@@ -11518,15 +11527,6 @@ static netdev_tx_t ipw_prom_hard_start_x
- return NETDEV_TX_OK;
- }
-
--#if LINUX_VERSION_IS_LESS(4,10,0)
--static int __change_mtu(struct net_device *ndev, int new_mtu){
-- if (new_mtu < 68 || new_mtu > LIBIPW_DATA_LEN)
-- return -EINVAL;
-- ndev->mtu = new_mtu;
-- return 0;
--}
--#endif
--
- static const struct net_device_ops ipw_prom_netdev_ops = {
- #if LINUX_VERSION_IS_LESS(4,10,0)
- .ndo_change_mtu = __change_mtu,
diff --git a/package/kernel/mac80211/patches/build/050-lib80211_option.patch b/package/kernel/mac80211/patches/build/050-lib80211_option.patch
deleted file mode 100644
index c1b1bc757f2..00000000000
--- a/package/kernel/mac80211/patches/build/050-lib80211_option.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- a/net/wireless/Kconfig
-+++ b/net/wireless/Kconfig
-@@ -188,7 +188,7 @@ config CFG80211_WEXT_EXPORT
- endif # CFG80211
-
- config LIB80211
-- tristate
-+ tristate "lib80211"
- depends on m
- default n
- help
-@@ -198,19 +198,19 @@ config LIB80211
- Drivers should select this themselves if needed.
-
- config LIB80211_CRYPT_WEP
-- tristate
-+ tristate "lib80211 WEP support"
- depends on m
- select BPAUTO_CRYPTO_LIB_ARC4
-
- config LIB80211_CRYPT_CCMP
-- tristate
-+ tristate "lib80211 CCMP support"
- depends on m
- depends on CRYPTO
- depends on CRYPTO_AES
- depends on CRYPTO_CCM
-
- config LIB80211_CRYPT_TKIP
-- tristate
-+ tristate "lib80211 TKIP support"
- depends on m
- select BPAUTO_CRYPTO_LIB_ARC4
-
diff --git a/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch b/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch
index ff2ce2071f5..451d0b79fcc 100644
--- a/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch
+++ b/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch
@@ -1,9 +1,9 @@
--- a/local-symbols
+++ b/local-symbols
-@@ -437,43 +437,6 @@ USB_SIERRA_NET=
- USB_VL600=
+@@ -491,43 +491,6 @@ USB_VL600=
USB_NET_CH9200=
USB_NET_AQC111=
+ USB_RTL8153_ECM=
-SSB_POSSIBLE=
-SSB=
-SSB_SPROM=
@@ -99,7 +99,7 @@
return (bus->chipco.dev ? bus->chipco.dev : bus->pcicore.dev);
#else
return bus->chipco.dev;
-@@ -4870,7 +4870,7 @@ static int b43_wireless_core_init(struct
+@@ -4871,7 +4871,7 @@ static int b43_wireless_core_init(struct
}
if (sprom->boardflags_lo & B43_BFL_XTAL_NOSLOW)
hf |= B43_HF_DSCRQ; /* Disable slowclock requests from ucode. */
@@ -158,27 +158,6 @@
pcidev = bus->pcicore.dev;
#endif
gpiodev = bus->chipco.dev ? : pcidev;
---- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.h
-+++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.h
-@@ -24,7 +24,7 @@ struct brcms_led {
- struct gpio_desc *gpiod;
- };
-
--#ifdef CPTCFG_BCMA_DRIVER_GPIO
-+#ifdef CONFIG_BCMA_DRIVER_GPIO
- void brcms_led_unregister(struct brcms_info *wl);
- int brcms_led_register(struct brcms_info *wl);
- #else
---- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/Makefile
-+++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/Makefile
-@@ -42,6 +42,6 @@ brcmsmac-y := \
- brcms_trace_events.o \
- debug.o
-
--brcmsmac-$(CPTCFG_BCMA_DRIVER_GPIO) += led.o
-+brcmsmac-$(CONFIG_BCMA_DRIVER_GPIO) += led.o
-
- obj-$(CPTCFG_BRCMSMAC) += brcmsmac.o
--- a/drivers/net/wireless/broadcom/brcm80211/Kconfig
+++ b/drivers/net/wireless/broadcom/brcm80211/Kconfig
@@ -8,7 +8,7 @@ config BRCMSMAC
@@ -187,15 +166,15 @@
depends on BCMA_POSSIBLE
- select BCMA
+ depends on BCMA
- select NEW_LEDS if BCMA_DRIVER_GPIO
- select LEDS_CLASS if BCMA_DRIVER_GPIO
select BRCMUTIL
+ depends on FW_LOADER
+ depends on CORDIC
--- a/Kconfig.local
+++ b/Kconfig.local
-@@ -1315,117 +1315,6 @@ config BACKPORTED_USB_NET_CH9200
- config BACKPORTED_USB_NET_AQC111
+@@ -1477,117 +1477,6 @@ config BACKPORTED_USB_NET_AQC111
+ config BACKPORTED_USB_RTL8153_ECM
tristate
- default USB_NET_AQC111
+ default USB_RTL8153_ECM
-config BACKPORTED_SSB_POSSIBLE
- tristate
- default SSB_POSSIBLE
@@ -312,7 +291,7 @@
default USB_ACM
--- a/Kconfig.sources
+++ b/Kconfig.sources
-@@ -7,9 +7,6 @@ source "$BACKPORT_DIR/net/mac80211/Kconf
+@@ -10,9 +10,6 @@ source "$BACKPORT_DIR/drivers/soc/qcom/K
source "$BACKPORT_DIR/drivers/net/wireless/Kconfig"
source "$BACKPORT_DIR/drivers/net/usb/Kconfig"
@@ -324,9 +303,9 @@
source "$BACKPORT_DIR/drivers/staging/Kconfig"
--- a/Makefile.kernel
+++ b/Makefile.kernel
-@@ -40,8 +40,6 @@ obj-y += compat/
- obj-$(CPTCFG_CFG80211) += net/wireless/
- obj-$(CPTCFG_MAC80211) += net/mac80211/
+@@ -43,8 +43,6 @@ obj-$(CPTCFG_QRTR) += net/qrtr/
+ obj-$(CPTCFG_QCOM_QMI_HELPERS) += drivers/soc/qcom/
+ obj-$(CPTCFG_MHI_BUS) += drivers/bus/mhi/
obj-$(CPTCFG_WLAN) += drivers/net/wireless/
-obj-$(CPTCFG_SSB) += drivers/ssb/
-obj-$(CPTCFG_BCMA) += drivers/bcma/
diff --git a/package/kernel/mac80211/patches/build/070-remove-broken-wext-select.patch b/package/kernel/mac80211/patches/build/070-remove-broken-wext-select.patch
new file mode 100644
index 00000000000..121b7faad93
--- /dev/null
+++ b/package/kernel/mac80211/patches/build/070-remove-broken-wext-select.patch
@@ -0,0 +1,10 @@
+--- a/drivers/staging/rtl8723bs/Kconfig
++++ b/drivers/staging/rtl8723bs/Kconfig
+@@ -5,7 +5,6 @@ config RTL8723BS
+ depends on m
+ depends on WLAN && MMC && CFG80211
+ depends on m
+- select CFG80211_WEXT
+ depends on CRYPTO
+ select BPAUTO_CRYPTO_LIB_ARC4
+ help
diff --git a/package/kernel/mac80211/patches/build/080-resv_start_op.patch b/package/kernel/mac80211/patches/build/080-resv_start_op.patch
new file mode 100644
index 00000000000..802a0e3fc8a
--- /dev/null
+++ b/package/kernel/mac80211/patches/build/080-resv_start_op.patch
@@ -0,0 +1,24 @@
+--- a/drivers/net/wireless/virtual/mac80211_hwsim.c
++++ b/drivers/net/wireless/virtual/mac80211_hwsim.c
+@@ -6179,7 +6179,9 @@ static struct genl_family hwsim_genl_fam
+ .module = THIS_MODULE,
+ .small_ops = hwsim_ops,
+ .n_small_ops = ARRAY_SIZE(hwsim_ops),
++#if LINUX_VERSION_IS_GEQ(6,1,0)
+ .resv_start_op = HWSIM_CMD_REPORT_PMSR + 1, // match with __HWSIM_CMD_MAX
++#endif
+ .mcgrps = hwsim_mcgrps,
+ .n_mcgrps = ARRAY_SIZE(hwsim_mcgrps),
+ };
+--- a/net/wireless/nl80211.c
++++ b/net/wireless/nl80211.c
+@@ -17509,7 +17509,9 @@ static struct genl_family nl80211_fam __
+ .n_ops = ARRAY_SIZE(nl80211_ops),
+ .small_ops = nl80211_small_ops,
+ .n_small_ops = ARRAY_SIZE(nl80211_small_ops),
++#if LINUX_VERSION_IS_GEQ(6,1,0)
+ .resv_start_op = NL80211_CMD_REMOVE_LINK_STA + 1,
++#endif
+ .mcgrps = nl80211_mcgrps,
+ .n_mcgrps = ARRAY_SIZE(nl80211_mcgrps),
+ .parallel_ops = true,
diff --git a/package/kernel/mac80211/patches/build/090-bcma-otp.patch b/package/kernel/mac80211/patches/build/090-bcma-otp.patch
new file mode 100644
index 00000000000..39747761246
--- /dev/null
+++ b/package/kernel/mac80211/patches/build/090-bcma-otp.patch
@@ -0,0 +1,13 @@
+--- /dev/null
++++ b/backport-include/linux/bcma/bcma_driver_chipcommon.h
+@@ -0,0 +1,10 @@
++#ifndef __BACKPORT_BCMA_DRIVER_CHIPCOMMON_H
++#define __BACKPORT_BCMA_DRIVER_CHIPCOMMON_H
++
++#include_next <linux/bcma/bcma_driver_chipcommon.h>
++
++#ifndef BCMA_CC_SROM_CONTROL_OTP_PRESENT
++#define BCMA_CC_SROM_CONTROL_OTP_PRESENT 0x00000020
++#endif
++
++#endif
diff --git a/package/kernel/mac80211/patches/build/100-backports-drop-QRTR-and-MHI.patch b/package/kernel/mac80211/patches/build/100-backports-drop-QRTR-and-MHI.patch
new file mode 100644
index 00000000000..b017a0ce146
--- /dev/null
+++ b/package/kernel/mac80211/patches/build/100-backports-drop-QRTR-and-MHI.patch
@@ -0,0 +1,76 @@
+From 54e0f9aaf340377fb76acdffee9ec7372c4b70ae Mon Sep 17 00:00:00 2001
+From: Robert Marko <robimarko@gmail.com>
+Date: Mon, 17 Oct 2022 11:35:36 +0200
+Subject: [PATCH] backports: drop QRTR and MHI
+
+Backports currently include QRTR and MHI due to ath11k-pci requiring them,
+however this at the same time prevents us from adding ath11k-ahb as it
+also requires QRTR however its AHB variant from the kernel will conflict
+with the core provided by backports.
+
+Since MHI also conflicts with existing OpenWrt kmods providing MHI drop
+both from backports and use the ones provided by OpenWrt kernel.
+
+Signed-off-by: Robert Marko <robimarko@gmail.com>
+---
+ Kconfig.sources | 2 --
+ Makefile.kernel | 2 --
+ drivers/net/wireless/ath/ath11k/Kconfig | 6 +++---
+ local-symbols | 8 --------
+ 4 files changed, 3 insertions(+), 15 deletions(-)
+
+--- a/Kconfig.sources
++++ b/Kconfig.sources
+@@ -4,8 +4,6 @@ source "$BACKPORT_DIR/compat/Kconfig"
+ # these are copied from the kernel
+ source "$BACKPORT_DIR/net/wireless/Kconfig"
+ source "$BACKPORT_DIR/net/mac80211/Kconfig"
+-source "$BACKPORT_DIR/net/qrtr/Kconfig"
+-source "$BACKPORT_DIR/drivers/bus/mhi/Kconfig"
+ source "$BACKPORT_DIR/drivers/soc/qcom/Kconfig"
+ source "$BACKPORT_DIR/drivers/net/wireless/Kconfig"
+ source "$BACKPORT_DIR/drivers/net/usb/Kconfig"
+--- a/Makefile.kernel
++++ b/Makefile.kernel
+@@ -39,9 +39,7 @@ obj-y += compat/
+
+ obj-$(CPTCFG_CFG80211) += net/wireless/
+ obj-$(CPTCFG_MAC80211) += net/mac80211/
+-obj-$(CPTCFG_QRTR) += net/qrtr/
+ obj-$(CPTCFG_QCOM_QMI_HELPERS) += drivers/soc/qcom/
+-obj-$(CPTCFG_MHI_BUS) += drivers/bus/mhi/
+ obj-$(CPTCFG_WLAN) += drivers/net/wireless/
+ obj-$(CPTCFG_USB_NET_RNDIS_WLAN) += drivers/net/usb/
+
+--- a/drivers/net/wireless/ath/ath11k/Kconfig
++++ b/drivers/net/wireless/ath/ath11k/Kconfig
+@@ -25,9 +25,9 @@ config ATH11K_PCI
+ tristate "Atheros ath11k PCI support"
+ depends on m
+ depends on ATH11K && PCI
+- select MHI_BUS
+- select QRTR
+- select QRTR_MHI
++ depends on MHI_BUS
++ depends on QRTR
++ depends on QRTR_MHI
+ help
+ This module adds support for PCIE bus
+
+--- a/local-symbols
++++ b/local-symbols
+@@ -65,14 +65,6 @@ MAC80211_MESH_PS_DEBUG=
+ MAC80211_TDLS_DEBUG=
+ MAC80211_DEBUG_COUNTERS=
+ MAC80211_STA_HASH_MAX_SIZE=
+-QRTR=
+-QRTR_SMD=
+-QRTR_TUN=
+-QRTR_MHI=
+-MHI_BUS=
+-MHI_BUS_DEBUG=
+-MHI_BUS_PCI_GENERIC=
+-MHI_BUS_EP=
+ QCOM_AOSS_QMP=
+ QCOM_COMMAND_DB=
+ QCOM_CPR=
diff --git a/package/kernel/mac80211/patches/build/110-backport_namepace_const.patch b/package/kernel/mac80211/patches/build/110-backport_namepace_const.patch
new file mode 100644
index 00000000000..6dca708edf7
--- /dev/null
+++ b/package/kernel/mac80211/patches/build/110-backport_namepace_const.patch
@@ -0,0 +1,14 @@
+--- a/net/wireless/sysfs.c
++++ b/net/wireless/sysfs.c
+@@ -154,7 +154,11 @@ static SIMPLE_DEV_PM_OPS(wiphy_pm_ops, w
+ #define WIPHY_PM_OPS NULL
+ #endif
+
++#if LINUX_VERSION_IS_GEQ(6,2,0)
+ static const void *wiphy_namespace(const struct device *d)
++#else
++static const void *wiphy_namespace(struct device *d)
++#endif
+ {
+ struct wiphy *wiphy = container_of(d, struct wiphy, dev);
+
diff --git a/package/kernel/mac80211/patches/build/120-headers_version_fix.patch b/package/kernel/mac80211/patches/build/120-headers_version_fix.patch
new file mode 100644
index 00000000000..9a8c4749b2f
--- /dev/null
+++ b/package/kernel/mac80211/patches/build/120-headers_version_fix.patch
@@ -0,0 +1,25 @@
+--- a/backport-include/linux/random.h
++++ b/backport-include/linux/random.h
+@@ -23,7 +23,7 @@ static inline u16 get_random_u16(void)
+ }
+ #endif
+
+-#if LINUX_VERSION_IS_LESS(6,2,0)
++#if LINUX_VERSION_IS_LESS(6,1,4)
+ static inline u32 __get_random_u32_below(u32 ceil)
+ {
+ /*
+--- a/backport-include/net/dropreason.h
++++ b/backport-include/net/dropreason.h
+@@ -3,10 +3,9 @@
+
+ #include <linux/version.h>
+
++#include <net/dropreason-core.h>
+ #if LINUX_VERSION_IS_GEQ(6,0,0)
+ #include_next <net/dropreason.h>
+-#else
+-#include <net/dropreason-core.h>
+ #endif
+
+ #if LINUX_VERSION_IS_LESS(6,4,0)
diff --git a/package/kernel/mac80211/patches/build/130-iommu_backport.patch b/package/kernel/mac80211/patches/build/130-iommu_backport.patch
new file mode 100644
index 00000000000..2d3ef88d645
--- /dev/null
+++ b/package/kernel/mac80211/patches/build/130-iommu_backport.patch
@@ -0,0 +1,26 @@
+--- /dev/null
++++ b/backport-include/linux/iommu.h
+@@ -0,0 +1,23 @@
++#ifndef __BACKPORT_LINUX_IOMMU_H
++#define __BACKPORT_LINUX_IOMMU_H
++
++#include_next <linux/iommu.h>
++#include <linux/version.h>
++
++#if LINUX_VERSION_IS_LESS(6,3,0)
++
++static inline int LINUX_BACKPORT(iommu_map)(struct iommu_domain *domain,
++ unsigned long iova,
++ phys_addr_t paddr, size_t size,
++ int prot, gfp_t gfp)
++{
++ if (gfp == GFP_ATOMIC)
++ return iommu_map_atomic(domain, iova, paddr, size, prot);
++
++ return iommu_map(domain, iova, paddr, size, prot);
++}
++#define iommu_map LINUX_BACKPORT(iommu_map)
++
++#endif /* < 6.3 */
++
++#endif
diff --git a/package/kernel/mac80211/patches/build/200-Revert-wifi-iwlwifi-Use-generic-thermal_zone_get_tri.patch b/package/kernel/mac80211/patches/build/200-Revert-wifi-iwlwifi-Use-generic-thermal_zone_get_tri.patch
new file mode 100644
index 00000000000..3a5285d2f35
--- /dev/null
+++ b/package/kernel/mac80211/patches/build/200-Revert-wifi-iwlwifi-Use-generic-thermal_zone_get_tri.patch
@@ -0,0 +1,159 @@
+From: Felix Fietkau <nbd@nbd.name>
+Date: Mon, 17 Apr 2023 19:42:38 +0200
+Subject: [PATCH] Revert "wifi: iwlwifi: Use generic thermal_zone_get_trip()
+ function"
+
+This reverts commit 3d2f20ad46f83b333025f5e8e4afc34be8f13c4c.
+---
+
+--- a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
++++ b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
+@@ -531,7 +531,7 @@ struct iwl_mvm_tt_mgmt {
+ * @tzone: thermal zone device data
+ */
+ struct iwl_mvm_thermal_device {
+- struct thermal_trip trips[IWL_MAX_DTS_TRIPS];
++ s16 temp_trips[IWL_MAX_DTS_TRIPS];
+ u8 fw_trips_index[IWL_MAX_DTS_TRIPS];
+ struct thermal_zone_device *tzone;
+ };
+--- a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
++++ b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
+@@ -573,11 +573,11 @@ int iwl_mvm_send_temp_report_ths_cmd(str
+ * and uncompressed, the FW should get it compressed and sorted
+ */
+
+- /* compress trips to cmd array, remove uninitialized values*/
++ /* compress temp_trips to cmd array, remove uninitialized values*/
+ for (i = 0; i < IWL_MAX_DTS_TRIPS; i++) {
+- if (mvm->tz_device.trips[i].temperature != INT_MIN) {
++ if (mvm->tz_device.temp_trips[i] != S16_MIN) {
+ cmd.thresholds[idx++] =
+- cpu_to_le16((s16)(mvm->tz_device.trips[i].temperature / 1000));
++ cpu_to_le16(mvm->tz_device.temp_trips[i]);
+ }
+ }
+ cmd.num_temps = cpu_to_le32(idx);
+@@ -593,8 +593,8 @@ int iwl_mvm_send_temp_report_ths_cmd(str
+ */
+ for (i = 0; i < idx; i++) {
+ for (j = 0; j < IWL_MAX_DTS_TRIPS; j++) {
+- if ((int)(le16_to_cpu(cmd.thresholds[i]) * 1000) ==
+- mvm->tz_device.trips[j].temperature)
++ if (le16_to_cpu(cmd.thresholds[i]) ==
++ mvm->tz_device.temp_trips[j])
+ mvm->tz_device.fw_trips_index[i] = j;
+ }
+ }
+@@ -638,12 +638,37 @@ out:
+ return ret;
+ }
+
++static int iwl_mvm_tzone_get_trip_temp(struct thermal_zone_device *device,
++ int trip, int *temp)
++{
++ struct iwl_mvm *mvm = (struct iwl_mvm *)device->devdata;
++
++ if (trip < 0 || trip >= IWL_MAX_DTS_TRIPS)
++ return -EINVAL;
++
++ *temp = mvm->tz_device.temp_trips[trip] * 1000;
++
++ return 0;
++}
++
++static int iwl_mvm_tzone_get_trip_type(struct thermal_zone_device *device,
++ int trip, enum thermal_trip_type *type)
++{
++ if (trip < 0 || trip >= IWL_MAX_DTS_TRIPS)
++ return -EINVAL;
++
++ *type = THERMAL_TRIP_PASSIVE;
++
++ return 0;
++}
++
+ static int iwl_mvm_tzone_set_trip_temp(struct thermal_zone_device *device,
+ int trip, int temp)
+ {
+ struct iwl_mvm *mvm = thermal_zone_device_priv(device);
+ struct iwl_mvm_thermal_device *tzone;
+- int ret;
++ int i, ret;
++ s16 temperature;
+
+ mutex_lock(&mvm->mutex);
+
+@@ -653,17 +678,40 @@ static int iwl_mvm_tzone_set_trip_temp(s
+ goto out;
+ }
+
++ if (trip < 0 || trip >= IWL_MAX_DTS_TRIPS) {
++ ret = -EINVAL;
++ goto out;
++ }
++
+ if ((temp / 1000) > S16_MAX) {
+ ret = -EINVAL;
+ goto out;
+ }
+
++ temperature = (s16)(temp / 1000);
+ tzone = &mvm->tz_device;
++
+ if (!tzone) {
+ ret = -EIO;
+ goto out;
+ }
+
++ /* no updates*/
++ if (tzone->temp_trips[trip] == temperature) {
++ ret = 0;
++ goto out;
++ }
++
++ /* already existing temperature */
++ for (i = 0; i < IWL_MAX_DTS_TRIPS; i++) {
++ if (tzone->temp_trips[i] == temperature) {
++ ret = -EINVAL;
++ goto out;
++ }
++ }
++
++ tzone->temp_trips[trip] = temperature;
++
+ ret = iwl_mvm_send_temp_report_ths_cmd(mvm);
+ out:
+ mutex_unlock(&mvm->mutex);
+@@ -672,6 +720,8 @@ out:
+
+ static struct thermal_zone_device_ops tzone_ops = {
+ .get_temp = iwl_mvm_tzone_get_temp,
++ .get_trip_temp = iwl_mvm_tzone_get_trip_temp,
++ .get_trip_type = iwl_mvm_tzone_get_trip_type,
+ .set_trip_temp = iwl_mvm_tzone_set_trip_temp,
+ };
+
+@@ -693,8 +743,7 @@ static void iwl_mvm_thermal_zone_registe
+ BUILD_BUG_ON(ARRAY_SIZE(name) >= THERMAL_NAME_LENGTH);
+
+ sprintf(name, "iwlwifi_%u", atomic_inc_return(&counter) & 0xFF);
+- mvm->tz_device.tzone = thermal_zone_device_register_with_trips(name,
+- mvm->tz_device.trips,
++ mvm->tz_device.tzone = thermal_zone_device_register(name,
+ IWL_MAX_DTS_TRIPS,
+ IWL_WRITABLE_TRIPS_MSK,
+ mvm, &tzone_ops,
+@@ -717,10 +766,8 @@ static void iwl_mvm_thermal_zone_registe
+ /* 0 is a valid temperature,
+ * so initialize the array with S16_MIN which invalid temperature
+ */
+- for (i = 0 ; i < IWL_MAX_DTS_TRIPS; i++) {
+- mvm->tz_device.trips[i].temperature = INT_MIN;
+- mvm->tz_device.trips[i].type = THERMAL_TRIP_PASSIVE;
+- }
++ for (i = 0 ; i < IWL_MAX_DTS_TRIPS; i++)
++ mvm->tz_device.temp_trips[i] = S16_MIN;
+ }
+
+ static int iwl_mvm_tcool_get_max_state(struct thermal_cooling_device *cdev,
diff --git a/package/kernel/mac80211/patches/build/210-revert-split-op.patch b/package/kernel/mac80211/patches/build/210-revert-split-op.patch
new file mode 100644
index 00000000000..a1fae5e07da
--- /dev/null
+++ b/package/kernel/mac80211/patches/build/210-revert-split-op.patch
@@ -0,0 +1,22 @@
+--- a/net/wireless/nl80211.c
++++ b/net/wireless/nl80211.c
+@@ -16400,8 +16400,7 @@ static u32 nl80211_internal_flags[] = {
+ #undef SELECTOR
+ };
+
+-static int nl80211_pre_doit(const struct genl_split_ops *ops,
+- struct sk_buff *skb,
++static int nl80211_pre_doit(const struct genl_ops *ops, struct sk_buff *skb,
+ struct genl_info *info)
+ {
+ struct cfg80211_registered_device *rdev = NULL;
+@@ -16502,8 +16501,7 @@ out_unlock:
+ return err;
+ }
+
+-static void nl80211_post_doit(const struct genl_split_ops *ops,
+- struct sk_buff *skb,
++static void nl80211_post_doit(const struct genl_ops *ops, struct sk_buff *skb,
+ struct genl_info *info)
+ {
+ u32 internal_flags = nl80211_internal_flags[ops->internal_flags];
diff --git a/package/kernel/mac80211/patches/build/220-list-don-t-backport-list_count_nodes.patch b/package/kernel/mac80211/patches/build/220-list-don-t-backport-list_count_nodes.patch
new file mode 100644
index 00000000000..6d3000278b1
--- /dev/null
+++ b/package/kernel/mac80211/patches/build/220-list-don-t-backport-list_count_nodes.patch
@@ -0,0 +1,26 @@
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Fri, 15 Dec 2023 10:17:21 +0100
+Subject: [PATCH] list: don't backport list_count_nodes()
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It's redundant in OpenWrt as it backports it on its own. This fixes:
+backport-include/linux/list.h:11:22: error: redefinition of 'list_count_nodes'
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+---
+ backport-include/linux/list.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/backport-include/linux/list.h
++++ b/backport-include/linux/list.h
+@@ -3,7 +3,7 @@
+ #include_next <linux/list.h>
+ #include <linux/version.h>
+
+-#if LINUX_VERSION_IS_LESS(6,3,0)
++#if 0 /* OpenWrt backports list_count_nodes() on its own */
+ /**
+ * list_count_nodes - count nodes in the list
+ * @head: the head for your list.