diff --git a/config/sources/families/include/uefi_common.inc b/config/sources/families/include/uefi_common.inc index 3947a50e94..1639e48ea2 100644 --- a/config/sources/families/include/uefi_common.inc +++ b/config/sources/families/include/uefi_common.inc @@ -41,7 +41,7 @@ case "${BRANCH}" in ;; edge) - declare -g KERNEL_MAJOR_MINOR="6.15" + declare -g KERNEL_MAJOR_MINOR="6.16" ;; esac diff --git a/lib/functions/compilation/patch/drivers_network.sh b/lib/functions/compilation/patch/drivers_network.sh index 7db13baa92..12ba1407ec 100644 --- a/lib/functions/compilation/patch/drivers_network.sh +++ b/lib/functions/compilation/patch/drivers_network.sh @@ -210,6 +210,9 @@ driver_rtl8811_rtl8812_rtl8814_rtl8821() { echo "obj-\$(CONFIG_88XXAU) += rtl8812au/" >> "$kerneldir/drivers/net/wireless/Makefile" sed -i '/source "drivers\/net\/wireless\/ti\/Kconfig"/a source "drivers\/net\/wireless\/rtl8812au\/Kconfig"' \ "$kerneldir/drivers/net/wireless/Kconfig" + + # fix compilation for kernels >= 6.16 + process_patch_file "${SRC}/patch/misc/wireless-rtl8812au-Fix-6.16.patch" "applying" fi } @@ -291,6 +294,9 @@ driver_rtl8811CU_rtl8821C() { echo "obj-\$(CONFIG_RTL8821CU) += rtl8811cu/" >> "$kerneldir/drivers/net/wireless/Makefile" sed -i '/source "drivers\/net\/wireless\/ti\/Kconfig"/a source "drivers\/net\/wireless\/rtl8811cu\/Kconfig"' \ "$kerneldir/drivers/net/wireless/Kconfig" + + # fix compilation for kernels >= 6.16 + process_patch_file "${SRC}/patch/misc/wireless-rtl8811cu-Fix-6.16.patch" "applying" fi } @@ -333,6 +339,9 @@ driver_rtl88x2bu() { sed -i "/source \"drivers\/net\/wireless\/ti\/Kconfig\"/a source \"drivers\/net\/wireless\/rtl88x2bu\/Kconfig\"" \ "$kerneldir/drivers/net/wireless/Kconfig" + # fix compilation for kernels >= 6.16 + process_patch_file "${SRC}/patch/misc/wireless-rtl88x2bu-Fix-6.16.patch" "applying" + fi } diff --git a/patch/kernel/archive/uefi-arm64-6.15/board-hikey960-usb.patch b/patch/kernel/archive/uefi-arm64-6.16/board-hikey960-usb.patch similarity index 100% rename from patch/kernel/archive/uefi-arm64-6.15/board-hikey960-usb.patch rename to patch/kernel/archive/uefi-arm64-6.16/board-hikey960-usb.patch diff --git a/patch/kernel/archive/uefi-arm64-6.15/net-stmicro-stmmac-Phytium-onboard-ethernet-drivers-and-ACPI-glue-for-6.x.patch b/patch/kernel/archive/uefi-arm64-6.16/net-stmicro-stmmac-Phytium-onboard-ethernet-drivers-and-ACPI-glue-for-6.x.patch similarity index 100% rename from patch/kernel/archive/uefi-arm64-6.15/net-stmicro-stmmac-Phytium-onboard-ethernet-drivers-and-ACPI-glue-for-6.x.patch rename to patch/kernel/archive/uefi-arm64-6.16/net-stmicro-stmmac-Phytium-onboard-ethernet-drivers-and-ACPI-glue-for-6.x.patch diff --git a/patch/misc/wireless-rtl8811cu-Fix-6.16.patch b/patch/misc/wireless-rtl8811cu-Fix-6.16.patch new file mode 100644 index 0000000000..2238d86832 --- /dev/null +++ b/patch/misc/wireless-rtl8811cu-Fix-6.16.patch @@ -0,0 +1,16 @@ +diff --git a/cache/sources/linux-kernel-worktree/6.16__arm64__arm64/drivers/net/wireless/rtl8811cu/include/osdep_service_linux.h b/drivers/net/wireless/rtl8811cu/include/osdep_service_linux.h +index ed1e19b..91de46f 100644 +--- a/cache/sources/linux-kernel-worktree/6.16__arm64__arm64/drivers/net/wireless/rtl8811cu/include/osdep_service_linux.h ++++ b/drivers/net/wireless/rtl8811cu/include/osdep_service_linux.h +@@ -358,7 +358,11 @@ static inline void timer_hdl(unsigned long cntx) + #endif + { + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 16, 0)) ++ _timer *ptimer = timer_container_of(ptimer, in_timer, timer); ++#else + _timer *ptimer = from_timer(ptimer, in_timer, timer); ++#endif + #else + _timer *ptimer = (_timer *)cntx; + #endif diff --git a/patch/misc/wireless-rtl8812au-Fix-6.16.patch b/patch/misc/wireless-rtl8812au-Fix-6.16.patch new file mode 100644 index 0000000000..a3473c2b79 --- /dev/null +++ b/patch/misc/wireless-rtl8812au-Fix-6.16.patch @@ -0,0 +1,16 @@ +diff --git a/cache/sources/linux-kernel-worktree/6.16__arm64__arm64/drivers/net/wireless/rtl8812au/include/osdep_service_linux.h b/drivers/net/wireless/rtl8812au/include/osdep_service_linux.h +index 4c276f6..aeb8000 100644 +--- a/drivers/net/wireless/rtl8812au/include/osdep_service_linux.h ++++ b/drivers/net/wireless/rtl8812au/include/osdep_service_linux.h +@@ -356,7 +356,11 @@ static inline void timer_hdl(unsigned long cntx) + #endif + { + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 16, 0)) ++ _timer *ptimer = timer_container_of(ptimer, in_timer, timer); ++#else + _timer *ptimer = from_timer(ptimer, in_timer, timer); ++#endif + #else + _timer *ptimer = (_timer *)cntx; + #endif diff --git a/patch/misc/wireless-rtl88x2bu-Fix-6.16.patch b/patch/misc/wireless-rtl88x2bu-Fix-6.16.patch new file mode 100644 index 0000000000..f96d9161f6 --- /dev/null +++ b/patch/misc/wireless-rtl88x2bu-Fix-6.16.patch @@ -0,0 +1,16 @@ +diff --git a/cache/sources/linux-kernel-worktree/6.16__arm64__arm64/drivers/net/wireless/rtl88x2bu/include/osdep_service_linux.h b/drivers/net/wireless/rtl88x2bu/include/osdep_service_linux.h +index 46b9528..fb32ed6 100644 +--- a/drivers/net/wireless/rtl88x2bu/include/osdep_service_linux.h ++++ b/drivers/net/wireless/rtl88x2bu/include/osdep_service_linux.h +@@ -358,7 +358,11 @@ static inline void timer_hdl(unsigned long cntx) + #endif + { + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 16, 0)) ++ _timer *ptimer = timer_container_of(ptimer, in_timer, timer); ++#else + _timer *ptimer = from_timer(ptimer, in_timer, timer); ++#endif + #else + _timer *ptimer = (_timer *)cntx; + #endif