[openwrt/openwrt] kernel: bump 6.6 to 6.6.93

LEDE Commits lede-commits at lists.infradead.org
Sun Jun 15 04:39:53 PDT 2025


hauke pushed a commit to openwrt/openwrt.git, branch openwrt-24.10:
https://git.openwrt.org/7d620f83e39e189edf25a37ef70e6abb83a35115

commit 7d620f83e39e189edf25a37ef70e6abb83a35115
Author: John Audia <therealgraysky at proton.me>
AuthorDate: Wed Jun 4 10:42:35 2025 -0400

    kernel: bump 6.6 to 6.6.93
    
    Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.93
    
    Removed upstreamed:
            backport-6.6/780-51-v6.15-r8169-don-t-scan-PHY-addresses-0.patch[1]
    Additionally removed during backporting to 24.10:
            platform/950-0423-media-i2c-imx219-Correct-the-minimum-vblanking-value.patch [2]
            platform/950-1550-drm-v3d-Add-clock-handling.patch [3]
    
    1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.93&id=961ee132104b09e054308e53d8ab4a2386a21904
    2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.93&id=0b9d2468c3d88c924f505e950c4de74ace09795c
    3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.93&id=9ef9ecabc6b559a0cf8603696997625087791a53
    
    All other patches automatically rebased.
    
    Build system: x86/64
    Build-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64
    Run-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64
    
    Signed-off-by: John Audia <therealgraysky at proton.me>
    Link: https://github.com/openwrt/openwrt/pull/19026
    Signed-off-by: Nick Hainke <vincent at systemli.org>
    (cherry picked from commit a878dd24e7985ab87420df3e2551c99ba794838a)
    Co-authored-by: Goetz Goerisch <ggoerisch at gmail.com>
    Signed-off-by: Goetz Goerisch <ggoerisch at gmail.com>
    Link: https://github.com/openwrt/openwrt/pull/19113
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 include/kernel-6.6                                 |   4 +-
 .../patches-6.6/900-unaligned_access_hacks.patch   |   2 +-
 ...helpers-remove-legacy_cursor_update-hacks.patch |   4 +-
 ...950-0092-MMC-added-alternative-MMC-driver.patch |   4 +-
 ...-adv7180-Default-to-the-first-valid-input.patch |   4 +-
 ...ia-adv7180-Add-YPrPb-support-for-ADV7282M.patch |   2 +-
 ...67-drm-v3d-Clock-V3D-down-when-not-in-use.patch |   4 +-
 ...-device-quirks-for-Freeway-Airmouse-T3-an.patch |   8 +-
 ..._drv-Handle-missing-clock-more-gracefully.patch |   2 +-
 ...6-drm-v3d-Switch-clock-setting-to-new-api.patch |   4 +-
 ...v7180-Nasty-hack-to-allow-input-selection.patch |   8 +-
 ...-pca953x-Add-ti-tca9554-compatible-string.patch |   2 +-
 ...mx219-Correct-the-minimum-vblanking-value.patch |  26 -----
 ...0-0485-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch |   6 +-
 .../950-0514-sdhci-Add-SD-Express-hook.patch       |   6 +-
 .../950-0521-PCI-brcmstb-Add-BCM2712-support.patch |  11 --
 ...ers-mmc-sdhci-add-SPURIOUS_INT_RESP-quirk.patch |   2 +-
 ...dv7180-Use-MEDIA_BUS_FMT_UYVY8_1X16-for-C.patch |   4 +-
 ...dv7180-Add-support-for-V4L2_CID_LINK_FREQ.patch |  16 +--
 ...esignware-Support-non-standard-bus-speeds.patch |   2 +-
 ...xtend-maximum-ADMA-transfer-length-to-4Mi.patch |   2 +-
 ...ignware-Add-support-for-bus-clear-feature.patch |   4 +-
 .../950-1550-drm-v3d-Add-clock-handling.patch      | 129 ---------------------
 ...ociate-a-V3D-tech-revision-to-all-support.patch |   2 +-
 ...-V3D_SMS-registers-for-power-on-off-and-r.patch |   2 +-
 ...sun4i-codec-add-basic-support-for-D1-audi.patch |  47 ++++----
 ...t-mtk_eth_soc-rely-on-mtk_pse_port-defini.patch |   2 +-
 ...t-mtk_wed-introduce-WED-support-for-MT798.patch |   2 +-
 ...t-mtk_wed-introduce-partial-AMSDU-offload.patch |   4 +-
 ...t-mtk_eth_soc-ppe-add-support-for-multipl.patch |   4 +-
 ...t-mtk_eth_soc-ppe-prevent-ppe-update-for-.patch |   2 +-
 ...-add-support-for-LED-s-on-RTL8168-RTL8101.patch |   4 +-
 ...169-fix-building-with-CONFIG_LEDS_CLASS-m.patch |   2 +-
 .../780-07-v6.9-r8169-simplify-EEE-handling.patch  |   4 +-
 ...80-08-v6.9-r8169-add-support-for-RTL8126A.patch |   2 +-
 ...ify-code-by-using-core-provided-pcpu-stat.patch |   4 +-
 ...r8169-add-LED-support-for-RTL8125-RTL8126.patch |   2 +-
 ...ix-LED-related-deadlock-on-module-removal.patch |   2 +-
 ...6.12-r8169-add-support-for-RTL8126A-rev.b.patch |   2 +-
 ...e-SG-TSO-on-selected-chip-versions-per-de.patch |   4 +-
 ...move-leftover-locks-after-reverted-change.patch |   2 +-
 ...vendor-driver-2.5G-5G-EEE-advertisement-c.patch |   2 +-
 ...-r8169-remove-support-for-chip-version-11.patch |   2 +-
 ...8169-adjust-version-numbering-for-RTL8126.patch |   2 +-
 ...51-v6.15-r8169-don-t-scan-PHY-addresses-0.patch |  26 -----
 ...01-nvmem-qfprom-Mark-core-clk-as-optional.patch |   2 +-
 ...7-0004-Revert-nvmem-add-new-config-option.patch |   2 +-
 ...of_nvmem_layout_get_container-in-another-.patch |   2 +-
 ...-Rework-layouts-to-become-regular-devices.patch |  20 ++--
 ...006-nvmem-core-Expose-cells-through-sysfs.patch |   4 +-
 ...ts-refactor-.add_cells-callback-arguments.patch |   2 +-
 ...09-nvmem-drop-nvmem_layout_get_match_data.patch |   2 +-
 ...ore-Print-error-on-wrong-bits-DT-property.patch |   2 +-
 ...ds-trigger-netdev-Extend-speeds-up-to-10G.patch |  14 +--
 .../generic/hack-6.6/901-debloat_sock_diag.patch   |   2 +-
 .../linux/generic/hack-6.6/902-debloat_proc.patch  |   4 +-
 ...jecting-with-source-address-failed-policy.patch |   2 +-
 ...-core-support-mac-base-fixed-layout-cells.patch |   4 +-
 ...pufreq-qcom-nvmem-add-support-for-IPQ6018.patch |   2 +-
 ...pufreq-qcom-nvmem-add-support-for-IPQ8074.patch |   2 +-
 ...-improve-performance-usb-using-lowmem-for.patch |   2 +-
 61 files changed, 129 insertions(+), 320 deletions(-)

diff --git a/include/kernel-6.6 b/include/kernel-6.6
index 96534d711c..c39b5c102a 100644
--- a/include/kernel-6.6
+++ b/include/kernel-6.6
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.6 = .92
-LINUX_KERNEL_HASH-6.6.92 = 1d82a82642d281c31d86f7301bc55e12a8a9f9c04532e249ef8ae6fe7dc237ec
+LINUX_VERSION-6.6 = .93
+LINUX_KERNEL_HASH-6.6.93 = 0d79ff359635e9f009f1e330deed5f3aefd8c452b80660bffdc504b877797719
diff --git a/target/linux/ath79/patches-6.6/900-unaligned_access_hacks.patch b/target/linux/ath79/patches-6.6/900-unaligned_access_hacks.patch
index bc1c1dd82d..92c8cd90d1 100644
--- a/target/linux/ath79/patches-6.6/900-unaligned_access_hacks.patch
+++ b/target/linux/ath79/patches-6.6/900-unaligned_access_hacks.patch
@@ -751,7 +751,7 @@ SVN-Revision: 35130
  EXPORT_SYMBOL(xfrm_parse_spi);
 --- a/net/ipv4/tcp_input.c
 +++ b/net/ipv4/tcp_input.c
