From ac9a97e49b8cd46cd19cbfdeb147b3815f5af0ba Mon Sep 17 00:00:00 2001 From: Eric Fahlgren Date: Thu, 24 Jul 2025 10:09:04 -0700 Subject: [PATCH 01/33] build: call ipkg-remove using xargs if #args>=512 The wildcard call to clean up luci package (luci*) can pick up over 2,300 files when the full tree is built. Running make package/luci/clean or a second run of make package/luci/compile would fail with an 'Argument list too long' error. To avoid that, a maybe_use_xargs function was created that runs the command straight as usual if the number of arguments is < 512, or saves the list in a temporary file and feeds it to xargs otherwise. This is an update to current file names and resubmission of https://lists.openwrt.org/pipermail/openwrt-devel/2020-February/027525.html Fixes: https://github.com/openwrt/openwrt/issues/19510 Fixes: https://github.com/openwrt/luci/issues/7869 Authored-by: Eneas U de Queiroz Signed-off-by: Kuan-Yi Li Signed-off-by: Eric Fahlgren Link: https://github.com/openwrt/openwrt/pull/19516 Signed-off-by: Nick Hainke --- include/package-pack.mk | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/include/package-pack.mk b/include/package-pack.mk index f6d90e50ee..14500473c9 100644 --- a/include/package-pack.mk +++ b/include/package-pack.mk @@ -18,10 +18,20 @@ define gen_package_wildcard $(1)$$(if $$(filter -%,$$(ABIV_$(1))),,[^a-z$(if $(CONFIG_USE_APK),,-)])* endef +# 1: command and initial arguments +# 2: arguments list +# 3: tmp filename +define maybe_use_xargs + $(if $(word 512,$(2)), \ + $(file >$(3),$(2)) $(XARGS) $(1) < "$(3)"; rm "$(3)", \ + $(1) $(2)) +endef + # 1: package name # 2: candidate ipk files define remove_ipkg_files - $(if $(strip $(2)),$(SCRIPT_DIR)/ipkg-remove $(1) $(2)) + $(if $(strip $(2)), \ + $(call maybe_use_xargs,$(SCRIPT_DIR)/ipkg-remove $(1),$(2),$(TMP_DIR)/$(1).in)) endef # 1: package name From b087961ccb0bc7d69fc61bb5789dc01edc395318 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Thu, 24 Jul 2025 23:41:49 +0200 Subject: [PATCH 02/33] tools: firmware-utils: update to Git HEAD (2025-07-24) 075cdc0 iptime-crc32: add support for ipTIME AX3000Q 48ababa iptime-crc32: add support for ipTIME AX3000SM f29de74 iptime-crc32: Add device support for ipTIME AX6000M Link: https://github.com/openwrt/openwrt/pull/19520 Signed-off-by: Hauke Mehrtens --- tools/firmware-utils/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/firmware-utils/Makefile b/tools/firmware-utils/Makefile index 3caaa8e437..691505c36d 100644 --- a/tools/firmware-utils/Makefile +++ b/tools/firmware-utils/Makefile @@ -11,9 +11,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/firmware-utils.git -PKG_SOURCE_DATE:=2025-02-16 -PKG_SOURCE_VERSION:=5d1446bf57d6490573dc71f10c05e83b36d44374 -PKG_MIRROR_HASH:=e054ea416f5a596f681bba593f71dfbe8149361432d7c17f2374c60dfe227749 +PKG_SOURCE_DATE:=2025-07-24 +PKG_SOURCE_VERSION:=f29de74ecd7d952ee1f9a20577fec9f37c0d6f4a +PKG_MIRROR_HASH:=6abf06a2243acb1a9820a8c4d7c9a1f03f5b920fecf86ac2353d257e7963f7bb include $(INCLUDE_DIR)/host-build.mk include $(INCLUDE_DIR)/cmake.mk From 15a4d621d84492b45fbc923053454322a8b58823 Mon Sep 17 00:00:00 2001 From: Jan Hoffmann Date: Thu, 24 Jul 2025 19:29:23 +0200 Subject: [PATCH 03/33] realtek: actually enable 2500Base-X The SerDes setup function needs to be called to make 2500Base-X work. Signed-off-by: Jan Hoffmann Link: https://github.com/openwrt/openwrt/pull/19517 Signed-off-by: Hauke Mehrtens --- target/linux/realtek/files-6.12/drivers/net/dsa/rtl83xx/dsa.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/linux/realtek/files-6.12/drivers/net/dsa/rtl83xx/dsa.c b/target/linux/realtek/files-6.12/drivers/net/dsa/rtl83xx/dsa.c index 85aa1975f2..1af34b4c5f 100644 --- a/target/linux/realtek/files-6.12/drivers/net/dsa/rtl83xx/dsa.c +++ b/target/linux/realtek/files-6.12/drivers/net/dsa/rtl83xx/dsa.c @@ -678,6 +678,7 @@ static void rtl93xx_phylink_mac_config(struct dsa_switch *ds, int port, if (sds_num >= 0 && (state->interface == PHY_INTERFACE_MODE_1000BASEX || state->interface == PHY_INTERFACE_MODE_SGMII || + state->interface == PHY_INTERFACE_MODE_2500BASEX || state->interface == PHY_INTERFACE_MODE_10GBASER)) rtl9300_serdes_setup(port, sds_num, state->interface); } From 05d344cb2ca3b95f6c3536981af4fd85122eae0d Mon Sep 17 00:00:00 2001 From: Leo Barsky Date: Thu, 24 Jul 2025 12:12:33 +0000 Subject: [PATCH 04/33] kernel: bump 6.6 to 6.6.100 Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.100 Manually refreshed: 823-v6.12-0003-nvmem-layouts-add-U-Boot-env-layout.patch All other patches auto-refreshed. Signed-off-by: Leo Barsky Link: https://github.com/openwrt/openwrt/pull/19514 Signed-off-by: Hauke Mehrtens --- ....12-0001-nvmem-imx-ocotp-ele-support-i.MX95.patch | 8 ++++---- ...12-0003-nvmem-layouts-add-U-Boot-env-layout.patch | 12 ++++++------ ...ernel-ct-size-the-hashtable-more-adequately.patch | 2 +- target/linux/generic/kernel-6.6 | 4 ++-- .../generic/pending-6.6/630-packet_socket_type.patch | 6 +++--- ...bridge-fix-switchdev-host-mdb-entry-updates.patch | 2 +- ...e-switchdev-Don-t-drop-packets-between-port.patch | 2 +- ...e-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch | 2 +- 8 files changed, 19 insertions(+), 19 deletions(-) diff --git a/target/linux/generic/backport-6.6/823-v6.12-0001-nvmem-imx-ocotp-ele-support-i.MX95.patch b/target/linux/generic/backport-6.6/823-v6.12-0001-nvmem-imx-ocotp-ele-support-i.MX95.patch index de965e1ccd..04ac6f1334 100644 --- a/target/linux/generic/backport-6.6/823-v6.12-0001-nvmem-imx-ocotp-ele-support-i.MX95.patch +++ b/target/linux/generic/backport-6.6/823-v6.12-0001-nvmem-imx-ocotp-ele-support-i.MX95.patch @@ -16,8 +16,8 @@ Signed-off-by: Greg Kroah-Hartman --- a/drivers/nvmem/imx-ocotp-ele.c +++ b/drivers/nvmem/imx-ocotp-ele.c -@@ -14,8 +14,9 @@ - #include +@@ -15,8 +15,9 @@ + #include /* ETH_ALEN */ enum fuse_type { - FUSE_FSB = 1, @@ -28,7 +28,7 @@ Signed-off-by: Greg Kroah-Hartman FUSE_INVALID = -1 }; -@@ -95,7 +96,10 @@ static int imx_ocotp_reg_read(void *cont +@@ -96,7 +97,10 @@ static int imx_ocotp_reg_read(void *cont continue; } @@ -40,7 +40,7 @@ Signed-off-by: Greg Kroah-Hartman } memcpy(val, ((u8 *)p) + skipbytes, bytes); -@@ -179,8 +183,30 @@ static const struct ocotp_devtype_data i +@@ -182,8 +186,30 @@ static const struct ocotp_devtype_data i }, }; diff --git a/target/linux/generic/backport-6.6/823-v6.12-0003-nvmem-layouts-add-U-Boot-env-layout.patch b/target/linux/generic/backport-6.6/823-v6.12-0003-nvmem-layouts-add-U-Boot-env-layout.patch index 2d71c4b3b4..f869fc2037 100644 --- a/target/linux/generic/backport-6.6/823-v6.12-0003-nvmem-layouts-add-U-Boot-env-layout.patch +++ b/target/linux/generic/backport-6.6/823-v6.12-0003-nvmem-layouts-add-U-Boot-env-layout.patch @@ -185,7 +185,7 @@ Signed-off-by: Greg Kroah-Hartman + size_t crc32_data_offset; + size_t crc32_data_len; + size_t crc32_offset; -+ __le32 *crc32_addr; ++ uint32_t *crc32_addr; + size_t data_offset; + size_t data_len; + size_t dev_size; @@ -236,8 +236,8 @@ Signed-off-by: Greg Kroah-Hartman + goto err_kfree; + } + -+ crc32_addr = (__le32 *)(buf + crc32_offset); -+ crc32 = le32_to_cpu(*crc32_addr); ++ crc32_addr = (uint32_t *)(buf + crc32_offset); ++ crc32 = *crc32_addr; + crc32_data_len = dev_size - crc32_data_offset; + data_len = dev_size - data_offset; + @@ -439,7 +439,7 @@ Signed-off-by: Greg Kroah-Hartman - size_t crc32_data_offset; - size_t crc32_data_len; - size_t crc32_offset; -- __le32 *crc32_addr; +- uint32_t *crc32_addr; - size_t data_offset; - size_t data_len; - size_t dev_size; @@ -490,8 +490,8 @@ Signed-off-by: Greg Kroah-Hartman - goto err_kfree; - } - -- crc32_addr = (__le32 *)(buf + crc32_offset); -- crc32 = le32_to_cpu(*crc32_addr); +- crc32_addr = (uint32_t *)(buf + crc32_offset); +- crc32 = *crc32_addr; - crc32_data_len = dev_size - crc32_data_offset; - data_len = dev_size - data_offset; - diff --git a/target/linux/generic/hack-6.6/661-kernel-ct-size-the-hashtable-more-adequately.patch b/target/linux/generic/hack-6.6/661-kernel-ct-size-the-hashtable-more-adequately.patch index ff959ec8d2..64ef073611 100644 --- a/target/linux/generic/hack-6.6/661-kernel-ct-size-the-hashtable-more-adequately.patch +++ b/target/linux/generic/hack-6.6/661-kernel-ct-size-the-hashtable-more-adequately.patch @@ -14,7 +14,7 @@ Signed-off-by: Rui Salvaterra --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c -@@ -2685,7 +2685,7 @@ int nf_conntrack_init_start(void) +@@ -2699,7 +2699,7 @@ int nf_conntrack_init_start(void) if (!nf_conntrack_htable_size) { nf_conntrack_htable_size diff --git a/target/linux/generic/kernel-6.6 b/target/linux/generic/kernel-6.6 index 7ed3e4f41d..4a55a573ae 100644 --- a/target/linux/generic/kernel-6.6 +++ b/target/linux/generic/kernel-6.6 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.6 = .99 -LINUX_KERNEL_HASH-6.6.99 = b08679729f1ec74b9fa829f5990936ca2511039d87acc7e8b3f39912de89ab36 +LINUX_VERSION-6.6 = .100 +LINUX_KERNEL_HASH-6.6.100 = d6c0ec4d55b14814f55b62a0b23a2d95faf66877e48fbfb4b83523e4afdf97ba diff --git a/target/linux/generic/pending-6.6/630-packet_socket_type.patch b/target/linux/generic/pending-6.6/630-packet_socket_type.patch index f5c15756c5..4992dd7816 100644 --- a/target/linux/generic/pending-6.6/630-packet_socket_type.patch +++ b/target/linux/generic/pending-6.6/630-packet_socket_type.patch @@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -3437,6 +3439,7 @@ static int packet_create(struct net *net +@@ -3436,6 +3438,7 @@ static int packet_create(struct net *net mutex_init(&po->pg_vec_lock); po->rollover = NULL; po->prot_hook.func = packet_rcv; @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau if (sock->type == SOCK_PACKET) po->prot_hook.func = packet_rcv_spkt; -@@ -4104,6 +4107,16 @@ packet_setsockopt(struct socket *sock, i +@@ -4103,6 +4106,16 @@ packet_setsockopt(struct socket *sock, i packet_sock_flag_set(po, PACKET_SOCK_QDISC_BYPASS, val); return 0; } @@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau default: return -ENOPROTOOPT; } -@@ -4163,6 +4176,13 @@ static int packet_getsockopt(struct sock +@@ -4162,6 +4175,13 @@ static int packet_getsockopt(struct sock case PACKET_VNET_HDR_SZ: val = READ_ONCE(po->vnet_hdr_sz); break; diff --git a/target/linux/generic/pending-6.6/640-net-bridge-fix-switchdev-host-mdb-entry-updates.patch b/target/linux/generic/pending-6.6/640-net-bridge-fix-switchdev-host-mdb-entry-updates.patch index cf55c6a3fb..8271e062ff 100644 --- a/target/linux/generic/pending-6.6/640-net-bridge-fix-switchdev-host-mdb-entry-updates.patch +++ b/target/linux/generic/pending-6.6/640-net-bridge-fix-switchdev-host-mdb-entry-updates.patch @@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau --- a/net/bridge/br_switchdev.c +++ b/net/bridge/br_switchdev.c -@@ -568,10 +568,18 @@ static void br_switchdev_host_mdb(struct +@@ -571,10 +571,18 @@ static void br_switchdev_host_mdb(struct struct net_bridge_mdb_entry *mp, int type) { struct net_device *lower_dev; diff --git a/target/linux/generic/pending-6.6/641-net-bridge-switchdev-Don-t-drop-packets-between-port.patch b/target/linux/generic/pending-6.6/641-net-bridge-switchdev-Don-t-drop-packets-between-port.patch index 1c4ec61b50..531e1c99c6 100644 --- a/target/linux/generic/pending-6.6/641-net-bridge-switchdev-Don-t-drop-packets-between-port.patch +++ b/target/linux/generic/pending-6.6/641-net-bridge-switchdev-Don-t-drop-packets-between-port.patch @@ -27,7 +27,7 @@ Signed-off-by: Leon M. Busch-George --- a/net/bridge/br_switchdev.c +++ b/net/bridge/br_switchdev.c -@@ -67,7 +67,7 @@ bool nbp_switchdev_allowed_egress(const +@@ -70,7 +70,7 @@ bool nbp_switchdev_allowed_egress(const struct br_input_skb_cb *cb = BR_INPUT_SKB_CB(skb); return !test_bit(p->hwdom, &cb->fwd_hwdoms) && diff --git a/target/linux/generic/pending-6.6/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch b/target/linux/generic/pending-6.6/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch index fffb6cbb54..1d69f9f775 100644 --- a/target/linux/generic/pending-6.6/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch +++ b/target/linux/generic/pending-6.6/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch @@ -65,7 +65,7 @@ Signed-off-by: Felix Fietkau --- a/net/8021q/vlan.h +++ b/net/8021q/vlan.h -@@ -108,7 +108,7 @@ static inline netdev_features_t vlan_tnl +@@ -109,7 +109,7 @@ static inline netdev_features_t vlan_tnl netdev_features_t ret; ret = real_dev->hw_enc_features & From b6276e33eb02f13ea955cdf1c927b71ace1edf05 Mon Sep 17 00:00:00 2001 From: Leo Barsky Date: Thu, 24 Jul 2025 11:58:13 +0000 Subject: [PATCH 05/33] kernel: bump 6.12 to 6.12.40 Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.40 Removed upstreamed patches: generic/pending-6.12/680-net-fix-TCP-UDP-fraglist-GRO.patch generic/pending-6.12/802-nvmem-u-boot-env-align-endianness-of-crc32-values.patch 1- https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.40&id=7c532f222361191fe228e54c5d3e0026fef8a5a0 2- https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.40&id=c29a2328af96338d327cd851803338423c6f07a1 All other patches auto-refreshed. Signed-off-by: Leo Barsky Link: https://github.com/openwrt/openwrt/pull/19514 Signed-off-by: Hauke Mehrtens --- .../950-0054-Add-dwc_otg-driver.patch | 2 +- ...m-Register-vcsm-cma-as-a-platform-dr.patch | 4 +- ...m-Register-bcm2835-codec-as-a-platfo.patch | 4 +- ...m-Set-up-dma-ranges-on-child-devices.patch | 2 +- ...q-Load-bcm2835_isp-driver-from-vchiq.patch | 4 +- ...-phys-addresses-for-slave-DMA-config.patch | 4 +- ...-Add-downstream-overclocking-support.patch | 18 ++++---- ...t-size-the-hashtable-more-adequately.patch | 2 +- target/linux/generic/kernel-6.12 | 4 +- .../pending-6.12/630-packet_socket_type.patch | 6 +-- ...fix-switchdev-host-mdb-entry-updates.patch | 2 +- ...hdev-Don-t-drop-packets-between-port.patch | 2 +- .../680-net-fix-TCP-UDP-fraglist-GRO.patch | 35 --------------- ..._F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch | 2 +- ...env-align-endianness-of-crc32-values.patch | 45 ------------------- .../825-i2c-MIPS-adds-ralink-I2C-driver.patch | 2 +- .../310-add-i2c-rtl9300-support.patch | 2 +- 17 files changed, 30 insertions(+), 110 deletions(-) delete mode 100644 target/linux/generic/pending-6.12/680-net-fix-TCP-UDP-fraglist-GRO.patch delete mode 100644 target/linux/generic/pending-6.12/802-nvmem-u-boot-env-align-endianness-of-crc32-values.patch diff --git a/target/linux/bcm27xx/patches-6.12/950-0054-Add-dwc_otg-driver.patch b/target/linux/bcm27xx/patches-6.12/950-0054-Add-dwc_otg-driver.patch index ad0b6cf7dd..9502cdf2cf 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0054-Add-dwc_otg-driver.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0054-Add-dwc_otg-driver.patch @@ -1248,7 +1248,7 @@ Signed-off-by: Jonathan Bell } --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -5757,7 +5757,7 @@ static void port_event(struct usb_hub *h +@@ -5786,7 +5786,7 @@ static void port_event(struct usb_hub *h port_dev->over_current_count++; port_over_current_notify(port_dev); diff --git a/target/linux/bcm27xx/patches-6.12/950-0154-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch b/target/linux/bcm27xx/patches-6.12/950-0154-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch index e9f351d518..b580ee5377 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0154-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0154-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch @@ -21,7 +21,7 @@ Signed-off-by: Dave Stevenson static const struct vchiq_platform_info bcm2835_info = { .cache_line_size = 32, -@@ -1759,6 +1760,7 @@ static int vchiq_probe(struct platform_d +@@ -1760,6 +1761,7 @@ static int vchiq_probe(struct platform_d vchiq_debugfs_init(&mgmt->state); @@ -29,7 +29,7 @@ Signed-off-by: Dave Stevenson bcm2835_audio = vchiq_device_register(&pdev->dev, "bcm2835-audio"); bcm2835_camera = vchiq_device_register(&pdev->dev, "bcm2835-camera"); -@@ -1777,6 +1779,7 @@ static void vchiq_remove(struct platform +@@ -1778,6 +1780,7 @@ static void vchiq_remove(struct platform vchiq_device_unregister(bcm2835_audio); vchiq_device_unregister(bcm2835_camera); diff --git a/target/linux/bcm27xx/patches-6.12/950-0155-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch b/target/linux/bcm27xx/patches-6.12/950-0155-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch index acc70e2977..874bf15d34 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0155-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0155-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch @@ -22,7 +22,7 @@ Signed-off-by: Dave Stevenson static struct vchiq_device *vcsm_cma; static const struct vchiq_platform_info bcm2835_info = { -@@ -1761,6 +1762,7 @@ static int vchiq_probe(struct platform_d +@@ -1762,6 +1763,7 @@ static int vchiq_probe(struct platform_d vchiq_debugfs_init(&mgmt->state); vcsm_cma = vchiq_device_register(&pdev->dev, "vcsm-cma"); @@ -30,7 +30,7 @@ Signed-off-by: Dave Stevenson bcm2835_audio = vchiq_device_register(&pdev->dev, "bcm2835-audio"); bcm2835_camera = vchiq_device_register(&pdev->dev, "bcm2835-camera"); -@@ -1779,6 +1781,7 @@ static void vchiq_remove(struct platform +@@ -1780,6 +1782,7 @@ static void vchiq_remove(struct platform vchiq_device_unregister(bcm2835_audio); vchiq_device_unregister(bcm2835_camera); diff --git a/target/linux/bcm27xx/patches-6.12/950-0161-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch b/target/linux/bcm27xx/patches-6.12/950-0161-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch index b2b470eaeb..0c7fd01ec8 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0161-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0161-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch @@ -234,7 +234,7 @@ Signed-off-by: Phil Elwell dev_dbg(&pdev->dev, "arm: vchiq_init - done (slots %pK, phys %pad)\n", vchiq_slot_zero, &slot_phys); -@@ -1710,6 +1776,7 @@ void vchiq_platform_conn_state_changed(s +@@ -1711,6 +1777,7 @@ void vchiq_platform_conn_state_changed(s static const struct of_device_id vchiq_of_match[] = { { .compatible = "brcm,bcm2835-vchiq", .data = &bcm2835_info }, { .compatible = "brcm,bcm2836-vchiq", .data = &bcm2836_info }, diff --git a/target/linux/bcm27xx/patches-6.12/950-0163-staging-vchiq-Load-bcm2835_isp-driver-from-vchiq.patch b/target/linux/bcm27xx/patches-6.12/950-0163-staging-vchiq-Load-bcm2835_isp-driver-from-vchiq.patch index c9394bc85b..1ba21abf1d 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0163-staging-vchiq-Load-bcm2835_isp-driver-from-vchiq.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0163-staging-vchiq-Load-bcm2835_isp-driver-from-vchiq.patch @@ -21,7 +21,7 @@ Signed-off-by: Naushir Patuck static struct vchiq_device *vcsm_cma; static const struct vchiq_platform_info bcm2835_info = { -@@ -1857,6 +1858,7 @@ static int vchiq_probe(struct platform_d +@@ -1858,6 +1859,7 @@ static int vchiq_probe(struct platform_d bcm2835_codec = vchiq_device_register(&pdev->dev, "bcm2835-codec"); bcm2835_audio = vchiq_device_register(&pdev->dev, "bcm2835-audio"); bcm2835_camera = vchiq_device_register(&pdev->dev, "bcm2835-camera"); @@ -29,7 +29,7 @@ Signed-off-by: Naushir Patuck return 0; -@@ -1871,6 +1873,7 @@ static void vchiq_remove(struct platform +@@ -1872,6 +1874,7 @@ static void vchiq_remove(struct platform struct vchiq_drv_mgmt *mgmt = dev_get_drvdata(&pdev->dev); struct vchiq_arm_state *arm_state; diff --git a/target/linux/bcm27xx/patches-6.12/950-0325-mmc-bcm2835-Use-phys-addresses-for-slave-DMA-config.patch b/target/linux/bcm27xx/patches-6.12/950-0325-mmc-bcm2835-Use-phys-addresses-for-slave-DMA-config.patch index abaa96cd73..ba33fc35d1 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0325-mmc-bcm2835-Use-phys-addresses-for-slave-DMA-config.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0325-mmc-bcm2835-Use-phys-addresses-for-slave-DMA-config.patch @@ -22,7 +22,7 @@ Signed-off-by: Phil Elwell #include #include #include -@@ -1347,8 +1346,8 @@ static int bcm2835_probe(struct platform +@@ -1348,8 +1347,8 @@ static int bcm2835_probe(struct platform struct device *dev = &pdev->dev; struct clk *clk; struct bcm2835_host *host; @@ -32,7 +32,7 @@ Signed-off-by: Phil Elwell int ret; dev_dbg(dev, "%s\n", __func__); -@@ -1361,23 +1360,13 @@ static int bcm2835_probe(struct platform +@@ -1362,23 +1361,13 @@ static int bcm2835_probe(struct platform host->pdev = pdev; spin_lock_init(&host->lock); diff --git a/target/linux/bcm27xx/patches-6.12/950-0758-mmc-bcm2835-Add-downstream-overclocking-support.patch b/target/linux/bcm27xx/patches-6.12/950-0758-mmc-bcm2835-Add-downstream-overclocking-support.patch index 76412231c6..94dd7356ee 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0758-mmc-bcm2835-Add-downstream-overclocking-support.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0758-mmc-bcm2835-Add-downstream-overclocking-support.patch @@ -65,7 +65,7 @@ Signed-off-by: Phil Elwell } static void bcm2835_reset(struct mmc_host *mmc) -@@ -595,6 +607,25 @@ static void bcm2835_finish_request(struc +@@ -596,6 +608,25 @@ static void bcm2835_finish_request(struc mrq = host->mrq; @@ -91,7 +91,7 @@ Signed-off-by: Phil Elwell host->mrq = NULL; host->cmd = NULL; host->data = NULL; -@@ -1091,8 +1122,13 @@ static void bcm2835_dma_complete_work(st +@@ -1092,8 +1123,13 @@ static void bcm2835_dma_complete_work(st static void bcm2835_set_clock(struct bcm2835_host *host, unsigned int clock) { struct mmc_host *mmc = mmc_from_priv(host); @@ -105,7 +105,7 @@ Signed-off-by: Phil Elwell /* The SDCDIV register has 11 bits, and holds (div - 2). But * in data mode the max is 50MHz wihout a minimum, and only * the bottom 3 bits are used. Since the switch over is -@@ -1114,38 +1150,78 @@ static void bcm2835_set_clock(struct bcm +@@ -1115,38 +1151,78 @@ static void bcm2835_set_clock(struct bcm * clock divisor at all times. */ @@ -205,7 +205,7 @@ Signed-off-by: Phil Elwell } static void bcm2835_request(struct mmc_host *mmc, struct mmc_request *mrq) -@@ -1175,6 +1251,9 @@ static void bcm2835_request(struct mmc_h +@@ -1176,6 +1252,9 @@ static void bcm2835_request(struct mmc_h return; } @@ -215,7 +215,7 @@ Signed-off-by: Phil Elwell mutex_lock(&host->mutex); WARN_ON(host->mrq); -@@ -1198,7 +1277,7 @@ static void bcm2835_request(struct mmc_h +@@ -1199,7 +1278,7 @@ static void bcm2835_request(struct mmc_h return; } @@ -224,7 +224,7 @@ Signed-off-by: Phil Elwell bcm2835_prepare_dma(host, mrq->data); host->use_sbc = !!mrq->sbc && host->mrq->data && -@@ -1333,8 +1412,8 @@ static int bcm2835_add_host(struct bcm28 +@@ -1334,8 +1413,8 @@ static int bcm2835_add_host(struct bcm28 } pio_limit_string[0] = '\0'; @@ -235,7 +235,7 @@ Signed-off-by: Phil Elwell dev_info(dev, "loaded - DMA %s%s\n", host->use_dma ? "enabled" : "disabled", pio_limit_string); -@@ -1344,10 +1423,13 @@ static int bcm2835_add_host(struct bcm28 +@@ -1345,10 +1424,13 @@ static int bcm2835_add_host(struct bcm28 static int bcm2835_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; @@ -250,7 +250,7 @@ Signed-off-by: Phil Elwell int ret; dev_dbg(dev, "%s\n", __func__); -@@ -1367,6 +1449,23 @@ static int bcm2835_probe(struct platform +@@ -1368,6 +1450,23 @@ static int bcm2835_probe(struct platform } host->phys_addr = iomem->start; @@ -274,7 +274,7 @@ Signed-off-by: Phil Elwell host->dma_chan = NULL; host->dma_desc = NULL; -@@ -1389,6 +1488,24 @@ static int bcm2835_probe(struct platform +@@ -1390,6 +1489,24 @@ static int bcm2835_probe(struct platform goto err; } diff --git a/target/linux/generic/hack-6.12/661-kernel-ct-size-the-hashtable-more-adequately.patch b/target/linux/generic/hack-6.12/661-kernel-ct-size-the-hashtable-more-adequately.patch index f548cdb9b5..b4bf160e82 100644 --- a/target/linux/generic/hack-6.12/661-kernel-ct-size-the-hashtable-more-adequately.patch +++ b/target/linux/generic/hack-6.12/661-kernel-ct-size-the-hashtable-more-adequately.patch @@ -14,7 +14,7 @@ Signed-off-by: Rui Salvaterra --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c -@@ -2634,7 +2634,7 @@ int nf_conntrack_init_start(void) +@@ -2648,7 +2648,7 @@ int nf_conntrack_init_start(void) if (!nf_conntrack_htable_size) { nf_conntrack_htable_size diff --git a/target/linux/generic/kernel-6.12 b/target/linux/generic/kernel-6.12 index b738ea851d..9880cae37e 100644 --- a/target/linux/generic/kernel-6.12 +++ b/target/linux/generic/kernel-6.12 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.12 = .39 -LINUX_KERNEL_HASH-6.12.39 = 6e562502a8fd11639f558e43b74f0df0d85fa85e60f5332acb275a75a35f5345 +LINUX_VERSION-6.12 = .40 +LINUX_KERNEL_HASH-6.12.40 = 4811af1317f98d2cccea3c7695969a2c03a27cb02fd2d5327032dd5341842933 diff --git a/target/linux/generic/pending-6.12/630-packet_socket_type.patch b/target/linux/generic/pending-6.12/630-packet_socket_type.patch index fff421bd3c..769696e404 100644 --- a/target/linux/generic/pending-6.12/630-packet_socket_type.patch +++ b/target/linux/generic/pending-6.12/630-packet_socket_type.patch @@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -3430,6 +3432,7 @@ static int packet_create(struct net *net +@@ -3429,6 +3431,7 @@ static int packet_create(struct net *net mutex_init(&po->pg_vec_lock); po->rollover = NULL; po->prot_hook.func = packet_rcv; @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau if (sock->type == SOCK_PACKET) po->prot_hook.func = packet_rcv_spkt; -@@ -4097,6 +4100,16 @@ packet_setsockopt(struct socket *sock, i +@@ -4096,6 +4099,16 @@ packet_setsockopt(struct socket *sock, i packet_sock_flag_set(po, PACKET_SOCK_QDISC_BYPASS, val); return 0; } @@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau default: return -ENOPROTOOPT; } -@@ -4159,6 +4172,13 @@ static int packet_getsockopt(struct sock +@@ -4158,6 +4171,13 @@ static int packet_getsockopt(struct sock case PACKET_COPY_THRESH: val = READ_ONCE(pkt_sk(sk)->copy_thresh); break; diff --git a/target/linux/generic/pending-6.12/640-net-bridge-fix-switchdev-host-mdb-entry-updates.patch b/target/linux/generic/pending-6.12/640-net-bridge-fix-switchdev-host-mdb-entry-updates.patch index cf55c6a3fb..8271e062ff 100644 --- a/target/linux/generic/pending-6.12/640-net-bridge-fix-switchdev-host-mdb-entry-updates.patch +++ b/target/linux/generic/pending-6.12/640-net-bridge-fix-switchdev-host-mdb-entry-updates.patch @@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau --- a/net/bridge/br_switchdev.c +++ b/net/bridge/br_switchdev.c -@@ -568,10 +568,18 @@ static void br_switchdev_host_mdb(struct +@@ -571,10 +571,18 @@ static void br_switchdev_host_mdb(struct struct net_bridge_mdb_entry *mp, int type) { struct net_device *lower_dev; diff --git a/target/linux/generic/pending-6.12/641-net-bridge-switchdev-Don-t-drop-packets-between-port.patch b/target/linux/generic/pending-6.12/641-net-bridge-switchdev-Don-t-drop-packets-between-port.patch index 1c4ec61b50..531e1c99c6 100644 --- a/target/linux/generic/pending-6.12/641-net-bridge-switchdev-Don-t-drop-packets-between-port.patch +++ b/target/linux/generic/pending-6.12/641-net-bridge-switchdev-Don-t-drop-packets-between-port.patch @@ -27,7 +27,7 @@ Signed-off-by: Leon M. Busch-George --- a/net/bridge/br_switchdev.c +++ b/net/bridge/br_switchdev.c -@@ -67,7 +67,7 @@ bool nbp_switchdev_allowed_egress(const +@@ -70,7 +70,7 @@ bool nbp_switchdev_allowed_egress(const struct br_input_skb_cb *cb = BR_INPUT_SKB_CB(skb); return !test_bit(p->hwdom, &cb->fwd_hwdoms) && diff --git a/target/linux/generic/pending-6.12/680-net-fix-TCP-UDP-fraglist-GRO.patch b/target/linux/generic/pending-6.12/680-net-fix-TCP-UDP-fraglist-GRO.patch deleted file mode 100644 index 221e2708ec..0000000000 --- a/target/linux/generic/pending-6.12/680-net-fix-TCP-UDP-fraglist-GRO.patch +++ /dev/null @@ -1,35 +0,0 @@ -From: Felix Fietkau -Date: Sat, 5 Jul 2025 13:44:10 +0200 -Subject: [PATCH] net: fix TCP/UDP fraglist GRO - -Since "net: gro: use cb instead of skb->network_header", the skb network -header is no longer set in the GRO path. -This breaks fraglist segmentation, which relies on ip_hdr()/tcp_hdr() -to check for address/port changes. -Fix this regression by selectively setting the network header for merged -segment skbs. - -Fixes: 186b1ea73ad8 ("net: gro: use cb instead of skb->network_header") -Signed-off-by: Felix Fietkau ---- - ---- a/net/ipv4/tcp_offload.c -+++ b/net/ipv4/tcp_offload.c -@@ -355,6 +355,7 @@ struct sk_buff *tcp_gro_receive(struct l - flush |= skb->ip_summed != p->ip_summed; - flush |= skb->csum_level != p->csum_level; - flush |= NAPI_GRO_CB(p)->count >= 64; -+ skb_set_network_header(skb, skb_gro_receive_network_offset(skb)); - - if (flush || skb_gro_receive_list(p, skb)) - mss = 1; ---- a/net/ipv4/udp_offload.c -+++ b/net/ipv4/udp_offload.c -@@ -604,6 +604,7 @@ static struct sk_buff *udp_gro_receive_s - NAPI_GRO_CB(skb)->flush = 1; - return NULL; - } -+ skb_set_network_header(skb, skb_gro_receive_network_offset(skb)); - ret = skb_gro_receive_list(p, skb); - } else { - skb_gro_postpull_rcsum(skb, uh, diff --git a/target/linux/generic/pending-6.12/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch b/target/linux/generic/pending-6.12/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch index 34e7a44beb..e89e0d25f5 100644 --- a/target/linux/generic/pending-6.12/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch +++ b/target/linux/generic/pending-6.12/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch @@ -65,7 +65,7 @@ Signed-off-by: Felix Fietkau --- a/net/8021q/vlan.h +++ b/net/8021q/vlan.h -@@ -108,7 +108,7 @@ static inline netdev_features_t vlan_tnl +@@ -109,7 +109,7 @@ static inline netdev_features_t vlan_tnl netdev_features_t ret; ret = real_dev->hw_enc_features & diff --git a/target/linux/generic/pending-6.12/802-nvmem-u-boot-env-align-endianness-of-crc32-values.patch b/target/linux/generic/pending-6.12/802-nvmem-u-boot-env-align-endianness-of-crc32-values.patch deleted file mode 100644 index 29fe668f8d..0000000000 --- a/target/linux/generic/pending-6.12/802-nvmem-u-boot-env-align-endianness-of-crc32-values.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 0e71cac033bb7689c4dfa2e6814191337ef770f5 Mon Sep 17 00:00:00 2001 -From: INAGAKI Hiroshi -Date: Thu, 13 Oct 2022 00:51:33 +0900 -Subject: [PATCH] nvmem: layouts: u-boot-env: align endianness of crc32 values -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This patch fixes crc32 error on Big-Endianness system by conversion of -calculated crc32 value. - -Little-Endianness system: - - obtained crc32: Little -calculated crc32: Little - -Big-Endianness system: - - obtained crc32: Little -calculated crc32: Big - -log (APRESIA ApresiaLightGS120GT-SS, RTL8382M, Big-Endianness): - -[ 8.570000] u_boot_env 18001200.spi:flash@0:partitions:partition@c0000: Invalid calculated CRC32: 0x88cd6f09 (expected: 0x096fcd88) -[ 8.580000] u_boot_env: probe of 18001200.spi:flash@0:partitions:partition@c0000 failed with error -22 - -Fixes: f955dc1445069 ("nvmem: add driver handling U-Boot environment variables") - -Signed-off-by: INAGAKI Hiroshi -Acked-by: Rafał Miłecki -Tested-by: Christian Lamparter -Signed-off-by: Srinivas Kandagatla ---- - ---- a/drivers/nvmem/layouts/u-boot-env.c -+++ b/drivers/nvmem/layouts/u-boot-env.c -@@ -148,7 +148,7 @@ int u_boot_env_parse(struct device *dev, - crc32_data_len = dev_size - crc32_data_offset; - data_len = dev_size - data_offset; - -- calc = crc32(~0, buf + crc32_data_offset, crc32_data_len) ^ ~0L; -+ calc = le32_to_cpu((__le32)crc32(~0, buf + crc32_data_offset, crc32_data_len) ^ ~0L); - if (calc != crc32) { - dev_err(dev, "Invalid calculated CRC32: 0x%08x (expected: 0x%08x)\n", calc, crc32); - err = -EINVAL; diff --git a/target/linux/ramips/patches-6.12/825-i2c-MIPS-adds-ralink-I2C-driver.patch b/target/linux/ramips/patches-6.12/825-i2c-MIPS-adds-ralink-I2C-driver.patch index cc70a04596..c0df681956 100644 --- a/target/linux/ramips/patches-6.12/825-i2c-MIPS-adds-ralink-I2C-driver.patch +++ b/target/linux/ramips/patches-6.12/825-i2c-MIPS-adds-ralink-I2C-driver.patch @@ -45,7 +45,7 @@ Signed-off-by: John Crispin +}; --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig -@@ -1061,6 +1061,11 @@ config I2C_RK3X +@@ -1062,6 +1062,11 @@ config I2C_RK3X This driver can also be built as a module. If so, the module will be called i2c-rk3x. diff --git a/target/linux/realtek/patches-6.12/310-add-i2c-rtl9300-support.patch b/target/linux/realtek/patches-6.12/310-add-i2c-rtl9300-support.patch index 4a56675bdf..7a32866818 100644 --- a/target/linux/realtek/patches-6.12/310-add-i2c-rtl9300-support.patch +++ b/target/linux/realtek/patches-6.12/310-add-i2c-rtl9300-support.patch @@ -17,7 +17,7 @@ Submitted-by: Birger Koblitz --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig -@@ -1061,6 +1061,16 @@ config I2C_RK3X +@@ -1062,6 +1062,16 @@ config I2C_RK3X This driver can also be built as a module. If so, the module will be called i2c-rk3x. From 4b3b16be70b8e68eb27fb8a0cc75906aa471e7a9 Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Thu, 24 Jul 2025 18:50:50 +0800 Subject: [PATCH 06/33] projectsmirrors: remove some GNOME mirrors These removed sites no longer provide GNOME mirror services. Signed-off-by: Shiji Yang Link: https://github.com/openwrt/openwrt/pull/19509 Signed-off-by: Hauke Mehrtens --- scripts/projectsmirrors.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/scripts/projectsmirrors.json b/scripts/projectsmirrors.json index 847fb6e6e3..3e02a90ab1 100644 --- a/scripts/projectsmirrors.json +++ b/scripts/projectsmirrors.json @@ -56,10 +56,7 @@ "@GNOME": [ "https://download.gnome.org/sources", "https://mirror.csclub.uwaterloo.ca/gnome/sources", - "https://ftp.acc.umu.se/pub/GNOME/sources", - "http://ftp.cse.buffalo.edu/pub/Gnome/sources", - "http://ftp.nara.wide.ad.jp/pub/X11/GNOME/sources", - "https://mirrors.ustc.edu.cn/gnome/sources" + "http://ftp.nara.wide.ad.jp/pub/X11/GNOME/sources" ], "@OPENWRT": [ "https://sources.cdn.openwrt.org", From f696a1874376d75ee939006b69388d88fc341b67 Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Thu, 24 Jul 2025 18:50:50 +0800 Subject: [PATCH 07/33] projectsmirrors: update Apache mirror apache.cs.utah.edu The original URL no longer works. Signed-off-by: Shiji Yang Link: https://github.com/openwrt/openwrt/pull/19509 Signed-off-by: Hauke Mehrtens --- scripts/projectsmirrors.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/projectsmirrors.json b/scripts/projectsmirrors.json index 3e02a90ab1..00306dd904 100644 --- a/scripts/projectsmirrors.json +++ b/scripts/projectsmirrors.json @@ -17,7 +17,7 @@ "https://mirror.cogentco.com/pub/apache", "https://mirror.navercorp.com/apache", "https://ftp.jaist.ac.jp/pub/apache", - "https://apache.cs.utah.edu/apache.org", + "https://apache.cs.utah.edu", "http://apache.mirrors.ovh.net/ftp.apache.org/dist", "https://mirrors.tuna.tsinghua.edu.cn/apache", "https://mirrors.ustc.edu.cn/apache" From 71fa099ef7f4f425a65d12ce2acbad4aba00dea4 Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Thu, 24 Jul 2025 18:50:50 +0800 Subject: [PATCH 08/33] projectsmirrors: remove kernel mirror ftp.riken.jp This mirror has not been synchronized for over a year. Signed-off-by: Shiji Yang Link: https://github.com/openwrt/openwrt/pull/19509 Signed-off-by: Hauke Mehrtens --- scripts/projectsmirrors.json | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/projectsmirrors.json b/scripts/projectsmirrors.json index 00306dd904..9763f301e8 100644 --- a/scripts/projectsmirrors.json +++ b/scripts/projectsmirrors.json @@ -49,7 +49,6 @@ "https://mirrors.mit.edu/kernel", "http://ftp.nara.wide.ad.jp/pub/kernel.org", "http://www.ring.gr.jp/archives/linux/kernel.org", - "https://ftp.riken.jp/Linux/kernel.org", "https://www.mirrorservice.org/sites/ftp.kernel.org/pub", "https://mirrors.ustc.edu.cn/kernel.org" ], From d12a603de5755fc485f02e025ad05330dc468240 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 20 Jul 2025 18:16:17 +0200 Subject: [PATCH 09/33] kernel: kmod-md-multipath: Depend on kernel 6.6 This driver was removed in kernel 6.8 [0], make it depend on kernel 6.6 for now. [0]: https://git.kernel.org/linus/d8730f0cf4effa015bc5e8840d8f8fb3cdb01aab Link: https://github.com/openwrt/openwrt/pull/19480 Signed-off-by: Hauke Mehrtens --- package/kernel/linux/modules/block.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/kernel/linux/modules/block.mk b/package/kernel/linux/modules/block.mk index 3dbeca9f9f..ab2496a2fe 100644 --- a/package/kernel/linux/modules/block.mk +++ b/package/kernel/linux/modules/block.mk @@ -419,7 +419,7 @@ $(eval $(call KernelPackage,md-raid456)) define KernelPackage/md-multipath -$(call KernelPackage/md/Depends,) +$(call KernelPackage/md/Depends,@LINUX_6_6) TITLE:=MD Multipath Module KCONFIG:=CONFIG_MD_MULTIPATH FILES:=$(LINUX_DIR)/drivers/md/multipath.ko From b1968034c276d6e9736fa13d88131df021b01240 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 20 Jul 2025 18:20:16 +0200 Subject: [PATCH 10/33] kernel: kmod-hwmon-max6642: Depend on kernel 6.6 This driver was removed in kernel 6.11 [0], make it depend on kernel 6.6 for now. [0]: https://git.kernel.org/linus/ed99ae74f2328e42286880c946953a8f9dd95a7e Link: https://github.com/openwrt/openwrt/pull/19480 Signed-off-by: Hauke Mehrtens --- package/kernel/linux/modules/hwmon.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/kernel/linux/modules/hwmon.mk b/package/kernel/linux/modules/hwmon.mk index a765976aac..8e22243481 100644 --- a/package/kernel/linux/modules/hwmon.mk +++ b/package/kernel/linux/modules/hwmon.mk @@ -407,7 +407,7 @@ define KernelPackage/hwmon-max6642 KCONFIG:=CONFIG_SENSORS_MAX6642 FILES:=$(LINUX_DIR)/drivers/hwmon/max6642.ko AUTOLOAD:=$(call AutoLoad,60,max6642 max6642) - $(call AddDepends/hwmon,+kmod-i2c-core) + $(call AddDepends/hwmon,@LINUX_6_6 +kmod-i2c-core) endef define KernelPackage/hwmon-max6642/description From 5ad165e4908c421a0e134b8abf71d93c9a4ee380 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 20 Jul 2025 18:28:53 +0200 Subject: [PATCH 11/33] kernel: kmod-sched-act-ipt: Depend on kernel 6.6 This driver was removed in kernel 6.8 [0], make it depend on kernel 6.6 for now. [0]: https://git.kernel.org/linus/ba24ea129126362e7139fed4e13701ca5b71ac0b Link: https://github.com/openwrt/openwrt/pull/19480 Signed-off-by: Hauke Mehrtens --- package/kernel/linux/modules/netsupport.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/kernel/linux/modules/netsupport.mk b/package/kernel/linux/modules/netsupport.mk index 941edbf22c..b0524718e2 100644 --- a/package/kernel/linux/modules/netsupport.mk +++ b/package/kernel/linux/modules/netsupport.mk @@ -781,7 +781,7 @@ $(eval $(call KernelPackage,sched-act-sample)) define KernelPackage/sched-act-ipt SUBMENU:=$(NETWORK_SUPPORT_MENU) TITLE:=IPtables targets - DEPENDS:=+kmod-ipt-core +kmod-sched-core + DEPENDS:=@LINUX_6_6 +kmod-ipt-core +kmod-sched-core KCONFIG:=CONFIG_NET_ACT_IPT FILES:=$(LINUX_DIR)/net/sched/act_ipt.ko AUTOLOAD:=$(call AutoProbe, act_ipt) From 33e8f316fd9ab79412161e891550c0f42a5ccf62 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 20 Jul 2025 18:52:28 +0200 Subject: [PATCH 12/33] kernel: kmod-ledtrig-audio: Depend on kernel 6.6 This driver was removed in kernel 6.10 [0], make it depend on kernel 6.6 for now. [0]: https://git.kernel.org/linus/a24de38de8046c075777bd6b8a291ae1ee56f71c Link: https://github.com/openwrt/openwrt/pull/19480 Signed-off-by: Hauke Mehrtens --- package/kernel/linux/modules/leds.mk | 1 + package/kernel/linux/modules/sound.mk | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/package/kernel/linux/modules/leds.mk b/package/kernel/linux/modules/leds.mk index 91d4caac41..d4c42cea17 100644 --- a/package/kernel/linux/modules/leds.mk +++ b/package/kernel/linux/modules/leds.mk @@ -58,6 +58,7 @@ $(eval $(call KernelPackage,ledtrig-activity)) define KernelPackage/ledtrig-audio SUBMENU:=$(LEDS_MENU) TITLE:=LED Audio Mute Trigger + DEPENDS:=@LINUX_6_6 KCONFIG:=CONFIG_LEDS_TRIGGER_AUDIO FILES:=$(LED_TRIGGER_DIR)/ledtrig-audio.ko AUTOLOAD:=$(call AutoLoad,50,ledtrig-audio) diff --git a/package/kernel/linux/modules/sound.mk b/package/kernel/linux/modules/sound.mk index b7ad8ce0a6..af5aadd360 100644 --- a/package/kernel/linux/modules/sound.mk +++ b/package/kernel/linux/modules/sound.mk @@ -361,7 +361,7 @@ $(eval $(call KernelPackage,sound-dummy)) define KernelPackage/sound-hda-core SUBMENU:=$(SOUND_MENU) TITLE:=HD Audio Sound Core Support - DEPENDS:=+kmod-ledtrig-audio + DEPENDS:=+LINUX_6_6:kmod-ledtrig-audio KCONFIG:= \ CONFIG_SND_HDA_CORE \ CONFIG_SND_HDA_HWDEP=y \ From aa04a5366c53986698b5ef19b2c76d7197084b36 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 20 Jul 2025 19:18:45 +0200 Subject: [PATCH 13/33] kernel: kmod-video-cpia2: Remove driver This driver was removed in kernel 6.3 [0], remove it from OpenWrt too. [0]: https://git.kernel.org/linus/9ea8a9c72a9b4d24e6045ee25f5e465dc22f9f55 Link: https://github.com/openwrt/openwrt/pull/19480 Signed-off-by: Hauke Mehrtens --- package/kernel/linux/modules/video.mk | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/package/kernel/linux/modules/video.mk b/package/kernel/linux/modules/video.mk index 0b064a468d..9472c67b80 100644 --- a/package/kernel/linux/modules/video.mk +++ b/package/kernel/linux/modules/video.mk @@ -783,21 +783,6 @@ endef $(eval $(call KernelPackage,video-fwnode)) -define KernelPackage/video-cpia2 - TITLE:=CPIA2 video driver - DEPENDS:=@USB_SUPPORT - KCONFIG:=CONFIG_VIDEO_CPIA2 - FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/cpia2/cpia2.ko - AUTOLOAD:=$(call AutoProbe,cpia2) - $(call AddDepends/camera) -endef - -define KernelPackage/video-cpia2/description - Kernel modules for supporting CPIA2 USB based cameras -endef - -$(eval $(call KernelPackage,video-cpia2)) - define KernelPackage/video-pwc TITLE:=Philips USB webcam support From 7b3e9b7bab8274736834f1bb45cfd34d8609e463 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 20 Jul 2025 18:34:59 +0200 Subject: [PATCH 14/33] kernel: kmod-ag71xx: Depend on ath79 only The kernel driver configuration depends on ath79 or compile test and not on PCI. Allow this package in OpenWrt only for the ath79 target. Link: https://github.com/openwrt/openwrt/pull/19480 Signed-off-by: Hauke Mehrtens --- package/kernel/linux/modules/netdevices.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/kernel/linux/modules/netdevices.mk b/package/kernel/linux/modules/netdevices.mk index 3779246646..e52d6f1e6a 100644 --- a/package/kernel/linux/modules/netdevices.mk +++ b/package/kernel/linux/modules/netdevices.mk @@ -36,7 +36,7 @@ $(eval $(call KernelPackage,skge)) define KernelPackage/ag71xx SUBMENU:=$(NETWORK_DEVICES_MENU) TITLE:=Atheros AR7XXX/AR9XXX ethernet mac support - DEPENDS:=@PCI_SUPPORT||TARGET_ath79 +kmod-phylink +kmod-mdio-devres +kmod-net-selftests + DEPENDS:=@TARGET_ath79 +kmod-phylink +kmod-mdio-devres +kmod-net-selftests KCONFIG:=CONFIG_AG71XX FILES:=$(LINUX_DIR)/drivers/net/ethernet/atheros/ag71xx.ko AUTOLOAD:=$(call AutoLoad,50,ag71xx,1) From 810b86fb7d15a48552bda95c03c83df75d57a209 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 20 Jul 2025 18:24:45 +0200 Subject: [PATCH 15/33] kernel: kmod-backlight-pwm/kmod-hwmon-pwmfan: Depend on PWM_SUPPORT These drivers depend on the kernel option CONFIG_PWM, only add them to OpenWrt for targets which have PWM support. Link: https://github.com/openwrt/openwrt/pull/19480 Signed-off-by: Hauke Mehrtens --- package/kernel/linux/modules/hwmon.mk | 2 +- package/kernel/linux/modules/video.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/kernel/linux/modules/hwmon.mk b/package/kernel/linux/modules/hwmon.mk index 8e22243481..21c522edcd 100644 --- a/package/kernel/linux/modules/hwmon.mk +++ b/package/kernel/linux/modules/hwmon.mk @@ -529,7 +529,7 @@ define KernelPackage/hwmon-pwmfan KCONFIG:=CONFIG_SENSORS_PWM_FAN FILES:=$(LINUX_DIR)/drivers/hwmon/pwm-fan.ko AUTOLOAD:=$(call AutoLoad,60,pwm-fan) - $(call AddDepends/hwmon, +PACKAGE_kmod-thermal:kmod-thermal) + $(call AddDepends/hwmon,@PWM_SUPPORT +PACKAGE_kmod-thermal:kmod-thermal) endef define KernelPackage/hwmon-pwmfan/description diff --git a/package/kernel/linux/modules/video.mk b/package/kernel/linux/modules/video.mk index 9472c67b80..a024ac0fed 100644 --- a/package/kernel/linux/modules/video.mk +++ b/package/kernel/linux/modules/video.mk @@ -86,7 +86,7 @@ $(eval $(call KernelPackage,backlight)) define KernelPackage/backlight-pwm SUBMENU:=$(VIDEO_MENU) TITLE:=PWM Backlight support - DEPENDS:=+kmod-backlight + DEPENDS:=@PWM_SUPPORT +kmod-backlight KCONFIG:=CONFIG_BACKLIGHT_PWM FILES:=$(LINUX_DIR)/drivers/video/backlight/pwm_bl.ko AUTOLOAD:=$(call AutoProbe,video pwm_bl) From 9f6a7bf3ea1336e9644040fb342430310dc23854 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 20 Jul 2025 21:48:36 +0200 Subject: [PATCH 16/33] kernel: kmod-pinctrl-mcp23s08: Depend on PINCTRL The kernel driver configuration depends on PINCTRL. Show this driver only on targets supporting pinctrl. Link: https://github.com/openwrt/openwrt/pull/19480 Signed-off-by: Hauke Mehrtens --- package/kernel/linux/modules/other.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/kernel/linux/modules/other.mk b/package/kernel/linux/modules/other.mk index 42c7ab06e8..91ace8d428 100644 --- a/package/kernel/linux/modules/other.mk +++ b/package/kernel/linux/modules/other.mk @@ -220,7 +220,7 @@ define KernelPackage/pinctrl-mcp23s08 SUBMENU:=$(OTHER_MENU) TITLE:=Microchip MCP23xxx I/O expander HIDDEN:=1 - DEPENDS:=@GPIO_SUPPORT +kmod-regmap-core + DEPENDS:=@GPIO_SUPPORT @PINCTRL_SUPPORT +kmod-regmap-core KCONFIG:=CONFIG_PINCTRL_MCP23S08 FILES:=$(LINUX_DIR)/drivers/pinctrl/pinctrl-mcp23s08.ko AUTOLOAD:=$(call AutoLoad,40,pinctrl-mcp23s08) From 858ce9ad1e74df49ecce6be8755cfdc4a8a06f96 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 20 Jul 2025 18:38:49 +0200 Subject: [PATCH 17/33] kernel: kmod-industrialio-backend: Mark hidden The Kernel config option CONFIG_IIO_BACKEND has no title and can not be directly selected. Do the same for this kmod and make it hidden. Link: https://github.com/openwrt/openwrt/pull/19480 Signed-off-by: Hauke Mehrtens --- package/kernel/linux/modules/iio.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/package/kernel/linux/modules/iio.mk b/package/kernel/linux/modules/iio.mk index d3bc1686ac..99fe30b96c 100644 --- a/package/kernel/linux/modules/iio.mk +++ b/package/kernel/linux/modules/iio.mk @@ -49,6 +49,7 @@ $(eval $(call KernelPackage,iio-kfifo-buf)) define KernelPackage/industrialio-backend TITLE:=IIO Backend support + HIDDEN:=1 KCONFIG=CONFIG_IIO_BACKEND FILES:=$(LINUX_DIR)/drivers/iio/industrialio-backend.ko AUTOLOAD:=$(call AutoProbe,industrialio-backend) From 476902afa63ee030aaf4c205e837a875c20fdb08 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 20 Jul 2025 18:45:19 +0200 Subject: [PATCH 18/33] kernel: kmod-crypto-engine: Mark hidden The Kernel config option CONFIG_CRYPTO_ENGINE has no title and can not be directly selected. Do the same for this kmod and make it hidden. Link: https://github.com/openwrt/openwrt/pull/19480 Signed-off-by: Hauke Mehrtens --- package/kernel/linux/modules/crypto.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/package/kernel/linux/modules/crypto.mk b/package/kernel/linux/modules/crypto.mk index d518917ea8..d1b3f39940 100644 --- a/package/kernel/linux/modules/crypto.mk +++ b/package/kernel/linux/modules/crypto.mk @@ -251,6 +251,7 @@ $(eval $(call KernelPackage,crypto-echainiv)) define KernelPackage/crypto-engine TITLE:=Crypto engine + HIDDEN:=1 KCONFIG:=CONFIG_CRYPTO_ENGINE FILES:=$(LINUX_DIR)/crypto/crypto_engine.ko AUTOLOAD:=$(call AutoLoad,09,crypto_engine) From aa51a1c13a3aaf7042a3998080cfabcf7f3d7b68 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 20 Jul 2025 18:48:38 +0200 Subject: [PATCH 19/33] kernel: kmod-crypto-lib-aescfb: Mark hidden The Kernel config option CONFIG_CRYPTO_LIB_AESCFB has no title and can not be directly selected. Do the same for this kmod and make it hidden. Link: https://github.com/openwrt/openwrt/pull/19480 Signed-off-by: Hauke Mehrtens --- package/kernel/linux/modules/crypto.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/package/kernel/linux/modules/crypto.mk b/package/kernel/linux/modules/crypto.mk index d1b3f39940..21197baad4 100644 --- a/package/kernel/linux/modules/crypto.mk +++ b/package/kernel/linux/modules/crypto.mk @@ -562,6 +562,7 @@ $(eval $(call KernelPackage,crypto-kpp)) define KernelPackage/crypto-lib-aescfb TITLE:=AES cipher operations feedback mode library DEPENDS:=@!LINUX_6_6 + HIDDEN:=1 KCONFIG:=CONFIG_CRYPTO_LIB_AESCFB FILES:=$(LINUX_DIR)/lib/crypto/libaescfb.ko AUTOLOAD:=$(call AutoLoad,09,libaescfb) From b43ef49cf2aeed6443c3e9cc810ac7e7f6a6aee2 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 20 Jul 2025 19:20:56 +0200 Subject: [PATCH 20/33] kernel: kmod-video-fwnode: Mark hidden The Kernel config option CONFIG_V4L2_FWNODE has no title and can not be directly selected. Do the same for this kmod and make it hidden. Link: https://github.com/openwrt/openwrt/pull/19480 Signed-off-by: Hauke Mehrtens --- package/kernel/linux/modules/video.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/package/kernel/linux/modules/video.mk b/package/kernel/linux/modules/video.mk index a024ac0fed..d0ceea14e7 100644 --- a/package/kernel/linux/modules/video.mk +++ b/package/kernel/linux/modules/video.mk @@ -775,6 +775,7 @@ $(eval $(call KernelPackage,video-async)) define KernelPackage/video-fwnode TITLE:=V4L2 FWNODE support + HIDDEN:=1 KCONFIG:=CONFIG_V4L2_FWNODE FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_DIR)/v4l2-fwnode.ko $(call AddDepends/video,+kmod-video-async) From dd8c498a20ada1798b63a3334c18ae22d996d37b Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 20 Jul 2025 19:21:48 +0200 Subject: [PATCH 21/33] kernel: kmod-video-async: Mark hidden The Kernel config option CONFIG_V4L2_ASYNC has no title and can not be directly selected. Do the same for this kmod and make it hidden. Link: https://github.com/openwrt/openwrt/pull/19480 Signed-off-by: Hauke Mehrtens --- package/kernel/linux/modules/video.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/package/kernel/linux/modules/video.mk b/package/kernel/linux/modules/video.mk index d0ceea14e7..ddec9dd3f0 100644 --- a/package/kernel/linux/modules/video.mk +++ b/package/kernel/linux/modules/video.mk @@ -765,6 +765,7 @@ $(eval $(call KernelPackage,video-videobuf2)) define KernelPackage/video-async TITLE:=V4L2 ASYNC support + HIDDEN:=1 KCONFIG:=CONFIG_V4L2_ASYNC FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_DIR)/v4l2-async.ko $(call AddDepends/video) From 666d43eafbea86158b5e89c9ba1611b98fe1c704 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 20 Jul 2025 19:23:45 +0200 Subject: [PATCH 22/33] kernel: kmod-drm-buddy: Mark hidden The Kernel config option CONFIG_DRM_BUDDY has no title and can not be directly selected. Do the same for this kmod and make it hidden. Link: https://github.com/openwrt/openwrt/pull/19480 Signed-off-by: Hauke Mehrtens --- package/kernel/linux/modules/video.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/package/kernel/linux/modules/video.mk b/package/kernel/linux/modules/video.mk index ddec9dd3f0..97716bab30 100644 --- a/package/kernel/linux/modules/video.mk +++ b/package/kernel/linux/modules/video.mk @@ -305,6 +305,7 @@ define KernelPackage/drm-buddy SUBMENU:=$(VIDEO_MENU) TITLE:=A page based buddy allocator DEPENDS:=@DISPLAY_SUPPORT +kmod-drm + HIDDEN:=1 KCONFIG:=CONFIG_DRM_BUDDY FILES:= $(LINUX_DIR)/drivers/gpu/drm/drm_buddy.ko AUTOLOAD:=$(call AutoProbe,drm_buddy) From 8bcc6d1894eb7f0ca11151425eebda56e2d33c1b Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 20 Jul 2025 19:24:37 +0200 Subject: [PATCH 23/33] kernel: kmod-drm-display-helper: Mark hidden The Kernel config option CONFIG_DRM_DISPLAY_HELPER has no title and can not be directly selected. Do the same for this kmod and make it hidden. Link: https://github.com/openwrt/openwrt/pull/19480 Signed-off-by: Hauke Mehrtens --- package/kernel/linux/modules/video.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/package/kernel/linux/modules/video.mk b/package/kernel/linux/modules/video.mk index 97716bab30..6b4dc6a3b2 100644 --- a/package/kernel/linux/modules/video.mk +++ b/package/kernel/linux/modules/video.mk @@ -321,6 +321,7 @@ define KernelPackage/drm-display-helper SUBMENU:=$(VIDEO_MENU) TITLE:=DRM helpers for display adapters drivers DEPENDS:=@DISPLAY_SUPPORT +kmod-drm-kms-helper + HIDDEN:=1 KCONFIG:=CONFIG_DRM_DISPLAY_HELPER FILES:=$(LINUX_DIR)/drivers/gpu/drm/display/drm_display_helper.ko AUTOLOAD:=$(call AutoProbe,drm_display_helper) From 2aea616d11f0f3e6beb7ea7df07189851b1a3b8d Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 20 Jul 2025 19:26:44 +0200 Subject: [PATCH 24/33] kernel: kmod-lib-objagg: Mark hidden The Kernel config option CONFIG_OBJAGG has no title and can not be directly selected. Do the same for this kmod and make it hidden. Link: https://github.com/openwrt/openwrt/pull/19480 Signed-off-by: Hauke Mehrtens --- package/kernel/linux/modules/lib.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/package/kernel/linux/modules/lib.mk b/package/kernel/linux/modules/lib.mk index dc51cd0071..4f2cd8f320 100644 --- a/package/kernel/linux/modules/lib.mk +++ b/package/kernel/linux/modules/lib.mk @@ -359,6 +359,7 @@ $(eval $(call KernelPackage,oid-registry)) define KernelPackage/lib-objagg SUBMENU:=$(LIB_MENU) TITLE:=objagg support + HIDDEN:=1 FILES:=$(LINUX_DIR)/lib/objagg.ko KCONFIG:= \ CONFIG_OBJAGG \ From 1ba25858ffa768dae2010b93894d333bd0a8e76a Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 20 Jul 2025 19:27:16 +0200 Subject: [PATCH 25/33] kernel: kmod-lib-parman: Mark hidden The Kernel config option CONFIG_PARMAN has no title and can not be directly selected. Do the same for this kmod and make it hidden. Link: https://github.com/openwrt/openwrt/pull/19480 Signed-off-by: Hauke Mehrtens --- package/kernel/linux/modules/lib.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/package/kernel/linux/modules/lib.mk b/package/kernel/linux/modules/lib.mk index 4f2cd8f320..af445c84a1 100644 --- a/package/kernel/linux/modules/lib.mk +++ b/package/kernel/linux/modules/lib.mk @@ -373,6 +373,7 @@ $(eval $(call KernelPackage,lib-objagg)) define KernelPackage/lib-parman SUBMENU:=$(LIB_MENU) TITLE:=parman support + HIDDEN:=1 FILES:=$(LINUX_DIR)/lib/parman.ko KCONFIG:= \ CONFIG_PARMAN \ From 5a04f17857b53644bcbab2485d906dc09470a837 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 20 Jul 2025 19:44:42 +0200 Subject: [PATCH 26/33] kernel: kmod-phy-bcm7xxx: Add driver The CONFIG_BCMGENET kernel config option will select this driver. Add the driver to the kernel config menu and make kmod-bcmgenet depend on it. Link: https://github.com/openwrt/openwrt/pull/19480 Signed-off-by: Hauke Mehrtens --- package/kernel/linux/modules/netdevices.mk | 17 +++++++++++++++++ target/linux/armsr/modules.mk | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/package/kernel/linux/modules/netdevices.mk b/package/kernel/linux/modules/netdevices.mk index e52d6f1e6a..ebd29ce601 100644 --- a/package/kernel/linux/modules/netdevices.mk +++ b/package/kernel/linux/modules/netdevices.mk @@ -374,6 +374,23 @@ endef $(eval $(call KernelPackage,phy-broadcom)) +define KernelPackage/phy-bcm7xxx + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Broadcom 7xxx SOCs internal PHYs + KCONFIG:=CONFIG_BCM7XXX_PHY + DEPENDS:=+kmod-libphy +kmod-phylib-broadcom + FILES:=$(LINUX_DIR)/drivers/net/phy/bcm7xxx.ko + AUTOLOAD:=$(call AutoLoad,18,bcm7xxx,1) +endef + +define KernelPackage/phy-bcm7xxx/description + Currently supports the BCM7366, BCM7439, BCM7445, and + 40nm and 65nm generation of BCM7xxx Set Top Box SoCs. +endef + +$(eval $(call KernelPackage,phy-bcm7xxx)) + + define KernelPackage/phy-bcm84881 SUBMENU:=$(NETWORK_DEVICES_MENU) TITLE:=Broadcom BCM84881 PHY driver diff --git a/target/linux/armsr/modules.mk b/target/linux/armsr/modules.mk index d570d7f74e..15fc2f909e 100644 --- a/target/linux/armsr/modules.mk +++ b/target/linux/armsr/modules.mk @@ -15,7 +15,7 @@ $(eval $(call KernelPackage,acpi-mdio)) define KernelPackage/bcmgenet SUBMENU=$(NETWORK_DEVICES_MENU) - DEPENDS:=@TARGET_armsr +kmod-mdio-bcm-unimac + DEPENDS:=@TARGET_armsr +kmod-mdio-bcm-unimac +kmod-phy-bcm7xxx TITLE:=Broadcom GENET internal MAC (Raspberry Pi 4) KCONFIG:=CONFIG_BCMGENET FILES=$(LINUX_DIR)/drivers/net/ethernet/broadcom/genet/genet.ko From 75f090ef960ecb4c042ffeb1f5bd931150a19714 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 20 Jul 2025 19:53:36 +0200 Subject: [PATCH 27/33] kernel: kmod-dsa-notag: Add driver The CONFIG_B53 kernel config option will select this driver. Add the driver to the kernel config menu and make kmod-dsa-b53 depend on it. Link: https://github.com/openwrt/openwrt/pull/19480 Signed-off-by: Hauke Mehrtens --- package/kernel/linux/modules/netdevices.mk | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/package/kernel/linux/modules/netdevices.mk b/package/kernel/linux/modules/netdevices.mk index ebd29ce601..ff581499ed 100644 --- a/package/kernel/linux/modules/netdevices.mk +++ b/package/kernel/linux/modules/netdevices.mk @@ -604,10 +604,25 @@ endef $(eval $(call KernelPackage,dsa)) +define KernelPackage/dsa-notag + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=DSA No-op tag driver + DEPENDS:=+kmod-dsa + KCONFIG:=CONFIG_NET_DSA_TAG_NONE + FILES:=$(LINUX_DIR)/net/dsa/tag_none.ko +endef + +define KernelPackage/dsa-notag/description + Kernel module support for switches which don't tag frames over the CPU port. +endef + +$(eval $(call KernelPackage,dsa-notag)) + + define KernelPackage/dsa-b53 SUBMENU:=$(NETWORK_DEVICES_MENU) TITLE:=Broadcom BCM53xx managed switch DSA support - DEPENDS:=+kmod-dsa + DEPENDS:=+kmod-dsa +kmod-dsa-notag KCONFIG:=CONFIG_B53 \ CONFIG_NET_DSA_TAG_BRCM \ CONFIG_NET_DSA_TAG_BRCM_LEGACY \ From 6ff85791c571466231b4180b433c1561fb68ba23 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 20 Jul 2025 19:58:50 +0200 Subject: [PATCH 28/33] kernel: kmod-fs-nfs-v4: Package nfs_layout*.ko files The nfs_layout_flexfiles.ko and nfs_layout_nfsv41_files.ko file are build automatically when CONFIG_NFS_V4_1 is selected, we can not deactivate them. Pack them into the NFS package too. I do not know if we should also load them automatically. Link: https://github.com/openwrt/openwrt/pull/19480 Signed-off-by: Hauke Mehrtens --- package/kernel/linux/modules/fs.mk | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/package/kernel/linux/modules/fs.mk b/package/kernel/linux/modules/fs.mk index c71f0d9eb7..d818b21d99 100644 --- a/package/kernel/linux/modules/fs.mk +++ b/package/kernel/linux/modules/fs.mk @@ -536,7 +536,9 @@ define KernelPackage/fs-nfs-v4 KCONFIG:= \ CONFIG_NFS_V4=y FILES:= \ - $(LINUX_DIR)/fs/nfs/nfsv4.ko + $(LINUX_DIR)/fs/nfs/nfsv4.ko \ + $(LINUX_DIR)/fs/nfs/flexfilelayout/nfs_layout_flexfiles.ko \ + $(LINUX_DIR)/fs/nfs/filelayout/nfs_layout_nfsv41_files.ko AUTOLOAD:=$(call AutoLoad,41,nfsv4) endef From e9ae1f678cc4a2fc785f427c2d30ee799113173f Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 20 Jul 2025 21:59:58 +0200 Subject: [PATCH 29/33] apm821xx: kmod-ata-dwc: Make kernel module depend on target The kmod-ata-dwc is included in target modules.mk file, it should also depend on the target, otherwise it can be selected from every target. Link: https://github.com/openwrt/openwrt/pull/19480 Signed-off-by: Hauke Mehrtens --- target/linux/apm821xx/modules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/apm821xx/modules.mk b/target/linux/apm821xx/modules.mk index 1abb12a483..9841eccf90 100644 --- a/target/linux/apm821xx/modules.mk +++ b/target/linux/apm821xx/modules.mk @@ -3,7 +3,7 @@ define KernelPackage/ata-dwc KCONFIG:=CONFIG_SATA_DWC FILES:=$(LINUX_DIR)/drivers/ata/sata_dwc_460ex.ko AUTOLOAD:=$(call AutoLoad,40,sata_dwc_460ex,1) - $(call AddDepends/ata) + $(call AddDepends/ata,@TARGET_apm821xx) endef define KernelPackage/ata-dwc/description From da0736c16fbe3980563399bb3cb728f056a3b7a8 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 20 Jul 2025 22:01:14 +0200 Subject: [PATCH 30/33] armsr: Make kernel modules depend on target The kmod-imx2-wdt, kmod-imx7-ulp-wdt and kmod-wdt-sp805 are included in target modules.mk file, they should also depend on the target, otherwise they can be selected from every target. Link: https://github.com/openwrt/openwrt/pull/19480 Signed-off-by: Hauke Mehrtens --- target/linux/armsr/modules.mk | 3 +++ 1 file changed, 3 insertions(+) diff --git a/target/linux/armsr/modules.mk b/target/linux/armsr/modules.mk index 15fc2f909e..cc6907d6f4 100644 --- a/target/linux/armsr/modules.mk +++ b/target/linux/armsr/modules.mk @@ -190,6 +190,7 @@ $(eval $(call KernelPackage,mvpp2)) define KernelPackage/imx2-wdt SUBMENU:=$(OTHER_MENU) TITLE:=NXP (Freescale) i.MX2+ and Layerscape watchdog driver + DEPENDS:=@TARGET_armsr KCONFIG:=CONFIG_IMX2_WDT FILES=$(LINUX_DIR)/drivers/watchdog/imx2_wdt.ko AUTOLOAD=$(call AutoLoad,60,imx2_wdt) @@ -200,6 +201,7 @@ $(eval $(call KernelPackage,imx2-wdt)) define KernelPackage/imx7-ulp-wdt SUBMENU:=$(OTHER_MENU) TITLE:=NXP (Freescale) i.MX7ULP and later watchdog + DEPENDS:=@TARGET_armsr KCONFIG:=CONFIG_IMX7ULP_WDT FILES=$(LINUX_DIR)/drivers/watchdog/imx7ulp_wdt.ko AUTOLOAD=$(call AutoLoad,60,imx7ulp_wdt) @@ -307,6 +309,7 @@ $(eval $(call KernelPackage,renesas-net-avb)) define KernelPackage/wdt-sp805 SUBMENU:=$(OTHER_MENU) TITLE:=ARM SP805 Watchdog + DEPENDS:=@TARGET_armsr KCONFIG:=CONFIG_ARM_SP805_WATCHDOG FILES=$(LINUX_DIR)/drivers/watchdog/sp805_wdt.ko AUTOLOAD=$(call AutoLoad,50,sp805_wdt) From 27643ebfa9fd4d522b842badd4b8187dcd42e8e5 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Mon, 21 Jul 2025 00:23:56 +0200 Subject: [PATCH 31/33] bcm27xx: Make kernel modules depend on target The kmod-rpi-panel-attiny-regulator and kmod-rpi-panel-7inch-touchscreen are included in target modules.mk file, they should also depend on the target, otherwise they can be selected from every target. Fix the AutoProbe for panel-raspberrypi-touchscreen too. Link: https://github.com/openwrt/openwrt/pull/19480 Signed-off-by: Hauke Mehrtens --- target/linux/bcm27xx/modules/video.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/target/linux/bcm27xx/modules/video.mk b/target/linux/bcm27xx/modules/video.mk index 39774a3320..14d5de0de8 100644 --- a/target/linux/bcm27xx/modules/video.mk +++ b/target/linux/bcm27xx/modules/video.mk @@ -45,7 +45,7 @@ define KernelPackage/rpi-panel-attiny-regulator KCONFIG:=CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY FILES:=$(LINUX_DIR)/drivers/regulator/rpi-panel-attiny-regulator.ko AUTOLOAD:=$(call AutoLoad,67,rpi-panel-attiny-regulator) - DEPENDS:=+kmod-regmap-i2c +kmod-backlight + DEPENDS:=@TARGET_bcm27xx +kmod-regmap-i2c +kmod-backlight endef define KernelPackage/rpi-panel-attiny-regulator/description @@ -64,8 +64,8 @@ define KernelPackage/rpi-panel-7inch-touchscreen CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN CONFIG_DRM_MIPI_DSI=y FILES:=$(LINUX_DIR)/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.ko - AUTOLOAD:=$(call AutoProbe,/panel-raspberrypi-touchscreen) - DEPENDS:=+kmod-drm + AUTOLOAD:=$(call AutoProbe,panel-raspberrypi-touchscreen) + DEPENDS:=@TARGET_bcm27xx +kmod-drm endef define KernelPackage/rpi-panel-7inch-touchscreen/description From 3c246f6d031d233688fa6ace86d7792d1c09455d Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Mon, 21 Jul 2025 00:25:43 +0200 Subject: [PATCH 32/33] x86: Activate CONFIG_DRM_ACCEL This allows building the kmod-drm-ivpu which depends on CONFIG_DRM_ACCEL. This module is x86_64 only. Link: https://github.com/openwrt/openwrt/pull/19480 Signed-off-by: Hauke Mehrtens --- target/linux/generic/config-6.12 | 3 +++ target/linux/x86/64/config-6.12 | 1 + 2 files changed, 4 insertions(+) diff --git a/target/linux/generic/config-6.12 b/target/linux/generic/config-6.12 index 53d799bc19..bc4e1c29dc 100644 --- a/target/linux/generic/config-6.12 +++ b/target/linux/generic/config-6.12 @@ -1472,6 +1472,9 @@ CONFIG_DQL=y # CONFIG_DRAGONRISE_FF is not set # CONFIG_DRM is not set # CONFIG_DRM_ACCEL is not set +# CONFIG_DRM_ACCEL_HABANALABS is not set +# CONFIG_DRM_ACCEL_IVPU is not set +# CONFIG_DRM_ACCEL_QAIC is not set # CONFIG_DRM_AMDGPU is not set # CONFIG_DRM_AMDGPU_CIK is not set # CONFIG_DRM_AMDGPU_SI is not set diff --git a/target/linux/x86/64/config-6.12 b/target/linux/x86/64/config-6.12 index ab74aef214..c98d6091b9 100644 --- a/target/linux/x86/64/config-6.12 +++ b/target/linux/x86/64/config-6.12 @@ -129,6 +129,7 @@ CONFIG_DMA_NEED_SYNC=y CONFIG_DMA_OPS_HELPERS=y CONFIG_DMA_SHARED_BUFFER=y CONFIG_DRM=y +CONFIG_DRM_ACCEL=y CONFIG_DRM_BOCHS=y CONFIG_DRM_BRIDGE=y CONFIG_DRM_FBDEV_EMULATION=y From 88c7803197d528f2ee75a70f973de9f0d85d765f Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Mon, 21 Jul 2025 00:27:25 +0200 Subject: [PATCH 33/33] kernel: Reorder kernel configuration This was done by running: ./scripts/kconfig-reorder.sh Link: https://github.com/openwrt/openwrt/pull/19480 Signed-off-by: Hauke Mehrtens --- target/linux/generic/config-6.12 | 14 +++++++------- target/linux/generic/config-6.6 | 12 ++++++------ target/linux/qualcommbe/ipq95xx/config-default | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/target/linux/generic/config-6.12 b/target/linux/generic/config-6.12 index bc4e1c29dc..5d931cf995 100644 --- a/target/linux/generic/config-6.12 +++ b/target/linux/generic/config-6.12 @@ -1909,17 +1909,17 @@ CONFIG_ELFCORE=y CONFIG_EPOLL=y # CONFIG_EQUALIZER is not set # CONFIG_EROFS_FS is not set -# CONFIG_EROFS_FS_DEBUG is not set -# CONFIG_EROFS_FS_XATTR is not set -# CONFIG_EROFS_FS_POSIX_ACL is not set -# CONFIG_EROFS_FS_SECURITY is not set # CONFIG_EROFS_FS_BACKED_BY_FILE is not set -# CONFIG_EROFS_FS_ZIP is not set -# CONFIG_EROFS_FS_ZIP_DEFLATE is not set -# CONFIG_EROFS_FS_ZIP_ZSTD is not set +# CONFIG_EROFS_FS_DEBUG is not set # CONFIG_EROFS_FS_ONDEMAND is not set CONFIG_EROFS_FS_PCPU_KTHREAD=y CONFIG_EROFS_FS_PCPU_KTHREAD_HIPRI=y +# CONFIG_EROFS_FS_POSIX_ACL is not set +# CONFIG_EROFS_FS_SECURITY is not set +# CONFIG_EROFS_FS_XATTR is not set +# CONFIG_EROFS_FS_ZIP is not set +# CONFIG_EROFS_FS_ZIP_DEFLATE is not set +# CONFIG_EROFS_FS_ZIP_ZSTD is not set # CONFIG_ET131X is not set CONFIG_ETHERNET=y # CONFIG_ETHOC is not set diff --git a/target/linux/generic/config-6.6 b/target/linux/generic/config-6.6 index 8ede1d244d..a7d06efed3 100644 --- a/target/linux/generic/config-6.6 +++ b/target/linux/generic/config-6.6 @@ -1841,14 +1841,14 @@ CONFIG_EPOLL=y # CONFIG_EQUALIZER is not set # CONFIG_EROFS_FS is not set # CONFIG_EROFS_FS_DEBUG is not set -# CONFIG_EROFS_FS_XATTR is not set -# CONFIG_EROFS_FS_POSIX_ACL is not set -# CONFIG_EROFS_FS_SECURITY is not set -# CONFIG_EROFS_FS_ZIP is not set -# CONFIG_EROFS_FS_ZIP_DEFLATE is not set # CONFIG_EROFS_FS_ONDEMAND is not set CONFIG_EROFS_FS_PCPU_KTHREAD=y CONFIG_EROFS_FS_PCPU_KTHREAD_HIPRI=y +# CONFIG_EROFS_FS_POSIX_ACL is not set +# CONFIG_EROFS_FS_SECURITY is not set +# CONFIG_EROFS_FS_XATTR is not set +# CONFIG_EROFS_FS_ZIP is not set +# CONFIG_EROFS_FS_ZIP_DEFLATE is not set # CONFIG_ET131X is not set CONFIG_ETHERNET=y # CONFIG_ETHOC is not set @@ -3625,7 +3625,6 @@ CONFIG_MODULE_UNLOAD=y # CONFIG_MODVERSIONS is not set # CONFIG_MOST is not set # CONFIG_MOTORCOMM_PHY is not set -# CONFIG_MOUSE_SERIAL is not set # CONFIG_MOUSE_APPLETOUCH is not set # CONFIG_MOUSE_BCM5974 is not set # CONFIG_MOUSE_CYAPA is not set @@ -3636,6 +3635,7 @@ CONFIG_MODULE_UNLOAD=y # CONFIG_MOUSE_PC110PAD is not set # CONFIG_MOUSE_PS2_FOCALTECH is not set # CONFIG_MOUSE_PS2_SENTELIC is not set +# CONFIG_MOUSE_SERIAL is not set # CONFIG_MOUSE_SYNAPTICS_I2C is not set # CONFIG_MOUSE_SYNAPTICS_USB is not set # CONFIG_MOUSE_VSXXXAA is not set diff --git a/target/linux/qualcommbe/ipq95xx/config-default b/target/linux/qualcommbe/ipq95xx/config-default index 893763b68e..663644407a 100644 --- a/target/linux/qualcommbe/ipq95xx/config-default +++ b/target/linux/qualcommbe/ipq95xx/config-default @@ -58,8 +58,8 @@ CONFIG_REGULATOR_QCOM_SPMI=y # CONFIG_REGULATOR_QCOM_USB_VBUS is not set CONFIG_REGULATOR_USERSPACE_CONSUMER=y CONFIG_RTC_DRV_PM8XXX=y -CONFIG_SPI_QPIC_SNAND=y CONFIG_RTL8261N_PHY=y +CONFIG_SPI_QPIC_SNAND=y CONFIG_SPMI=y # CONFIG_SPMI_HISI3670 is not set CONFIG_SPMI_MSM_PMIC_ARB=y