-@@ -4268,14 +4268,16 @@ static bool tcp_parse_aligned_timestamp(
+@@ -4276,14 +4276,16 @@ static bool tcp_parse_aligned_timestamp(
  {
  	const __be32 *ptr = (const __be32 *)(th + 1);
  
diff --git a/target/linux/bcm27xx/patches-6.6/950-0025-drm-atomic-helpers-remove-legacy_cursor_update-hacks.patch b/target/linux/bcm27xx/patches-6.6/950-0025-drm-atomic-helpers-remove-legacy_cursor_update-hacks.patch
index a0981c9c0d..6655920b1e 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0025-drm-atomic-helpers-remove-legacy_cursor_update-hacks.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0025-drm-atomic-helpers-remove-legacy_cursor_update-hacks.patch
@@ -60,7 +60,7 @@ Signed-off-by: Maxime Ripard <maxime at cerno.tech>
 
 --- a/drivers/gpu/drm/drm_atomic_helper.c
 +++ b/drivers/gpu/drm/drm_atomic_helper.c
-@@ -1653,13 +1653,6 @@ drm_atomic_helper_wait_for_vblanks(struc
+@@ -1681,13 +1681,6 @@ drm_atomic_helper_wait_for_vblanks(struc
  	int i, ret;
  	unsigned int crtc_mask = 0;
  
@@ -74,7 +74,7 @@ Signed-off-by: Maxime Ripard <maxime at cerno.tech>
  	for_each_oldnew_crtc_in_state(old_state, crtc, old_crtc_state, new_crtc_state, i) {
  		if (!new_crtc_state->active)
  			continue;
-@@ -2309,12 +2302,6 @@ int drm_atomic_helper_setup_commit(struc
+@@ -2337,12 +2330,6 @@ int drm_atomic_helper_setup_commit(struc
  			complete_all(&commit->flip_done);
  			continue;
  		}
diff --git a/target/linux/bcm27xx/patches-6.6/950-0092-MMC-added-alternative-MMC-driver.patch b/target/linux/bcm27xx/patches-6.6/950-0092-MMC-added-alternative-MMC-driver.patch
index 9b86d0e6a3..a0b5d2fd2a 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0092-MMC-added-alternative-MMC-driver.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0092-MMC-added-alternative-MMC-driver.patch
@@ -1993,7 +1993,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
  
  #define MAX_TUNING_LOOP 40
  
-@@ -3212,7 +3212,7 @@ static void sdhci_timeout_timer(struct t
+@@ -3217,7 +3217,7 @@ static void sdhci_timeout_timer(struct t
  	spin_lock_irqsave(&host->lock, flags);
  
  	if (host->cmd && !sdhci_data_line_cmd(host->cmd)) {
@@ -2002,7 +2002,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
  		       mmc_hostname(host->mmc));
  		sdhci_err_stats_inc(host, REQ_TIMEOUT);
  		sdhci_dumpregs(host);
-@@ -3235,7 +3235,7 @@ static void sdhci_timeout_data_timer(str
+@@ -3240,7 +3240,7 @@ static void sdhci_timeout_data_timer(str
  
  	if (host->data || host->data_cmd ||
  	    (host->cmd && sdhci_data_line_cmd(host->cmd))) {
diff --git a/target/linux/bcm27xx/patches-6.6/950-0138-media-adv7180-Default-to-the-first-valid-input.patch b/target/linux/bcm27xx/patches-6.6/950-0138-media-adv7180-Default-to-the-first-valid-input.patch
index 7669317e60..181b69b807 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0138-media-adv7180-Default-to-the-first-valid-input.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0138-media-adv7180-Default-to-the-first-valid-input.patch
@@ -16,7 +16,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
 
 --- a/drivers/media/i2c/adv7180.c
 +++ b/drivers/media/i2c/adv7180.c
-@@ -1340,6 +1340,7 @@ static const struct adv7180_chip_info ad
+@@ -1350,6 +1350,7 @@ static const struct adv7180_chip_info ad
  static int init_device(struct adv7180_state *state)
  {
  	int ret;
@@ -24,7 +24,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
  
  	mutex_lock(&state->mutex);
  
-@@ -1387,6 +1388,18 @@ static int init_device(struct adv7180_st
+@@ -1397,6 +1398,18 @@ static int init_device(struct adv7180_st
  			goto out_unlock;
  	}
  
diff --git a/target/linux/bcm27xx/patches-6.6/950-0139-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch b/target/linux/bcm27xx/patches-6.6/950-0139-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch
index faaf79f2ae..caa83f409f 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0139-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0139-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch
@@ -14,7 +14,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
 
 --- a/drivers/media/i2c/adv7180.c
 +++ b/drivers/media/i2c/adv7180.c
-@@ -1329,6 +1329,7 @@ static const struct adv7180_chip_info ad
+@@ -1339,6 +1339,7 @@ static const struct adv7180_chip_info ad
  		BIT(ADV7182_INPUT_SVIDEO_AIN1_AIN2) |
  		BIT(ADV7182_INPUT_SVIDEO_AIN3_AIN4) |
  		BIT(ADV7182_INPUT_SVIDEO_AIN7_AIN8) |
diff --git a/target/linux/bcm27xx/patches-6.6/950-0167-drm-v3d-Clock-V3D-down-when-not-in-use.patch b/target/linux/bcm27xx/patches-6.6/950-0167-drm-v3d-Clock-V3D-down-when-not-in-use.patch
index 031d8ab6b2..e15fafed50 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0167-drm-v3d-Clock-V3D-down-when-not-in-use.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0167-drm-v3d-Clock-V3D-down-when-not-in-use.patch
@@ -25,7 +25,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
 
 --- a/drivers/gpu/drm/v3d/v3d_drv.c
 +++ b/drivers/gpu/drm/v3d/v3d_drv.c
-@@ -256,6 +256,21 @@ static int v3d_platform_drm_probe(struct
+@@ -266,6 +266,21 @@ static int v3d_platform_drm_probe(struct
  		}
  	}
  
@@ -47,7 +47,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
  	if (v3d->ver < 41) {
  		ret = map_regs(v3d, &v3d->gca_regs, "gca");
  		if (ret)
-@@ -281,6 +296,9 @@ static int v3d_platform_drm_probe(struct
+@@ -292,6 +307,9 @@ static int v3d_platform_drm_probe(struct
  	if (ret)
  		goto irq_disable;
  
diff --git a/target/linux/bcm27xx/patches-6.6/950-0169-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch b/target/linux/bcm27xx/patches-6.6/950-0169-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch
index 12518a4398..86c4d87d80 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0169-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0169-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch
@@ -23,7 +23,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.org>
 
 --- a/drivers/hid/hid-ids.h
 +++ b/drivers/hid/hid-ids.h
-@@ -244,6 +244,9 @@
+@@ -248,6 +248,9 @@
  #define USB_VENDOR_ID_BAANTO		0x2453
  #define USB_DEVICE_ID_BAANTO_MT_190W2	0x0100
  
@@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.org>
  #define USB_VENDOR_ID_BELKIN		0x050d
  #define USB_DEVICE_ID_FLIP_KVM		0x3201
  
-@@ -1439,6 +1442,9 @@
+@@ -1443,6 +1446,9 @@
  #define USB_VENDOR_ID_XIAOMI		0x2717
  #define USB_DEVICE_ID_MI_SILENT_MOUSE	0x5014
  
@@ -45,7 +45,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.org>
  #define USB_DEVICE_ID_THT_2P_ARCADE		0x75e1
 --- a/drivers/hid/hid-quirks.c
 +++ b/drivers/hid/hid-quirks.c
-@@ -42,6 +42,7 @@ static const struct hid_device_id hid_qu
+@@ -44,6 +44,7 @@ static const struct hid_device_id hid_qu
  	{ HID_USB_DEVICE(USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_CS682), HID_QUIRK_NOGET },
  	{ HID_USB_DEVICE(USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_CS692), HID_QUIRK_NOGET },
  	{ HID_USB_DEVICE(USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_UC100KM), HID_QUIRK_NOGET },
@@ -53,7 +53,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.org>
  	{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH), HID_QUIRK_MULTI_INPUT },
  	{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL },
  	{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE2), HID_QUIRK_ALWAYS_POLL },
-@@ -209,6 +210,7 @@ static const struct hid_device_id hid_qu
+@@ -211,6 +212,7 @@ static const struct hid_device_id hid_qu
  	{ HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT },
  	{ HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE), HID_QUIRK_MULTI_INPUT },
  	{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_GROUP_AUDIO), HID_QUIRK_NOGET },
diff --git a/target/linux/bcm27xx/patches-6.6/950-0187-v3d_drv-Handle-missing-clock-more-gracefully.patch b/target/linux/bcm27xx/patches-6.6/950-0187-v3d_drv-Handle-missing-clock-more-gracefully.patch
index d8a7c28bd6..dc601a6697 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0187-v3d_drv-Handle-missing-clock-more-gracefully.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0187-v3d_drv-Handle-missing-clock-more-gracefully.patch
@@ -10,7 +10,7 @@ Signed-off-by: popcornmix <popcornmix at gmail.com>
 
 --- a/drivers/gpu/drm/v3d/v3d_drv.c
 +++ b/drivers/gpu/drm/v3d/v3d_drv.c
-@@ -257,10 +257,10 @@ static int v3d_platform_drm_probe(struct
+@@ -267,10 +267,10 @@ static int v3d_platform_drm_probe(struct
  	}
  
  	v3d->clk = devm_clk_get(dev, NULL);
diff --git a/target/linux/bcm27xx/patches-6.6/950-0376-drm-v3d-Switch-clock-setting-to-new-api.patch b/target/linux/bcm27xx/patches-6.6/950-0376-drm-v3d-Switch-clock-setting-to-new-api.patch
index 2670c4e27a..aa613e73dd 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0376-drm-v3d-Switch-clock-setting-to-new-api.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0376-drm-v3d-Switch-clock-setting-to-new-api.patch
@@ -34,7 +34,7 @@ Signed-off-by: Maxime Ripard <maxime at cerno.tech>
  	struct drm_device *drm;
  	struct v3d_dev *v3d;
  	int ret;
-@@ -262,7 +267,20 @@ static int v3d_platform_drm_probe(struct
+@@ -272,7 +277,20 @@ static int v3d_platform_drm_probe(struct
  			dev_err(dev, "Failed to get clock (%ld)\n", PTR_ERR(v3d->clk));
  		return PTR_ERR(v3d->clk);
  	}
@@ -56,7 +56,7 @@ Signed-off-by: Maxime Ripard <maxime at cerno.tech>
  	/* For downclocking, drop it to the minimum frequency we can get from
  	 * the CPRMAN clock generator dividing off our parent.  The divider is
  	 * 4 bits, but ask for just higher than that so that rounding doesn't
-@@ -296,7 +314,7 @@ static int v3d_platform_drm_probe(struct
+@@ -307,7 +325,7 @@ static int v3d_platform_drm_probe(struct
  	if (ret)
  		goto irq_disable;
  
diff --git a/target/linux/bcm27xx/patches-6.6/950-0395-media-adv7180-Nasty-hack-to-allow-input-selection.patch b/target/linux/bcm27xx/patches-6.6/950-0395-media-adv7180-Nasty-hack-to-allow-input-selection.patch
index 75c37d357d..22168e3c4e 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0395-media-adv7180-Nasty-hack-to-allow-input-selection.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0395-media-adv7180-Nasty-hack-to-allow-input-selection.patch
@@ -31,7 +31,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
  struct adv7180_state;
  
  #define ADV7180_FLAG_RESET_POWERED	BIT(0)
-@@ -406,10 +410,24 @@ out:
+@@ -407,10 +411,24 @@ out:
  	return ret;
  }
  
@@ -57,7 +57,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
  	if (ret)
  		return ret;
  
-@@ -435,7 +453,11 @@ static int adv7180_program_std(struct ad
+@@ -436,7 +454,11 @@ static int adv7180_program_std(struct ad
  static int adv7180_s_std(struct v4l2_subdev *sd, v4l2_std_id std)
  {
  	struct adv7180_state *state = to_state(sd);
@@ -70,7 +70,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
  
  	if (ret)
  		return ret;
-@@ -457,6 +479,8 @@ static int adv7180_g_std(struct v4l2_sub
+@@ -458,6 +480,8 @@ static int adv7180_g_std(struct v4l2_sub
  {
  	struct adv7180_state *state = to_state(sd);
  
@@ -79,7 +79,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
  	*norm = state->curr_norm;
  
  	return 0;
-@@ -886,6 +910,8 @@ static int adv7180_s_stream(struct v4l2_
+@@ -891,6 +915,8 @@ static int adv7180_s_stream(struct v4l2_
  		return 0;
  	}
  
diff --git a/target/linux/bcm27xx/patches-6.6/950-0416-gpio-pca953x-Add-ti-tca9554-compatible-string.patch b/target/linux/bcm27xx/patches-6.6/950-0416-gpio-pca953x-Add-ti-tca9554-compatible-string.patch
index e0de6fe1cb..9f1ac40c21 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0416-gpio-pca953x-Add-ti-tca9554-compatible-string.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0416-gpio-pca953x-Add-ti-tca9554-compatible-string.patch
@@ -10,7 +10,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
 
 --- a/drivers/gpio/gpio-pca953x.c
 +++ b/drivers/gpio/gpio-pca953x.c
-@@ -1311,6 +1311,7 @@ static const struct of_device_id pca953x
+@@ -1312,6 +1312,7 @@ static const struct of_device_id pca953x
  	{ .compatible = "ti,tca6424", .data = OF_953X(24, PCA_INT), },
  	{ .compatible = "ti,tca9538", .data = OF_953X( 8, PCA_INT), },
  	{ .compatible = "ti,tca9539", .data = OF_953X(16, PCA_INT), },
diff --git a/target/linux/bcm27xx/patches-6.6/950-0423-media-i2c-imx219-Correct-the-minimum-vblanking-value.patch b/target/linux/bcm27xx/patches-6.6/950-0423-media-i2c-imx219-Correct-the-minimum-vblanking-value.patch
deleted file mode 100644
index ab2e9dda8c..0000000000
--- a/target/linux/bcm27xx/patches-6.6/950-0423-media-i2c-imx219-Correct-the-minimum-vblanking-value.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 4b249d9f2436af70ed9a8c2a34be0786f3fe026c Mon Sep 17 00:00:00 2001
-From: David Plowman <david.plowman at raspberrypi.com>
-Date: Tue, 25 Jan 2022 15:48:53 +0000
-Subject: [PATCH 0423/1085] media: i2c: imx219: Correct the minimum vblanking
- value
-
-The datasheet for this sensor documents the minimum vblanking as being
-32 lines. It does fix some problems with occasional black lines at the
-bottom of images (tested on Raspberry Pi).
-
-Signed-off-by: David Plowman <david.plowman at raspberrypi.com>
----
- drivers/media/i2c/imx219.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/drivers/media/i2c/imx219.c
-+++ b/drivers/media/i2c/imx219.c
-@@ -77,7 +77,7 @@
- #define IMX219_VTS_30FPS_640x480	0x06e3
- #define IMX219_VTS_MAX			0xffff
- 
--#define IMX219_VBLANK_MIN		4
-+#define IMX219_VBLANK_MIN		32
- 
- /*Frame Length Line*/
- #define IMX219_FLL_MIN			0x08a6
diff --git a/target/linux/bcm27xx/patches-6.6/950-0485-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch b/target/linux/bcm27xx/patches-6.6/950-0485-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch
index e1c96d25bb..99059c12db 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0485-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0485-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch
@@ -75,7 +75,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
 --- a/drivers/usb/host/xhci-ring.c
 +++ b/drivers/usb/host/xhci-ring.c
-@@ -3718,6 +3718,48 @@ static int xhci_align_td(struct xhci_hcd
+@@ -3728,6 +3728,48 @@ static int xhci_align_td(struct xhci_hcd
  	return 1;
  }
  
@@ -124,7 +124,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  /* This is very similar to what ehci-q.c qtd_fill() does */
  int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
  		struct urb *urb, int slot_id, unsigned int ep_index)
-@@ -3874,6 +3916,8 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3884,6 +3926,8 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
  	}
  
  	check_trb_math(urb, enqd_len);
@@ -133,7 +133,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	giveback_first_trb(xhci, slot_id, ep_index, urb->stream_id,
  			start_cycle, start_trb);
  	return 0;
-@@ -4023,6 +4067,8 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
+@@ -4033,6 +4077,8 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
  			/* Event on completion */
  			field | TRB_IOC | TRB_TYPE(TRB_STATUS) | ep_ring->cycle_state);
  
diff --git a/target/linux/bcm27xx/patches-6.6/950-0514-sdhci-Add-SD-Express-hook.patch b/target/linux/bcm27xx/patches-6.6/950-0514-sdhci-Add-SD-Express-hook.patch
index 17c7d2f965..e1ea7998ed 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0514-sdhci-Add-SD-Express-hook.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0514-sdhci-Add-SD-Express-hook.patch
@@ -26,7 +26,7 @@ sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR
  static int dwcmshc_rk35xx_init(struct sdhci_host *host, struct dwcmshc_priv *dwc_priv)
 --- a/drivers/mmc/host/sdhci.c
 +++ b/drivers/mmc/host/sdhci.c
-@@ -3050,6 +3050,15 @@ static void sdhci_card_event(struct mmc_
+@@ -3055,6 +3055,15 @@ static void sdhci_card_event(struct mmc_
  	spin_unlock_irqrestore(&host->lock, flags);
  }
  
@@ -42,7 +42,7 @@ sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR
  static const struct mmc_host_ops sdhci_ops = {
  	.request	= sdhci_request,
  	.post_req	= sdhci_post_req,
-@@ -3065,6 +3074,7 @@ static const struct mmc_host_ops sdhci_o
+@@ -3070,6 +3079,7 @@ static const struct mmc_host_ops sdhci_o
  	.execute_tuning			= sdhci_execute_tuning,
  	.card_event			= sdhci_card_event,
  	.card_busy	= sdhci_card_busy,
@@ -50,7 +50,7 @@ sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR
  };
  
  /*****************************************************************************\
-@@ -4583,6 +4593,15 @@ int sdhci_setup_host(struct sdhci_host *
+@@ -4588,6 +4598,15 @@ int sdhci_setup_host(struct sdhci_host *
  	    !(host->quirks2 & SDHCI_QUIRK2_BROKEN_DDR50))
  		mmc->caps |= MMC_CAP_UHS_DDR50;
  
diff --git a/target/linux/bcm27xx/patches-6.6/950-0521-PCI-brcmstb-Add-BCM2712-support.patch b/target/linux/bcm27xx/patches-6.6/950-0521-PCI-brcmstb-Add-BCM2712-support.patch
index 5f5b9de341..7fdbc085f5 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0521-PCI-brcmstb-Add-BCM2712-support.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0521-PCI-brcmstb-Add-BCM2712-support.patch
@@ -341,17 +341,6 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	struct subdev_regulators *sr;
  	bool			ep_wakeup_capable;
  };
-@@ -286,8 +371,8 @@ static int brcm_pcie_encode_ibar_size(u6
- 	if (log2_in >= 12 && log2_in <= 15)
- 		/* Covers 4KB to 32KB (inclusive) */
- 		return (log2_in - 12) + 0x1c;
--	else if (log2_in >= 16 && log2_in <= 35)
--		/* Covers 64KB to 32GB, (inclusive) */
-+	else if (log2_in >= 16 && log2_in <= 36)
-+		/* Covers 64KB to 64GB, (inclusive) */
- 		return log2_in - 15;
- 	/* Something is awry so disable */
- 	return 0;
 @@ -376,6 +461,35 @@ static int brcm_pcie_set_ssc(struct brcm
  	return ssc && pll ? 0 : -EIO;
  }
diff --git a/target/linux/bcm27xx/patches-6.6/950-0716-drivers-mmc-sdhci-add-SPURIOUS_INT_RESP-quirk.patch b/target/linux/bcm27xx/patches-6.6/950-0716-drivers-mmc-sdhci-add-SPURIOUS_INT_RESP-quirk.patch
index aacc0e7653..46b33165b2 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0716-drivers-mmc-sdhci-add-SPURIOUS_INT_RESP-quirk.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0716-drivers-mmc-sdhci-add-SPURIOUS_INT_RESP-quirk.patch
@@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	sdhci_writew(host, SDHCI_MAKE_CMD(cmd->opcode, flags), SDHCI_COMMAND);
  
  	return true;
-@@ -3309,6 +3315,11 @@ static void sdhci_cmd_irq(struct sdhci_h
+@@ -3314,6 +3320,11 @@ static void sdhci_cmd_irq(struct sdhci_h
  		if (intmask & SDHCI_INT_TIMEOUT) {
  			host->cmd->error = -ETIMEDOUT;
  			sdhci_err_stats_inc(host, CMD_TIMEOUT);
diff --git a/target/linux/bcm27xx/patches-6.6/950-0813-media-i2c-adv7180-Use-MEDIA_BUS_FMT_UYVY8_1X16-for-C.patch b/target/linux/bcm27xx/patches-6.6/950-0813-media-i2c-adv7180-Use-MEDIA_BUS_FMT_UYVY8_1X16-for-C.patch
index 10c014b3bf..efb0fad7fe 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0813-media-i2c-adv7180-Use-MEDIA_BUS_FMT_UYVY8_1X16-for-C.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0813-media-i2c-adv7180-Use-MEDIA_BUS_FMT_UYVY8_1X16-for-C.patch
@@ -17,7 +17,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.com>
 
 --- a/drivers/media/i2c/adv7180.c
 +++ b/drivers/media/i2c/adv7180.c
-@@ -723,10 +723,15 @@ static int adv7180_enum_mbus_code(struct
+@@ -728,10 +728,15 @@ static int adv7180_enum_mbus_code(struct
  				  struct v4l2_subdev_state *sd_state,
  				  struct v4l2_subdev_mbus_code_enum *code)
  {
@@ -34,7 +34,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.com>
  
  	return 0;
  }
-@@ -736,7 +741,10 @@ static int adv7180_mbus_fmt(struct v4l2_
+@@ -741,7 +746,10 @@ static int adv7180_mbus_fmt(struct v4l2_
  {
  	struct adv7180_state *state = to_state(sd);
  
diff --git a/target/linux/bcm27xx/patches-6.6/950-0814-media-i2c-adv7180-Add-support-for-V4L2_CID_LINK_FREQ.patch b/target/linux/bcm27xx/patches-6.6/950-0814-media-i2c-adv7180-Add-support-for-V4L2_CID_LINK_FREQ.patch
index e6d0334228..20de51aabb 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0814-media-i2c-adv7180-Add-support-for-V4L2_CID_LINK_FREQ.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0814-media-i2c-adv7180-Add-support-for-V4L2_CID_LINK_FREQ.patch
@@ -33,7 +33,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.com>
  static int dbg_input;
  module_param(dbg_input, int, 0644);
  MODULE_PARM_DESC(dbg_input, "Input number (0-31)");
-@@ -227,6 +237,7 @@ struct adv7180_state {
+@@ -228,6 +238,7 @@ struct adv7180_state {
  	const struct adv7180_chip_info *chip_info;
  	enum v4l2_field		field;
  	bool			force_bt656_4;
@@ -41,7 +41,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.com>
  };
  #define to_adv7180_sd(_ctrl) (&container_of(_ctrl->handler,		\
  					    struct adv7180_state,	\
-@@ -620,6 +631,9 @@ static int adv7180_s_ctrl(struct v4l2_ct
+@@ -621,6 +632,9 @@ static int adv7180_s_ctrl(struct v4l2_ct
  
  	if (ret)
  		return ret;
@@ -51,7 +51,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.com>
  	val = ctrl->val;
  	switch (ctrl->id) {
  	case V4L2_CID_BRIGHTNESS:
-@@ -661,6 +675,7 @@ static int adv7180_s_ctrl(struct v4l2_ct
+@@ -662,6 +676,7 @@ static int adv7180_s_ctrl(struct v4l2_ct
  		ret = -EINVAL;
  	}
  
@@ -59,7 +59,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.com>
  	mutex_unlock(&state->mutex);
  	return ret;
  }
-@@ -681,7 +696,7 @@ static const struct v4l2_ctrl_config adv
+@@ -682,7 +697,7 @@ static const struct v4l2_ctrl_config adv
  
  static int adv7180_init_controls(struct adv7180_state *state)
  {
@@ -68,9 +68,9 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.com>
  
  	v4l2_ctrl_new_std(&state->ctrl_hdl, &adv7180_ctrl_ops,
  			  V4L2_CID_BRIGHTNESS, ADV7180_BRI_MIN,
-@@ -703,6 +718,17 @@ static int adv7180_init_controls(struct
- 				      0, ARRAY_SIZE(test_pattern_menu) - 1,
- 				      test_pattern_menu);
+@@ -708,6 +723,17 @@ static int adv7180_init_controls(struct
+ 					     test_pattern_menu);
+ 	}
  
 +	if (state->chip_info->flags & ADV7180_FLAG_MIPI_CSI2) {
 +		state->link_freq =
@@ -86,7 +86,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.com>
  	state->sd.ctrl_handler = &state->ctrl_hdl;
  	if (state->ctrl_hdl.error) {
  		int err = state->ctrl_hdl.error;
-@@ -835,6 +861,10 @@ static int adv7180_set_pad_format(struct
+@@ -840,6 +866,10 @@ static int adv7180_set_pad_format(struct
  			adv7180_set_power(state, false);
  			adv7180_set_field_mode(state);
  			adv7180_set_power(state, true);
diff --git a/target/linux/bcm27xx/patches-6.6/950-0864-i2c-designware-Support-non-standard-bus-speeds.patch b/target/linux/bcm27xx/patches-6.6/950-0864-i2c-designware-Support-non-standard-bus-speeds.patch
index 90a64e8f2b..0e1cd5bf2a 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0864-i2c-designware-Support-non-standard-bus-speeds.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0864-i2c-designware-Support-non-standard-bus-speeds.patch
@@ -59,7 +59,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
  
 --- a/drivers/i2c/busses/i2c-designware-core.h
 +++ b/drivers/i2c/busses/i2c-designware-core.h
-@@ -293,6 +293,7 @@ struct dw_i2c_dev {
+@@ -292,6 +292,7 @@ struct dw_i2c_dev {
  	u16			fp_lcnt;
  	u16			hs_hcnt;
  	u16			hs_lcnt;
diff --git a/target/linux/bcm27xx/patches-6.6/950-1116-mmc-sdhci-extend-maximum-ADMA-transfer-length-to-4Mi.patch b/target/linux/bcm27xx/patches-6.6/950-1116-mmc-sdhci-extend-maximum-ADMA-transfer-length-to-4Mi.patch
index f0756b5945..9389ecf4d8 100644
--- a/target/linux/bcm27xx/patches-6.6/950-1116-mmc-sdhci-extend-maximum-ADMA-transfer-length-to-4Mi.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-1116-mmc-sdhci-extend-maximum-ADMA-transfer-length-to-4Mi.patch
@@ -24,7 +24,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	BUG_ON(data->blksz > host->mmc->max_blk_size);
  	BUG_ON(data->blocks > 65535);
  
-@@ -4727,11 +4727,16 @@ int sdhci_setup_host(struct sdhci_host *
+@@ -4732,11 +4732,16 @@ int sdhci_setup_host(struct sdhci_host *
  	spin_lock_init(&host->lock);
  
  	/*
diff --git a/target/linux/bcm27xx/patches-6.6/950-1396-i2c-designware-Add-support-for-bus-clear-feature.patch b/target/linux/bcm27xx/patches-6.6/950-1396-i2c-designware-Add-support-for-bus-clear-feature.patch
index bc20db253a..df2aad53c4 100644
--- a/target/linux/bcm27xx/patches-6.6/950-1396-i2c-designware-Add-support-for-bus-clear-feature.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-1396-i2c-designware-Add-support-for-bus-clear-feature.patch
@@ -134,7 +134,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
  	/* Write SDA hold time if supported */
  	if (dev->sda_hold_time)
  		regmap_write(dev->map, DW_IC_SDA_HOLD, dev->sda_hold_time);
-@@ -1074,6 +1086,7 @@ int i2c_dw_probe_master(struct dw_i2c_de
+@@ -1049,6 +1061,7 @@ int i2c_dw_probe_master(struct dw_i2c_de
  	struct i2c_adapter *adap = &dev->adapter;
  	unsigned long irq_flags;
  	unsigned int ic_con;
@@ -142,7 +142,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
  	int ret;
  
  	init_completion(&dev->cmd_complete);
-@@ -1109,7 +1122,11 @@ int i2c_dw_probe_master(struct dw_i2c_de
+@@ -1083,7 +1096,11 @@ int i2c_dw_probe_master(struct dw_i2c_de
  	if (ret)
  		return ret;
  
diff --git a/target/linux/bcm27xx/patches-6.6/950-1550-drm-v3d-Add-clock-handling.patch b/target/linux/bcm27xx/patches-6.6/950-1550-drm-v3d-Add-clock-handling.patch
deleted file mode 100644
index 3bce057bfd..0000000000
--- a/target/linux/bcm27xx/patches-6.6/950-1550-drm-v3d-Add-clock-handling.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-From 32c319ba2f2fd662a3b7bd042515cd650807dbff Mon Sep 17 00:00:00 2001
-From: Stefan Wahren <wahrenst at gmx.net>
-Date: Sat, 1 Feb 2025 13:50:46 +0100
-Subject: [PATCH] drm/v3d: Add clock handling
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-[ Upstream commit 4dd40b5f9c3d89b67af0dbe059cf4a51aac6bf06 ]
-
-Since the initial commit 57692c94dcbe ("drm/v3d: Introduce a new DRM driver
-for Broadcom V3D V3.x+") the struct v3d_dev reserved a pointer for
-an optional V3D clock. But there wasn't any code, which fetched it.
-So add the missing clock handling before accessing any V3D registers.
-
-Signed-off-by: Stefan Wahren <wahrenst at gmx.net>
-Reviewed-by: Maíra Canal <mcanal at igalia.com>
-Signed-off-by: Maíra Canal <mcanal at igalia.com>
-Link: https://patchwork.freedesktop.org/patch/msgid/20250201125046.33030-1-wahrenst@gmx.net
-[ Maíra: Backported to the downstream repository ]
-Signed-off-by: Maíra Canal <mcanal at igalia.com>
----
- drivers/gpu/drm/v3d/v3d_drv.c | 44 ++++++++++++++++++++++-------------
- 1 file changed, 28 insertions(+), 16 deletions(-)
-
---- a/drivers/gpu/drm/v3d/v3d_drv.c
-+++ b/drivers/gpu/drm/v3d/v3d_drv.c
-@@ -232,11 +232,21 @@ static int v3d_platform_drm_probe(struct
- 	if (ret)
- 		return ret;
- 
-+	v3d->clk = devm_clk_get_optional(dev, NULL);
-+	if (IS_ERR(v3d->clk))
-+		return dev_err_probe(dev, PTR_ERR(v3d->clk), "Failed to get V3D clock\n");
-+
-+	ret = clk_prepare_enable(v3d->clk);
-+	if (ret) {
-+		dev_err(&pdev->dev, "Couldn't enable the V3D clock\n");
-+		return ret;
-+	}
-+
- 	mmu_debug = V3D_READ(V3D_MMU_DEBUG_INFO);
- 	mask = DMA_BIT_MASK(30 + V3D_GET_FIELD(mmu_debug, V3D_MMU_PA_WIDTH));
- 	ret = dma_set_mask_and_coherent(dev, mask);
- 	if (ret)
--		return ret;
-+		goto clk_disable;
- 
- 	v3d->va_width = 30 + V3D_GET_FIELD(mmu_debug, V3D_MMU_VA_WIDTH);
- 
-@@ -251,32 +261,29 @@ static int v3d_platform_drm_probe(struct
- 		ret = PTR_ERR(v3d->reset);
- 
- 		if (ret == -EPROBE_DEFER)
--			return ret;
-+			goto clk_disable;
- 
- 		v3d->reset = NULL;
- 		ret = map_regs(v3d, &v3d->bridge_regs, "bridge");
- 		if (ret) {
- 			dev_err(dev,
- 				"Failed to get reset control or bridge regs\n");
--			return ret;
-+			goto clk_disable;
- 		}
- 	}
- 
--	v3d->clk = devm_clk_get(dev, NULL);
--	if (IS_ERR_OR_NULL(v3d->clk)) {
--		if (PTR_ERR(v3d->clk) != -EPROBE_DEFER)
--			dev_err(dev, "Failed to get clock (%ld)\n", PTR_ERR(v3d->clk));
--		return PTR_ERR(v3d->clk);
--	}
--
- 	node = rpi_firmware_find_node();
--	if (!node)
--		return -EINVAL;
-+	if (!node) {
-+		ret = -EINVAL;
-+		goto clk_disable;
-+	}
- 
- 	firmware = rpi_firmware_get(node);
- 	of_node_put(node);
--	if (!firmware)
--		return -EPROBE_DEFER;
-+	if (!firmware) {
-+		ret = -EPROBE_DEFER;
-+		goto clk_disable;
-+	}
- 
- 	v3d->clk_up_rate = rpi_firmware_clk_get_max_rate(firmware,
- 							 RPI_FIRMWARE_V3D_CLK_ID);
-@@ -293,14 +300,15 @@ static int v3d_platform_drm_probe(struct
- 	if (v3d->ver < 41) {
- 		ret = map_regs(v3d, &v3d->gca_regs, "gca");
- 		if (ret)
--			return ret;
-+			goto clk_disable;
- 	}
- 
- 	v3d->mmu_scratch = dma_alloc_wc(dev, 4096, &v3d->mmu_scratch_paddr,
- 					GFP_KERNEL | __GFP_NOWARN | __GFP_ZERO);
- 	if (!v3d->mmu_scratch) {
- 		dev_err(dev, "Failed to allocate MMU scratch page\n");
--		return -ENOMEM;
-+		ret = -ENOMEM;
-+		goto clk_disable;
- 	}
- 
- 	ret = v3d_gem_init(drm);
-@@ -326,6 +334,8 @@ gem_destroy:
- 	v3d_gem_destroy(drm);
- dma_free:
- 	dma_free_wc(dev, 4096, v3d->mmu_scratch, v3d->mmu_scratch_paddr);
-+clk_disable:
-+	clk_disable_unprepare(v3d->clk);
- 	return ret;
- }
- 
-@@ -340,6 +350,8 @@ static void v3d_platform_drm_remove(stru
- 
- 	dma_free_wc(v3d->drm.dev, 4096, v3d->mmu_scratch,
- 		    v3d->mmu_scratch_paddr);
-+
-+	clk_disable_unprepare(v3d->clk);
- }
- 
- static struct platform_driver v3d_platform_driver = {
diff --git a/target/linux/bcm27xx/patches-6.6/950-1553-drm-v3d-Associate-a-V3D-tech-revision-to-all-support.patch b/target/linux/bcm27xx/patches-6.6/950-1553-drm-v3d-Associate-a-V3D-tech-revision-to-all-support.patch
index b5d65b7fed..2ada8c88a0 100644
--- a/target/linux/bcm27xx/patches-6.6/950-1553-drm-v3d-Associate-a-V3D-tech-revision-to-all-support.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-1553-drm-v3d-Associate-a-V3D-tech-revision-to-all-support.patch
@@ -264,7 +264,7 @@ Signed-off-by: Maíra Canal <mcanal at igalia.com>
  	v3d->cores = V3D_GET_FIELD(ident1, V3D_HUB_IDENT1_NCORES);
  	WARN_ON(v3d->cores > 1); /* multicore not yet implemented */
  
-@@ -297,7 +307,7 @@ static int v3d_platform_drm_probe(struct
+@@ -300,7 +310,7 @@ static int v3d_platform_drm_probe(struct
  	v3d->clk_down_rate =
  		(clk_get_rate(clk_get_parent(v3d->clk)) / (1 << 4)) + 10000;
  
diff --git a/target/linux/bcm27xx/patches-6.6/950-1555-drm-v3d-Use-V3D_SMS-registers-for-power-on-off-and-r.patch b/target/linux/bcm27xx/patches-6.6/950-1555-drm-v3d-Use-V3D_SMS-registers-for-power-on-off-and-r.patch
index a39e7242d1..e0169d9745 100644
--- a/target/linux/bcm27xx/patches-6.6/950-1555-drm-v3d-Use-V3D_SMS-registers-for-power-on-off-and-r.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-1555-drm-v3d-Use-V3D_SMS-registers-for-power-on-off-and-r.patch
@@ -87,7 +87,7 @@ Signed-off-by: Maíra Canal <mcanal at igalia.com>
  	mmu_debug = V3D_READ(V3D_MMU_DEBUG_INFO);
  	mask = DMA_BIT_MASK(30 + V3D_GET_FIELD(mmu_debug, V3D_MMU_PA_WIDTH));
  	ret = dma_set_mask_and_coherent(dev, mask);
-@@ -361,6 +399,8 @@ static void v3d_platform_drm_remove(stru
+@@ -364,6 +402,8 @@ static void v3d_platform_drm_remove(stru
  	dma_free_wc(v3d->drm.dev, 4096, v3d->mmu_scratch,
  		    v3d->mmu_scratch_paddr);
  
diff --git a/target/linux/d1/patches-6.6/0009-ASoC-sunxi-sun4i-codec-add-basic-support-for-D1-audi.patch b/target/linux/d1/patches-6.6/0009-ASoC-sunxi-sun4i-codec-add-basic-support-for-D1-audi.patch
index 242f8f7a0e..b8ee82150c 100644
--- a/target/linux/d1/patches-6.6/0009-ASoC-sunxi-sun4i-codec-add-basic-support-for-D1-audi.patch
+++ b/target/linux/d1/patches-6.6/0009-ASoC-sunxi-sun4i-codec-add-basic-support-for-D1-audi.patch
@@ -16,7 +16,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax at gmail.com>
 
 --- a/sound/soc/sunxi/sun4i-codec.c
 +++ b/sound/soc/sunxi/sun4i-codec.c
-@@ -232,15 +232,65 @@
+@@ -233,16 +233,66 @@
  
  /* TODO H3 DAP (Digital Audio Processing) bits */
  
@@ -76,6 +76,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax at gmail.com>
 +	struct clk	*clk_module_dac;
  	struct reset_control *rst;
  	struct gpio_desc *gpio_pa;
+ 	struct gpio_desc *gpio_hp;
 +	const struct sun4i_codec_quirks *quirks;
  
 -	/* ADC_FIFOC register is at different offset on different SoCs */
@@ -84,7 +85,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax at gmail.com>
  	struct regmap_field *reg_adc_fifoc;
  
  	struct snd_dmaengine_dai_dma_data	capture_dma_data;
-@@ -250,33 +300,33 @@ struct sun4i_codec {
+@@ -252,33 +302,33 @@ struct sun4i_codec {
  static void sun4i_codec_start_playback(struct sun4i_codec *scodec)
  {
  	/* Flush TX FIFO */
@@ -126,7 +127,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax at gmail.com>
  }
  
  static int sun4i_codec_trigger(struct snd_pcm_substream *substream, int cmd,
-@@ -325,8 +375,8 @@ static int sun4i_codec_prepare_capture(s
+@@ -327,8 +377,8 @@ static int sun4i_codec_prepare_capture(s
  
  	/* Set RX FIFO trigger level */
  	regmap_field_update_bits(scodec->reg_adc_fifoc,
@@ -137,7 +138,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax at gmail.com>
  
  	/*
  	 * FIXME: Undocumented in the datasheet, but
-@@ -360,13 +410,13 @@ static int sun4i_codec_prepare_playback(
+@@ -362,13 +412,13 @@ static int sun4i_codec_prepare_playback(
  	u32 val;
  
  	/* Flush the TX FIFO */
@@ -156,7 +157,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax at gmail.com>
  
  	if (substream->runtime->rate > 32000)
  		/* Use 64 bits FIR filter */
-@@ -375,13 +425,12 @@ static int sun4i_codec_prepare_playback(
+@@ -377,13 +427,12 @@ static int sun4i_codec_prepare_playback(
  		/* Use 32 bits FIR filter */
  		val = BIT(SUN4I_CODEC_DAC_FIFOC_FIR_VERSION);
  
@@ -174,7 +175,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax at gmail.com>
  
  	return 0;
  };
-@@ -476,30 +525,32 @@ static int sun4i_codec_hw_params_capture
+@@ -478,30 +527,32 @@ static int sun4i_codec_hw_params_capture
  				 7 << SUN4I_CODEC_ADC_FIFOC_ADC_FS,
  				 hwrate << SUN4I_CODEC_ADC_FIFOC_ADC_FS);
  
@@ -218,7 +219,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax at gmail.com>
  
  		scodec->capture_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES;
  	}
-@@ -514,9 +565,9 @@ static int sun4i_codec_hw_params_playbac
+@@ -516,9 +567,9 @@ static int sun4i_codec_hw_params_playbac
  	u32 val;
  
  	/* Set DAC sample rate */
@@ -231,7 +232,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax at gmail.com>
  
  	/* Set the number of channels we want to use */
  	if (params_channels(params) == 1)
-@@ -524,27 +575,26 @@ static int sun4i_codec_hw_params_playbac
+@@ -526,27 +577,26 @@ static int sun4i_codec_hw_params_playbac
  	else
  		val = 0;
  
@@ -269,7 +270,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax at gmail.com>
  
  		scodec->playback_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES;
  	}
-@@ -565,7 +615,11 @@ static int sun4i_codec_hw_params(struct
+@@ -567,7 +617,11 @@ static int sun4i_codec_hw_params(struct
  	if (!clk_freq)
  		return -EINVAL;
  
@@ -282,7 +283,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax at gmail.com>
  	if (ret)
  		return ret;
  
-@@ -607,10 +661,14 @@ static int sun4i_codec_startup(struct sn
+@@ -609,10 +663,14 @@ static int sun4i_codec_startup(struct sn
  	 * Stop issuing DRQ when we have room for less than 16 samples
  	 * in our TX FIFO
  	 */
@@ -300,7 +301,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax at gmail.com>
  }
  
  static void sun4i_codec_shutdown(struct snd_pcm_substream *substream,
-@@ -619,7 +677,11 @@ static void sun4i_codec_shutdown(struct
+@@ -621,7 +679,11 @@ static void sun4i_codec_shutdown(struct
  	struct snd_soc_pcm_runtime *rtd = asoc_substream_to_rtd(substream);
  	struct sun4i_codec *scodec = snd_soc_card_get_drvdata(rtd->card);
  
@@ -313,7 +314,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax at gmail.com>
  }
  
  static const struct snd_soc_dai_ops sun4i_codec_dai_ops = {
-@@ -1229,6 +1291,55 @@ static const struct snd_soc_component_dr
+@@ -1231,6 +1293,55 @@ static const struct snd_soc_component_dr
  	.endianness		= 1,
  };
  
@@ -369,7 +370,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax at gmail.com>
  static const struct snd_soc_component_driver sun4i_codec_component = {
  	.name			= "sun4i-codec",
  	.legacy_dai_naming	= 1,
-@@ -1532,6 +1643,66 @@ static struct snd_soc_card *sun8i_v3s_co
+@@ -1578,6 +1689,66 @@ static struct snd_soc_card *sun8i_v3s_co
  	return card;
  };
  
@@ -436,7 +437,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax at gmail.com>
  static const struct regmap_config sun4i_codec_regmap_config = {
  	.reg_bits	= 32,
  	.reg_stride	= 4,
-@@ -1574,21 +1745,22 @@ static const struct regmap_config sun8i_
+@@ -1620,21 +1791,22 @@ static const struct regmap_config sun8i_
  	.max_register	= SUN8I_H3_CODEC_ADC_DBG,
  };
  
@@ -467,7 +468,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax at gmail.com>
  	.reg_dac_txdata	= SUN4I_CODEC_DAC_TXDATA,
  	.reg_adc_rxdata	= SUN4I_CODEC_ADC_RXDATA,
  };
-@@ -1597,7 +1769,11 @@ static const struct sun4i_codec_quirks s
+@@ -1643,7 +1815,11 @@ static const struct sun4i_codec_quirks s
  	.regmap_config	= &sun6i_codec_regmap_config,
  	.codec		= &sun6i_codec_codec,
  	.create_card	= sun6i_codec_create_card,
@@ -479,7 +480,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax at gmail.com>
  	.reg_dac_txdata	= SUN4I_CODEC_DAC_TXDATA,
  	.reg_adc_rxdata	= SUN6I_CODEC_ADC_RXDATA,
  	.has_reset	= true,
-@@ -1607,7 +1783,11 @@ static const struct sun4i_codec_quirks s
+@@ -1653,7 +1829,11 @@ static const struct sun4i_codec_quirks s
  	.regmap_config	= &sun7i_codec_regmap_config,
  	.codec		= &sun7i_codec_codec,
  	.create_card	= sun4i_codec_create_card,
@@ -491,7 +492,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax at gmail.com>
  	.reg_dac_txdata	= SUN4I_CODEC_DAC_TXDATA,
  	.reg_adc_rxdata	= SUN4I_CODEC_ADC_RXDATA,
  };
-@@ -1616,7 +1796,11 @@ static const struct sun4i_codec_quirks s
+@@ -1662,7 +1842,11 @@ static const struct sun4i_codec_quirks s
  	.regmap_config	= &sun8i_a23_codec_regmap_config,
  	.codec		= &sun8i_a23_codec_codec,
  	.create_card	= sun8i_a23_codec_create_card,
@@ -503,7 +504,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax at gmail.com>
  	.reg_dac_txdata	= SUN4I_CODEC_DAC_TXDATA,
  	.reg_adc_rxdata	= SUN6I_CODEC_ADC_RXDATA,
  	.has_reset	= true,
-@@ -1631,7 +1815,11 @@ static const struct sun4i_codec_quirks s
+@@ -1677,7 +1861,11 @@ static const struct sun4i_codec_quirks s
  	 */
  	.codec		= &sun8i_a23_codec_codec,
  	.create_card	= sun8i_h3_codec_create_card,
@@ -515,7 +516,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax at gmail.com>
  	.reg_dac_txdata	= SUN8I_H3_CODEC_DAC_TXDATA,
  	.reg_adc_rxdata	= SUN6I_CODEC_ADC_RXDATA,
  	.has_reset	= true,
-@@ -1645,12 +1833,31 @@ static const struct sun4i_codec_quirks s
+@@ -1691,12 +1879,31 @@ static const struct sun4i_codec_quirks s
  	 */
  	.codec		= &sun8i_a23_codec_codec,
  	.create_card	= sun8i_v3s_codec_create_card,
@@ -547,7 +548,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax at gmail.com>
  static const struct of_device_id sun4i_codec_of_match[] = {
  	{
  		.compatible = "allwinner,sun4i-a10-codec",
-@@ -1676,6 +1883,10 @@ static const struct of_device_id sun4i_c
+@@ -1722,6 +1929,10 @@ static const struct of_device_id sun4i_c
  		.compatible = "allwinner,sun8i-v3s-codec",
  		.data = &sun8i_v3s_codec_quirks,
  	},
@@ -558,7 +559,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax at gmail.com>
  	{}
  };
  MODULE_DEVICE_TABLE(of, sun4i_codec_of_match);
-@@ -1704,6 +1915,7 @@ static int sun4i_codec_probe(struct plat
+@@ -1750,6 +1961,7 @@ static int sun4i_codec_probe(struct plat
  		dev_err(&pdev->dev, "Failed to determine the quirks to use\n");
  		return -ENODEV;
  	}
@@ -566,7 +567,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax at gmail.com>
  
  	scodec->regmap = devm_regmap_init_mmio(&pdev->dev, base,
  					       quirks->regmap_config);
-@@ -1719,10 +1931,24 @@ static int sun4i_codec_probe(struct plat
+@@ -1765,10 +1977,24 @@ static int sun4i_codec_probe(struct plat
  		return PTR_ERR(scodec->clk_apb);
  	}
  
@@ -595,7 +596,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax at gmail.com>
  	}
  
  	if (quirks->has_reset) {
-@@ -1751,6 +1977,16 @@ static int sun4i_codec_probe(struct plat
+@@ -1804,6 +2030,16 @@ static int sun4i_codec_probe(struct plat
  		dev_err(&pdev->dev, "Failed to create regmap fields: %d\n",
  			ret);
  		return ret;
diff --git a/target/linux/generic/backport-6.6/752-03-v6.7-net-ethernet-mtk_eth_soc-rely-on-mtk_pse_port-defini.patch b/target/linux/generic/backport-6.6/752-03-v6.7-net-ethernet-mtk_eth_soc-rely-on-mtk_pse_port-defini.patch
index 0bf9dea24f..b982011791 100644
--- a/target/linux/generic/backport-6.6/752-03-v6.7-net-ethernet-mtk_eth_soc-rely-on-mtk_pse_port-defini.patch
+++ b/target/linux/generic/backport-6.6/752-03-v6.7-net-ethernet-mtk_eth_soc-rely-on-mtk_pse_port-defini.patch
@@ -14,7 +14,7 @@ Signed-off-by: Paolo Abeni <pabeni at redhat.com>
 
 --- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
 +++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
-@@ -196,10 +196,10 @@ mtk_flow_set_output_device(struct mtk_et
+@@ -198,10 +198,10 @@ mtk_flow_set_output_device(struct mtk_et
  		if (mtk_is_netsys_v2_or_greater(eth)) {
  			switch (info.wdma_idx) {
  			case 0:
diff --git a/target/linux/generic/backport-6.6/752-14-v6.7-net-ethernet-mtk_wed-introduce-WED-support-for-MT798.patch b/target/linux/generic/backport-6.6/752-14-v6.7-net-ethernet-mtk_wed-introduce-WED-support-for-MT798.patch
index eda2fb462d..2e846f5495 100644
--- a/target/linux/generic/backport-6.6/752-14-v6.7-net-ethernet-mtk_wed-introduce-WED-support-for-MT798.patch
+++ b/target/linux/generic/backport-6.6/752-14-v6.7-net-ethernet-mtk_wed-introduce-WED-support-for-MT798.patch
@@ -34,7 +34,7 @@ Signed-off-by: Paolo Abeni <pabeni at redhat.com>
  };
 --- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
 +++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
-@@ -201,6 +201,9 @@ mtk_flow_set_output_device(struct mtk_et
+@@ -203,6 +203,9 @@ mtk_flow_set_output_device(struct mtk_et
  			case 1:
  				pse_port = PSE_WDMA1_PORT;
  				break;
diff --git a/target/linux/generic/backport-6.6/752-16-v6.7-net-ethernet-mtk_wed-introduce-partial-AMSDU-offload.patch b/target/linux/generic/backport-6.6/752-16-v6.7-net-ethernet-mtk_wed-introduce-partial-AMSDU-offload.patch
index 4e72ea128a..fee02a77ef 100644
--- a/target/linux/generic/backport-6.6/752-16-v6.7-net-ethernet-mtk_wed-introduce-partial-AMSDU-offload.patch
+++ b/target/linux/generic/backport-6.6/752-16-v6.7-net-ethernet-mtk_wed-introduce-partial-AMSDU-offload.patch
@@ -77,7 +77,7 @@ Signed-off-by: Paolo Abeni <pabeni at redhat.com>
  int mtk_foe_entry_commit(struct mtk_ppe *ppe, struct mtk_flow_entry *entry);
 --- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
 +++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
-@@ -111,6 +111,7 @@ mtk_flow_get_wdma_info(struct net_device
+@@ -113,6 +113,7 @@ mtk_flow_get_wdma_info(struct net_device
  	info->queue = path->mtk_wdma.queue;
  	info->bss = path->mtk_wdma.bss;
  	info->wcid = path->mtk_wdma.wcid;
@@ -85,7 +85,7 @@ Signed-off-by: Paolo Abeni <pabeni at redhat.com>
  
  	return 0;
  }
-@@ -192,7 +193,7 @@ mtk_flow_set_output_device(struct mtk_et
+@@ -194,7 +195,7 @@ mtk_flow_set_output_device(struct mtk_et
  
  	if (mtk_flow_get_wdma_info(dev, dest_mac, &info) == 0) {
  		mtk_foe_entry_set_wdma(eth, foe, info.wdma_idx, info.queue,
diff --git a/target/linux/generic/backport-6.6/752-26-v6.10-net-ethernet-mtk_eth_soc-ppe-add-support-for-multipl.patch b/target/linux/generic/backport-6.6/752-26-v6.10-net-ethernet-mtk_eth_soc-ppe-add-support-for-multipl.patch
index e924551eb9..576a691c3c 100644
--- a/target/linux/generic/backport-6.6/752-26-v6.10-net-ethernet-mtk_eth_soc-ppe-add-support-for-multipl.patch
+++ b/target/linux/generic/backport-6.6/752-26-v6.10-net-ethernet-mtk_eth_soc-ppe-add-support-for-multipl.patch
@@ -328,7 +328,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  int mtk_flow_offload_cmd(struct mtk_eth *eth, struct flow_cls_offload *cls,
 --- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
 +++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
-@@ -245,10 +245,10 @@ mtk_flow_offload_replace(struct mtk_eth
+@@ -247,10 +247,10 @@ mtk_flow_offload_replace(struct mtk_eth
  			 int ppe_index)
  {
  	struct flow_rule *rule = flow_cls_offload_flow_rule(f);
@@ -340,7 +340,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  	struct mtk_flow_entry *entry;
  	int offload_type = 0;
  	int wed_index = -1;
-@@ -264,6 +264,17 @@ mtk_flow_offload_replace(struct mtk_eth
+@@ -266,6 +266,17 @@ mtk_flow_offload_replace(struct mtk_eth
  		struct flow_match_meta match;
  
  		flow_rule_match_meta(rule, &match);
diff --git a/target/linux/generic/backport-6.6/752-27-v6.10-net-ethernet-mtk_eth_soc-ppe-prevent-ppe-update-for-.patch b/target/linux/generic/backport-6.6/752-27-v6.10-net-ethernet-mtk_eth_soc-ppe-prevent-ppe-update-for-.patch
index dbf574d80a..d70c89f7c4 100644
--- a/target/linux/generic/backport-6.6/752-27-v6.10-net-ethernet-mtk_eth_soc-ppe-prevent-ppe-update-for-.patch
+++ b/target/linux/generic/backport-6.6/752-27-v6.10-net-ethernet-mtk_eth_soc-ppe-prevent-ppe-update-for-.patch
@@ -19,7 +19,7 @@ Signed-off-by: Paolo Abeni <pabeni at redhat.com>
 
 --- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
 +++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
-@@ -266,7 +266,7 @@ mtk_flow_offload_replace(struct mtk_eth
+@@ -268,7 +268,7 @@ mtk_flow_offload_replace(struct mtk_eth
  		flow_rule_match_meta(rule, &match);
  		if (mtk_is_netsys_v2_or_greater(eth)) {
  			idev = __dev_get_by_index(&init_net, match.key->ingress_ifindex);
diff --git a/target/linux/generic/backport-6.6/780-05-v6.8-r8169-add-support-for-LED-s-on-RTL8168-RTL8101.patch b/target/linux/generic/backport-6.6/780-05-v6.8-r8169-add-support-for-LED-s-on-RTL8168-RTL8101.patch
index ccb8e413fe..8bb543b9d6 100644
--- a/target/linux/generic/backport-6.6/780-05-v6.8-r8169-add-support-for-LED-s-on-RTL8168-RTL8101.patch
+++ b/target/linux/generic/backport-6.6/780-05-v6.8-r8169-add-support-for-LED-s-on-RTL8168-RTL8101.patch
@@ -296,7 +296,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  static void r8168fp_adjust_ocp_cmd(struct rtl8169_private *tp, u32 *cmd, int type)
  {
  	/* based on RTL8168FP_OOBMAC_BASE in vendor driver */
-@@ -5203,6 +5261,7 @@ static int rtl_init_one(struct pci_dev *
+@@ -5204,6 +5262,7 @@ static int rtl_init_one(struct pci_dev *
  	raw_spin_lock_init(&tp->cfg9346_usage_lock);
  	raw_spin_lock_init(&tp->config25_lock);
  	raw_spin_lock_init(&tp->mac_ocp_lock);
@@ -304,7 +304,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  	dev->tstats = devm_netdev_alloc_pcpu_stats(&pdev->dev,
  						   struct pcpu_sw_netstats);
-@@ -5359,6 +5418,12 @@ static int rtl_init_one(struct pci_dev *
+@@ -5360,6 +5419,12 @@ static int rtl_init_one(struct pci_dev *
  	if (rc)
  		return rc;
  
diff --git a/target/linux/generic/backport-6.6/780-06-v6.8-r8169-fix-building-with-CONFIG_LEDS_CLASS-m.patch b/target/linux/generic/backport-6.6/780-06-v6.8-r8169-fix-building-with-CONFIG_LEDS_CLASS-m.patch
index 3860de7570..fa79d91129 100644
--- a/target/linux/generic/backport-6.6/780-06-v6.8-r8169-fix-building-with-CONFIG_LEDS_CLASS-m.patch
+++ b/target/linux/generic/backport-6.6/780-06-v6.8-r8169-fix-building-with-CONFIG_LEDS_CLASS-m.patch
@@ -59,7 +59,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  obj-$(CONFIG_R8169) += r8169.o
 --- a/drivers/net/ethernet/realtek/r8169_main.c
 +++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -5418,11 +5418,10 @@ static int rtl_init_one(struct pci_dev *
+@@ -5419,11 +5419,10 @@ static int rtl_init_one(struct pci_dev *
  	if (rc)
  		return rc;
  
diff --git a/target/linux/generic/backport-6.6/780-07-v6.9-r8169-simplify-EEE-handling.patch b/target/linux/generic/backport-6.6/780-07-v6.9-r8169-simplify-EEE-handling.patch
index 0f5f68c68a..e1fcb00b1d 100644
--- a/target/linux/generic/backport-6.6/780-07-v6.9-r8169-simplify-EEE-handling.patch
+++ b/target/linux/generic/backport-6.6/780-07-v6.9-r8169-simplify-EEE-handling.patch
@@ -75,7 +75,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  	genphy_soft_reset(tp->phydev);
  }
  
-@@ -5120,7 +5095,9 @@ static int r8169_mdio_register(struct rt
+@@ -5121,7 +5096,9 @@ static int r8169_mdio_register(struct rt
  	}
  
  	tp->phydev->mac_managed_pm = true;
@@ -86,7 +86,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  	phy_support_asym_pause(tp->phydev);
  
  	/* PHY will be woken up in rtl_open() */
-@@ -5255,7 +5232,6 @@ static int rtl_init_one(struct pci_dev *
+@@ -5256,7 +5233,6 @@ static int rtl_init_one(struct pci_dev *
  	tp->dev = dev;
  	tp->pci_dev = pdev;
  	tp->supports_gmii = ent->driver_data == RTL_CFG_NO_GBIT ? 0 : 1;
diff --git a/target/linux/generic/backport-6.6/780-08-v6.9-r8169-add-support-for-RTL8126A.patch b/target/linux/generic/backport-6.6/780-08-v6.9-r8169-add-support-for-RTL8126A.patch
index 210730d6b1..80b64d3bed 100644
--- a/target/linux/generic/backport-6.6/780-08-v6.9-r8169-add-support-for-RTL8126A.patch
+++ b/target/linux/generic/backport-6.6/780-08-v6.9-r8169-add-support-for-RTL8126A.patch
@@ -321,7 +321,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  		padto = max_t(unsigned int, padto, ETH_ZLEN);
  		break;
  	default:
-@@ -5147,7 +5204,7 @@ static void rtl_hw_initialize(struct rtl
+@@ -5148,7 +5205,7 @@ static void rtl_hw_initialize(struct rtl
  	case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_48:
  		rtl_hw_init_8168g(tp);
  		break;
diff --git a/target/linux/generic/backport-6.6/780-10-v6.9-r8169-simplify-code-by-using-core-provided-pcpu-stat.patch b/target/linux/generic/backport-6.6/780-10-v6.9-r8169-simplify-code-by-using-core-provided-pcpu-stat.patch
index 959a1b0276..60f0cbf06c 100644
--- a/target/linux/generic/backport-6.6/780-10-v6.9-r8169-simplify-code-by-using-core-provided-pcpu-stat.patch
+++ b/target/linux/generic/backport-6.6/780-10-v6.9-r8169-simplify-code-by-using-core-provided-pcpu-stat.patch
@@ -16,7 +16,7 @@ Signed-off-by: Paolo Abeni <pabeni at redhat.com>
 
 --- a/drivers/net/ethernet/realtek/r8169_main.c
 +++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -5296,11 +5296,6 @@ static int rtl_init_one(struct pci_dev *
+@@ -5297,11 +5297,6 @@ static int rtl_init_one(struct pci_dev *
  	raw_spin_lock_init(&tp->mac_ocp_lock);
  	mutex_init(&tp->led_lock);
  
@@ -28,7 +28,7 @@ Signed-off-by: Paolo Abeni <pabeni at redhat.com>
  	/* Get the *optional* external "ether_clk" used on some boards */
  	tp->clk = devm_clk_get_optional_enabled(&pdev->dev, "ether_clk");
  	if (IS_ERR(tp->clk))
-@@ -5415,6 +5410,8 @@ static int rtl_init_one(struct pci_dev *
+@@ -5416,6 +5411,8 @@ static int rtl_init_one(struct pci_dev *
  	dev->hw_features |= NETIF_F_RXALL;
  	dev->hw_features |= NETIF_F_RXFCS;
  
diff --git a/target/linux/generic/backport-6.6/780-11-v6.9-r8169-add-LED-support-for-RTL8125-RTL8126.patch b/target/linux/generic/backport-6.6/780-11-v6.9-r8169-add-LED-support-for-RTL8125-RTL8126.patch
index fa9b4f1062..cd33fc1d75 100644
--- a/target/linux/generic/backport-6.6/780-11-v6.9-r8169-add-LED-support-for-RTL8125-RTL8126.patch
+++ b/target/linux/generic/backport-6.6/780-11-v6.9-r8169-add-LED-support-for-RTL8125-RTL8126.patch
@@ -225,7 +225,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  void r8169_get_led_name(struct rtl8169_private *tp, int idx,
  			char *buf, int buf_len)
  {
-@@ -5448,10 +5499,12 @@ static int rtl_init_one(struct pci_dev *
+@@ -5449,10 +5500,12 @@ static int rtl_init_one(struct pci_dev *
  	if (rc)
  		return rc;
  
diff --git a/target/linux/generic/backport-6.6/780-16-v6.9-r8169-fix-LED-related-deadlock-on-module-removal.patch b/target/linux/generic/backport-6.6/780-16-v6.9-r8169-fix-LED-related-deadlock-on-module-removal.patch
index 26290cdef5..857c2171d5 100644
--- a/target/linux/generic/backport-6.6/780-16-v6.9-r8169-fix-LED-related-deadlock-on-module-removal.patch
+++ b/target/linux/generic/backport-6.6/780-16-v6.9-r8169-fix-LED-related-deadlock-on-module-removal.patch
@@ -133,7 +133,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	unregister_netdev(tp->dev);
  
  	if (tp->dash_type != RTL_DASH_NONE)
-@@ -5533,9 +5537,9 @@ static int rtl_init_one(struct pci_dev *
+@@ -5534,9 +5538,9 @@ static int rtl_init_one(struct pci_dev *
  
  	if (IS_ENABLED(CONFIG_R8169_LEDS)) {
  		if (rtl_is_8125(tp))
diff --git a/target/linux/generic/backport-6.6/780-22-v6.12-r8169-add-support-for-RTL8126A-rev.b.patch b/target/linux/generic/backport-6.6/780-22-v6.12-r8169-add-support-for-RTL8126A-rev.b.patch
index 3360b61fad..628664b2f0 100644
--- a/target/linux/generic/backport-6.6/780-22-v6.12-r8169-add-support-for-RTL8126A-rev.b.patch
+++ b/target/linux/generic/backport-6.6/780-22-v6.12-r8169-add-support-for-RTL8126A-rev.b.patch
@@ -224,7 +224,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  		padto = max_t(unsigned int, padto, ETH_ZLEN);
  		break;
  	default:
-@@ -5294,7 +5306,7 @@ static void rtl_hw_initialize(struct rtl
+@@ -5295,7 +5307,7 @@ static void rtl_hw_initialize(struct rtl
  	case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_48:
  		rtl_hw_init_8168g(tp);
  		break;
diff --git a/target/linux/generic/backport-6.6/780-26-v6.13-r8169-enable-SG-TSO-on-selected-chip-versions-per-de.patch b/target/linux/generic/backport-6.6/780-26-v6.13-r8169-enable-SG-TSO-on-selected-chip-versions-per-de.patch
index 4b00eba622..15bdb43356 100644
--- a/target/linux/generic/backport-6.6/780-26-v6.13-r8169-enable-SG-TSO-on-selected-chip-versions-per-de.patch
+++ b/target/linux/generic/backport-6.6/780-26-v6.13-r8169-enable-SG-TSO-on-selected-chip-versions-per-de.patch
@@ -20,7 +20,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
 
 --- a/drivers/net/ethernet/realtek/r8169_main.c
 +++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -5491,11 +5491,6 @@ static int rtl_init_one(struct pci_dev *
+@@ -5492,11 +5492,6 @@ static int rtl_init_one(struct pci_dev *
  
  	dev->features |= dev->hw_features;
  
@@ -32,7 +32,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	if (rtl_chip_supports_csum_v2(tp)) {
  		dev->hw_features |= NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO6;
  		netif_set_tso_max_size(dev, RTL_GSO_MAX_SIZE_V2);
-@@ -5506,6 +5501,17 @@ static int rtl_init_one(struct pci_dev *
+@@ -5507,6 +5502,17 @@ static int rtl_init_one(struct pci_dev *
  		netif_set_tso_max_segs(dev, RTL_GSO_MAX_SEGS_V1);
  	}
  
diff --git a/target/linux/generic/backport-6.6/780-39-v6.13-r8169-remove-leftover-locks-after-reverted-change.patch b/target/linux/generic/backport-6.6/780-39-v6.13-r8169-remove-leftover-locks-after-reverted-change.patch
index c3e9398901..90b7c8c767 100644
--- a/target/linux/generic/backport-6.6/780-39-v6.13-r8169-remove-leftover-locks-after-reverted-change.patch
+++ b/target/linux/generic/backport-6.6/780-39-v6.13-r8169-remove-leftover-locks-after-reverted-change.patch
@@ -102,7 +102,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  
  	switch (tp->mac_version) {
  	case RTL_GIGA_MAC_VER_02 ... RTL_GIGA_MAC_VER_06:
-@@ -5460,8 +5437,6 @@ static int rtl_init_one(struct pci_dev *
+@@ -5461,8 +5438,6 @@ static int rtl_init_one(struct pci_dev *
  	tp->supports_gmii = ent->driver_data == RTL_CFG_NO_GBIT ? 0 : 1;
  	tp->ocp_base = OCP_STD_PHY_BASE;
  
diff --git a/target/linux/generic/backport-6.6/780-44-v6.13-r8169-copy-vendor-driver-2.5G-5G-EEE-advertisement-c.patch b/target/linux/generic/backport-6.6/780-44-v6.13-r8169-copy-vendor-driver-2.5G-5G-EEE-advertisement-c.patch
index fb01dad458..6da3bf59a8 100644
--- a/target/linux/generic/backport-6.6/780-44-v6.13-r8169-copy-vendor-driver-2.5G-5G-EEE-advertisement-c.patch
+++ b/target/linux/generic/backport-6.6/780-44-v6.13-r8169-copy-vendor-driver-2.5G-5G-EEE-advertisement-c.patch
@@ -22,7 +22,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
 
 --- a/drivers/net/ethernet/realtek/r8169_main.c
 +++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -5236,6 +5236,11 @@ static int r8169_mdio_register(struct rt
+@@ -5237,6 +5237,11 @@ static int r8169_mdio_register(struct rt
  			      tp->phydev->supported_eee);
  	phy_support_asym_pause(tp->phydev);
  
diff --git a/target/linux/generic/backport-6.6/780-46-v6.14-r8169-remove-support-for-chip-version-11.patch b/target/linux/generic/backport-6.6/780-46-v6.14-r8169-remove-support-for-chip-version-11.patch
index 9ffe091140..e4af737edc 100644
--- a/target/linux/generic/backport-6.6/780-46-v6.14-r8169-remove-support-for-chip-version-11.patch
+++ b/target/linux/generic/backport-6.6/780-46-v6.14-r8169-remove-support-for-chip-version-11.patch
@@ -78,7 +78,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  }
  
  static int rtl_alloc_irq(struct rtl8169_private *tp)
-@@ -5304,7 +5293,6 @@ static int rtl_jumbo_max(struct rtl8169_
+@@ -5305,7 +5294,6 @@ static int rtl_jumbo_max(struct rtl8169_
  	case RTL_GIGA_MAC_VER_02 ... RTL_GIGA_MAC_VER_06:
  		return JUMBO_7K;
  	/* RTL8168b */
diff --git a/target/linux/generic/backport-6.6/780-47-v6.14-r8169-adjust-version-numbering-for-RTL8126.patch b/target/linux/generic/backport-6.6/780-47-v6.14-r8169-adjust-version-numbering-for-RTL8126.patch
index efa41eb67b..8c30506904 100644
--- a/target/linux/generic/backport-6.6/780-47-v6.14-r8169-adjust-version-numbering-for-RTL8126.patch
+++ b/target/linux/generic/backport-6.6/780-47-v6.14-r8169-adjust-version-numbering-for-RTL8126.patch
@@ -233,7 +233,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  		padto = max_t(unsigned int, padto, ETH_ZLEN);
  		break;
  	default:
-@@ -5274,7 +5274,7 @@ static void rtl_hw_initialize(struct rtl
+@@ -5275,7 +5275,7 @@ static void rtl_hw_initialize(struct rtl
  	case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_48:
  		rtl_hw_init_8168g(tp);
  		break;
diff --git a/target/linux/generic/backport-6.6/780-51-v6.15-r8169-don-t-scan-PHY-addresses-0.patch b/target/linux/generic/backport-6.6/780-51-v6.15-r8169-don-t-scan-PHY-addresses-0.patch
deleted file mode 100644
index 735f3ff4f9..0000000000
--- a/target/linux/generic/backport-6.6/780-51-v6.15-r8169-don-t-scan-PHY-addresses-0.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From faac69a4ae5abb49e62c79c66b51bb905c9aa5ec Mon Sep 17 00:00:00 2001
-From: Heiner Kallweit <hkallweit1 at gmail.com>
-Date: Tue, 4 Feb 2025 07:58:17 +0100
-Subject: [PATCH] r8169: don't scan PHY addresses > 0
-
-The PHY address is a dummy, because r8169 PHY access registers
-don't support a PHY address. Therefore scan address 0 only.
-
-Signed-off-by: Heiner Kallweit <hkallweit1 at gmail.com>
-Reviewed-by: Andrew Lunn <andrew at lunn.ch>
-Link: https://patch.msgid.link/830637dd-4016-4a68-92b3-618fcac6589d@gmail.com
-Signed-off-by: Jakub Kicinski <kuba at kernel.org>
----
- drivers/net/ethernet/realtek/r8169_main.c | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/drivers/net/ethernet/realtek/r8169_main.c
-+++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -5230,6 +5230,7 @@ static int r8169_mdio_register(struct rt
- 	new_bus->priv = tp;
- 	new_bus->parent = &pdev->dev;
- 	new_bus->irq[0] = PHY_MAC_INTERRUPT;
-+	new_bus->phy_mask = GENMASK(31, 1);
- 	snprintf(new_bus->id, MII_BUS_ID_SIZE, "r8169-%x-%x",
- 		 pci_domain_nr(pdev->bus), pci_dev_id(pdev));
- 
diff --git a/target/linux/generic/backport-6.6/816-v6.7-0001-nvmem-qfprom-Mark-core-clk-as-optional.patch b/target/linux/generic/backport-6.6/816-v6.7-0001-nvmem-qfprom-Mark-core-clk-as-optional.patch
index c83d4fc579..cb8572ffe1 100644
--- a/target/linux/generic/backport-6.6/816-v6.7-0001-nvmem-qfprom-Mark-core-clk-as-optional.patch
+++ b/target/linux/generic/backport-6.6/816-v6.7-0001-nvmem-qfprom-Mark-core-clk-as-optional.patch
@@ -19,7 +19,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
 
 --- a/drivers/nvmem/qfprom.c
 +++ b/drivers/nvmem/qfprom.c
-@@ -424,12 +424,12 @@ static int qfprom_probe(struct platform_
+@@ -438,12 +438,12 @@ static int qfprom_probe(struct platform_
  		if (IS_ERR(priv->vcc))
  			return PTR_ERR(priv->vcc);
  
diff --git a/target/linux/generic/backport-6.6/816-v6.7-0004-Revert-nvmem-add-new-config-option.patch b/target/linux/generic/backport-6.6/816-v6.7-0004-Revert-nvmem-add-new-config-option.patch
index 9c22568f72..4f8d837ef1 100644
--- a/target/linux/generic/backport-6.6/816-v6.7-0004-Revert-nvmem-add-new-config-option.patch
+++ b/target/linux/generic/backport-6.6/816-v6.7-0004-Revert-nvmem-add-new-config-option.patch
@@ -48,7 +48,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  	mtd->nvmem = nvmem_register(&config);
 --- a/drivers/nvmem/core.c
 +++ b/drivers/nvmem/core.c
-@@ -918,7 +918,7 @@ struct nvmem_device *nvmem_register(cons
+@@ -932,7 +932,7 @@ struct nvmem_device *nvmem_register(cons
  	nvmem->nkeepout = config->nkeepout;
  	if (config->of_node)
  		nvmem->dev.of_node = config->of_node;
diff --git a/target/linux/generic/backport-6.6/819-v6.8-0001-nvmem-Move-of_nvmem_layout_get_container-in-another-.patch b/target/linux/generic/backport-6.6/819-v6.8-0001-nvmem-Move-of_nvmem_layout_get_container-in-another-.patch
index c1f5ecf665..f80e8756b1 100644
--- a/target/linux/generic/backport-6.6/819-v6.8-0001-nvmem-Move-of_nvmem_layout_get_container-in-another-.patch
+++ b/target/linux/generic/backport-6.6/819-v6.8-0001-nvmem-Move-of_nvmem_layout_get_container-in-another-.patch
@@ -25,7 +25,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
 
 --- a/drivers/nvmem/core.c
 +++ b/drivers/nvmem/core.c
-@@ -823,14 +823,6 @@ static int nvmem_add_cells_from_layout(s
+@@ -837,14 +837,6 @@ static int nvmem_add_cells_from_layout(s
  }
  
  #if IS_ENABLED(CONFIG_OF)
diff --git a/target/linux/generic/backport-6.6/819-v6.8-0005-nvmem-core-Rework-layouts-to-become-regular-devices.patch b/target/linux/generic/backport-6.6/819-v6.8-0005-nvmem-core-Rework-layouts-to-become-regular-devices.patch
index 220a968136..1747587c7c 100644
--- a/target/linux/generic/backport-6.6/819-v6.8-0005-nvmem-core-Rework-layouts-to-become-regular-devices.patch
+++ b/target/linux/generic/backport-6.6/819-v6.8-0005-nvmem-core-Rework-layouts-to-become-regular-devices.patch
@@ -84,7 +84,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  static int __nvmem_reg_read(struct nvmem_device *nvmem, unsigned int offset,
  			    void *val, size_t bytes)
  {
-@@ -739,97 +736,22 @@ static int nvmem_add_cells_from_fixed_la
+@@ -753,97 +750,22 @@ static int nvmem_add_cells_from_fixed_la
  	return err;
  }
  
@@ -189,7 +189,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  const void *nvmem_layout_get_match_data(struct nvmem_device *nvmem,
  					struct nvmem_layout *layout)
  {
-@@ -837,7 +759,7 @@ const void *nvmem_layout_get_match_data(
+@@ -851,7 +773,7 @@ const void *nvmem_layout_get_match_data(
  	const struct of_device_id *match;
  
  	layout_np = of_nvmem_layout_get_container(nvmem);
@@ -198,7 +198,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  
  	return match ? match->data : NULL;
  }
-@@ -949,19 +871,6 @@ struct nvmem_device *nvmem_register(cons
+@@ -963,19 +885,6 @@ struct nvmem_device *nvmem_register(cons
  			goto err_put_device;
  	}
  
@@ -218,7 +218,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  	if (config->cells) {
  		rval = nvmem_add_cells(nvmem, config->cells, config->ncells);
  		if (rval)
-@@ -982,24 +891,24 @@ struct nvmem_device *nvmem_register(cons
+@@ -996,24 +905,24 @@ struct nvmem_device *nvmem_register(cons
  	if (rval)
  		goto err_remove_cells;
  
@@ -249,7 +249,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  	if (config->compat)
  		nvmem_sysfs_remove_compat(nvmem, config);
  err_put_device:
-@@ -1021,7 +930,7 @@ static void nvmem_device_release(struct
+@@ -1035,7 +944,7 @@ static void nvmem_device_release(struct
  		device_remove_bin_file(nvmem->base_dev, &nvmem->eeprom);
  
  	nvmem_device_remove_all_cells(nvmem);
@@ -258,7 +258,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  	device_unregister(&nvmem->dev);
  }
  
-@@ -1323,6 +1232,12 @@ nvmem_cell_get_from_lookup(struct device
+@@ -1337,6 +1246,12 @@ nvmem_cell_get_from_lookup(struct device
  	return cell;
  }
  
@@ -271,7 +271,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  #if IS_ENABLED(CONFIG_OF)
  static struct nvmem_cell_entry *
  nvmem_find_cell_entry_by_node(struct nvmem_device *nvmem, struct device_node *np)
-@@ -1341,6 +1256,18 @@ nvmem_find_cell_entry_by_node(struct nvm
+@@ -1355,6 +1270,18 @@ nvmem_find_cell_entry_by_node(struct nvm
  	return cell;
  }
  
@@ -290,7 +290,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  /**
   * of_nvmem_cell_get() - Get a nvmem cell from given device node and cell id
   *
-@@ -1403,16 +1330,29 @@ struct nvmem_cell *of_nvmem_cell_get(str
+@@ -1417,16 +1344,29 @@ struct nvmem_cell *of_nvmem_cell_get(str
  		return ERR_CAST(nvmem);
  	}
  
@@ -322,7 +322,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  
  	return cell;
  }
-@@ -1526,6 +1466,7 @@ void nvmem_cell_put(struct nvmem_cell *c
+@@ -1540,6 +1480,7 @@ void nvmem_cell_put(struct nvmem_cell *c
  
  	kfree(cell);
  	__nvmem_device_put(nvmem);
@@ -330,7 +330,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  }
  EXPORT_SYMBOL_GPL(nvmem_cell_put);
  
-@@ -2118,11 +2059,22 @@ EXPORT_SYMBOL_GPL(nvmem_dev_size);
+@@ -2132,11 +2073,22 @@ EXPORT_SYMBOL_GPL(nvmem_dev_size);
  
  static int __init nvmem_init(void)
  {
diff --git a/target/linux/generic/backport-6.6/819-v6.8-0006-nvmem-core-Expose-cells-through-sysfs.patch b/target/linux/generic/backport-6.6/819-v6.8-0006-nvmem-core-Expose-cells-through-sysfs.patch
index 8442636b09..478efdba05 100644
--- a/target/linux/generic/backport-6.6/819-v6.8-0006-nvmem-core-Expose-cells-through-sysfs.patch
+++ b/target/linux/generic/backport-6.6/819-v6.8-0006-nvmem-core-Expose-cells-through-sysfs.patch
@@ -180,7 +180,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  #else /* CONFIG_NVMEM_SYSFS */
  
  static int nvmem_sysfs_setup_compat(struct nvmem_device *nvmem,
-@@ -738,11 +847,25 @@ static int nvmem_add_cells_from_fixed_la
+@@ -752,11 +861,25 @@ static int nvmem_add_cells_from_fixed_la
  
  int nvmem_layout_register(struct nvmem_layout *layout)
  {
@@ -207,7 +207,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  }
  EXPORT_SYMBOL_GPL(nvmem_layout_register);
  
-@@ -901,10 +1024,20 @@ struct nvmem_device *nvmem_register(cons
+@@ -915,10 +1038,20 @@ struct nvmem_device *nvmem_register(cons
  	if (rval)
  		goto err_remove_dev;
  
diff --git a/target/linux/generic/backport-6.6/819-v6.8-0008-nvmem-layouts-refactor-.add_cells-callback-arguments.patch b/target/linux/generic/backport-6.6/819-v6.8-0008-nvmem-layouts-refactor-.add_cells-callback-arguments.patch
index a95770a059..536d10edfd 100644
--- a/target/linux/generic/backport-6.6/819-v6.8-0008-nvmem-layouts-refactor-.add_cells-callback-arguments.patch
+++ b/target/linux/generic/backport-6.6/819-v6.8-0008-nvmem-layouts-refactor-.add_cells-callback-arguments.patch
@@ -44,7 +44,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
 
 --- a/drivers/nvmem/core.c
 +++ b/drivers/nvmem/core.c
-@@ -853,7 +853,7 @@ int nvmem_layout_register(struct nvmem_l
+@@ -867,7 +867,7 @@ int nvmem_layout_register(struct nvmem_l
  		return -EINVAL;
  
  	/* Populate the cells */
diff --git a/target/linux/generic/backport-6.6/819-v6.8-0009-nvmem-drop-nvmem_layout_get_match_data.patch b/target/linux/generic/backport-6.6/819-v6.8-0009-nvmem-drop-nvmem_layout_get_match_data.patch
index 291854bcb5..b55696e424 100644
--- a/target/linux/generic/backport-6.6/819-v6.8-0009-nvmem-drop-nvmem_layout_get_match_data.patch
+++ b/target/linux/generic/backport-6.6/819-v6.8-0009-nvmem-drop-nvmem_layout_get_match_data.patch
@@ -24,7 +24,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
 
 --- a/drivers/nvmem/core.c
 +++ b/drivers/nvmem/core.c
-@@ -875,19 +875,6 @@ void nvmem_layout_unregister(struct nvme
+@@ -889,19 +889,6 @@ void nvmem_layout_unregister(struct nvme
  }
  EXPORT_SYMBOL_GPL(nvmem_layout_unregister);
  
diff --git a/target/linux/generic/backport-6.6/820-v6.9-0007-nvmem-core-Print-error-on-wrong-bits-DT-property.patch b/target/linux/generic/backport-6.6/820-v6.9-0007-nvmem-core-Print-error-on-wrong-bits-DT-property.patch
index aa4e0ab04a..17a47a1227 100644
--- a/target/linux/generic/backport-6.6/820-v6.9-0007-nvmem-core-Print-error-on-wrong-bits-DT-property.patch
+++ b/target/linux/generic/backport-6.6/820-v6.9-0007-nvmem-core-Print-error-on-wrong-bits-DT-property.patch
@@ -18,7 +18,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
 
 --- a/drivers/nvmem/core.c
 +++ b/drivers/nvmem/core.c
-@@ -805,6 +805,11 @@ static int nvmem_add_cells_from_dt(struc
+@@ -819,6 +819,11 @@ static int nvmem_add_cells_from_dt(struc
  		if (addr && len == (2 * sizeof(u32))) {
  			info.bit_offset = be32_to_cpup(addr++);
  			info.nbits = be32_to_cpup(addr);
diff --git a/target/linux/generic/backport-6.6/834-v6.8-leds-trigger-netdev-Extend-speeds-up-to-10G.patch b/target/linux/generic/backport-6.6/834-v6.8-leds-trigger-netdev-Extend-speeds-up-to-10G.patch
index 4571d7d2bf..3a64e6822d 100644
--- a/target/linux/generic/backport-6.6/834-v6.8-leds-trigger-netdev-Extend-speeds-up-to-10G.patch
+++ b/target/linux/generic/backport-6.6/834-v6.8-leds-trigger-netdev-Extend-speeds-up-to-10G.patch
@@ -16,7 +16,7 @@ Signed-off-by: Lee Jones <lee at kernel.org>
 
 --- a/drivers/leds/trigger/ledtrig-netdev.c
 +++ b/drivers/leds/trigger/ledtrig-netdev.c
-@@ -99,6 +99,18 @@ static void set_baseline_state(struct le
+@@ -104,6 +104,18 @@ static void set_baseline_state(struct le
  		    trigger_data->link_speed == SPEED_1000)
  			blink_on = true;
  
@@ -35,7 +35,7 @@ Signed-off-by: Lee Jones <lee at kernel.org>
  		if (test_bit(TRIGGER_NETDEV_HALF_DUPLEX, &trigger_data->mode) &&
  		    trigger_data->duplex == DUPLEX_HALF)
  			blink_on = true;
-@@ -289,6 +301,9 @@ static ssize_t netdev_led_attr_show(stru
+@@ -294,6 +306,9 @@ static ssize_t netdev_led_attr_show(stru
  	case TRIGGER_NETDEV_LINK_10:
  	case TRIGGER_NETDEV_LINK_100:
  	case TRIGGER_NETDEV_LINK_1000:
@@ -45,7 +45,7 @@ Signed-off-by: Lee Jones <lee at kernel.org>
  	case TRIGGER_NETDEV_HALF_DUPLEX:
  	case TRIGGER_NETDEV_FULL_DUPLEX:
  	case TRIGGER_NETDEV_TX:
-@@ -319,6 +334,9 @@ static ssize_t netdev_led_attr_store(str
+@@ -324,6 +339,9 @@ static ssize_t netdev_led_attr_store(str
  	case TRIGGER_NETDEV_LINK_10:
  	case TRIGGER_NETDEV_LINK_100:
  	case TRIGGER_NETDEV_LINK_1000:
@@ -55,7 +55,7 @@ Signed-off-by: Lee Jones <lee at kernel.org>
  	case TRIGGER_NETDEV_HALF_DUPLEX:
  	case TRIGGER_NETDEV_FULL_DUPLEX:
  	case TRIGGER_NETDEV_TX:
-@@ -337,7 +355,10 @@ static ssize_t netdev_led_attr_store(str
+@@ -342,7 +360,10 @@ static ssize_t netdev_led_attr_store(str
  	if (test_bit(TRIGGER_NETDEV_LINK, &mode) &&
  	    (test_bit(TRIGGER_NETDEV_LINK_10, &mode) ||
  	     test_bit(TRIGGER_NETDEV_LINK_100, &mode) ||
@@ -67,7 +67,7 @@ Signed-off-by: Lee Jones <lee at kernel.org>
  		return -EINVAL;
  
  	cancel_delayed_work_sync(&trigger_data->work);
-@@ -367,6 +388,9 @@ DEFINE_NETDEV_TRIGGER(link, TRIGGER_NETD
+@@ -372,6 +393,9 @@ DEFINE_NETDEV_TRIGGER(link, TRIGGER_NETD
  DEFINE_NETDEV_TRIGGER(link_10, TRIGGER_NETDEV_LINK_10);
  DEFINE_NETDEV_TRIGGER(link_100, TRIGGER_NETDEV_LINK_100);
  DEFINE_NETDEV_TRIGGER(link_1000, TRIGGER_NETDEV_LINK_1000);
@@ -77,7 +77,7 @@ Signed-off-by: Lee Jones <lee at kernel.org>
  DEFINE_NETDEV_TRIGGER(half_duplex, TRIGGER_NETDEV_HALF_DUPLEX);
  DEFINE_NETDEV_TRIGGER(full_duplex, TRIGGER_NETDEV_FULL_DUPLEX);
  DEFINE_NETDEV_TRIGGER(tx, TRIGGER_NETDEV_TX);
-@@ -425,6 +449,9 @@ static struct attribute *netdev_trig_att
+@@ -435,6 +459,9 @@ static struct attribute *netdev_trig_att
  	&dev_attr_link_10.attr,
  	&dev_attr_link_100.attr,
  	&dev_attr_link_1000.attr,
@@ -87,7 +87,7 @@ Signed-off-by: Lee Jones <lee at kernel.org>
  	&dev_attr_full_duplex.attr,
  	&dev_attr_half_duplex.attr,
  	&dev_attr_rx.attr,
-@@ -522,6 +549,9 @@ static void netdev_trig_work(struct work
+@@ -532,6 +559,9 @@ static void netdev_trig_work(struct work
  			 test_bit(TRIGGER_NETDEV_LINK_10, &trigger_data->mode) ||
  			 test_bit(TRIGGER_NETDEV_LINK_100, &trigger_data->mode) ||
  			 test_bit(TRIGGER_NETDEV_LINK_1000, &trigger_data->mode) ||
diff --git a/target/linux/generic/hack-6.6/901-debloat_sock_diag.patch b/target/linux/generic/hack-6.6/901-debloat_sock_diag.patch
index c0ba6c008e..d0a21cd7f9 100644
--- a/target/linux/generic/hack-6.6/901-debloat_sock_diag.patch
+++ b/target/linux/generic/hack-6.6/901-debloat_sock_diag.patch
@@ -161,7 +161,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	  Support for PF_PACKET sockets monitoring interface used by the ss tool.
 --- a/net/unix/Kconfig
 +++ b/net/unix/Kconfig
-@@ -29,6 +29,7 @@ config	AF_UNIX_OOB
+@@ -24,6 +24,7 @@ config	AF_UNIX_OOB
  config UNIX_DIAG
  	tristate "UNIX: socket monitoring interface"
  	depends on UNIX
diff --git a/target/linux/generic/hack-6.6/902-debloat_proc.patch b/target/linux/generic/hack-6.6/902-debloat_proc.patch
index 8a2f3330ab..e426c008d0 100644
--- a/target/linux/generic/hack-6.6/902-debloat_proc.patch
+++ b/target/linux/generic/hack-6.6/902-debloat_proc.patch
@@ -341,7 +341,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  
 --- a/net/ipv4/fib_trie.c
 +++ b/net/ipv4/fib_trie.c
-@@ -3037,11 +3037,13 @@ static const struct seq_operations fib_r
+@@ -3015,11 +3015,13 @@ static const struct seq_operations fib_r
  
  int __net_init fib_proc_init(struct net *net)
  {
@@ -357,7 +357,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  			fib_triestat_seq_show, NULL))
  		goto out2;
  
-@@ -3052,17 +3054,21 @@ int __net_init fib_proc_init(struct net
+@@ -3030,17 +3032,21 @@ int __net_init fib_proc_init(struct net
  	return 0;
  
  out3:
diff --git a/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
index abd6586e6c..0ad36b3430 100644
--- a/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
+++ b/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
@@ -66,7 +66,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  static void rt_fibinfo_free(struct rtable __rcu **rtp)
 --- a/net/ipv4/fib_trie.c
 +++ b/net/ipv4/fib_trie.c
-@@ -2784,6 +2784,7 @@ static const char *const rtn_type_names[
+@@ -2762,6 +2762,7 @@ static const char *const rtn_type_names[
  	[RTN_THROW] = "THROW",
  	[RTN_NAT] = "NAT",
  	[RTN_XRESOLVE] = "XRESOLVE",
diff --git a/target/linux/generic/pending-6.6/804-nvmem-core-support-mac-base-fixed-layout-cells.patch b/target/linux/generic/pending-6.6/804-nvmem-core-support-mac-base-fixed-layout-cells.patch
index 241ff77a7b..3b7e38d635 100644
--- a/target/linux/generic/pending-6.6/804-nvmem-core-support-mac-base-fixed-layout-cells.patch
+++ b/target/linux/generic/pending-6.6/804-nvmem-core-support-mac-base-fixed-layout-cells.patch
@@ -33,7 +33,7 @@ string.
  #include <linux/init.h>
  #include <linux/kref.h>
  #include <linux/module.h>
-@@ -796,6 +799,62 @@ static int nvmem_validate_keepouts(struc
+@@ -810,6 +813,62 @@ static int nvmem_validate_keepouts(struc
  	return 0;
  }
  
@@ -96,7 +96,7 @@ string.
  static int nvmem_add_cells_from_dt(struct nvmem_device *nvmem, struct device_node *np)
  {
  	struct device *dev = &nvmem->dev;
-@@ -835,6 +894,25 @@ static int nvmem_add_cells_from_dt(struc
+@@ -849,6 +908,25 @@ static int nvmem_add_cells_from_dt(struc
  		if (nvmem->fixup_dt_cell_info)
  			nvmem->fixup_dt_cell_info(nvmem, &info);
  
diff --git a/target/linux/qualcommax/patches-6.6/0025-v6.7-cpufreq-qcom-nvmem-add-support-for-IPQ6018.patch b/target/linux/qualcommax/patches-6.6/0025-v6.7-cpufreq-qcom-nvmem-add-support-for-IPQ6018.patch
index 95c6c9505d..a6be040b59 100644
--- a/target/linux/qualcommax/patches-6.6/0025-v6.7-cpufreq-qcom-nvmem-add-support-for-IPQ6018.patch
+++ b/target/linux/qualcommax/patches-6.6/0025-v6.7-cpufreq-qcom-nvmem-add-support-for-IPQ6018.patch
@@ -25,7 +25,7 @@ Signed-off-by: Viresh Kumar <viresh.kumar at linaro.org>
 
 --- a/drivers/cpufreq/cpufreq-dt-platdev.c
 +++ b/drivers/cpufreq/cpufreq-dt-platdev.c
-@@ -177,6 +177,7 @@ static const struct of_device_id blockli
+@@ -178,6 +178,7 @@ static const struct of_device_id blockli
  	{ .compatible = "ti,am625", },
  	{ .compatible = "ti,am62a7", },
  
diff --git a/target/linux/qualcommax/patches-6.6/0026-v6.7-cpufreq-qcom-nvmem-add-support-for-IPQ8074.patch b/target/linux/qualcommax/patches-6.6/0026-v6.7-cpufreq-qcom-nvmem-add-support-for-IPQ8074.patch
index 5640038404..dc706d061b 100644
--- a/target/linux/qualcommax/patches-6.6/0026-v6.7-cpufreq-qcom-nvmem-add-support-for-IPQ8074.patch
+++ b/target/linux/qualcommax/patches-6.6/0026-v6.7-cpufreq-qcom-nvmem-add-support-for-IPQ8074.patch
@@ -25,7 +25,7 @@ Signed-off-by: Viresh Kumar <viresh.kumar at linaro.org>
 
 --- a/drivers/cpufreq/cpufreq-dt-platdev.c
 +++ b/drivers/cpufreq/cpufreq-dt-platdev.c
-@@ -179,6 +179,7 @@ static const struct of_device_id blockli
+@@ -180,6 +180,7 @@ static const struct of_device_id blockli
  
  	{ .compatible = "qcom,ipq6018", },
  	{ .compatible = "qcom,ipq8064", },
diff --git a/target/linux/starfive/patches-6.6/0109-usb-xhci-To-improve-performance-usb-using-lowmem-for.patch b/target/linux/starfive/patches-6.6/0109-usb-xhci-To-improve-performance-usb-using-lowmem-for.patch
index 052972af30..dff0c26fab 100644
--- a/target/linux/starfive/patches-6.6/0109-usb-xhci-To-improve-performance-usb-using-lowmem-for.patch
+++ b/target/linux/starfive/patches-6.6/0109-usb-xhci-To-improve-performance-usb-using-lowmem-for.patch
@@ -160,7 +160,7 @@ Signed-off-by: minda.chen <minda.chen at starfivetech.com>
  	}
 --- a/drivers/usb/host/xhci-ring.c
 +++ b/drivers/usb/host/xhci-ring.c
-@@ -3711,7 +3711,8 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3721,7 +3721,8 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
  
  	full_len = urb->transfer_buffer_length;
  	/* If we have scatter/gather list, we use it. */




More information about the lede-commits mailing list