summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Audia2026-03-04 22:10:07 +0000
committerHauke Mehrtens2026-04-02 21:23:40 +0000
commit3efb676eaaad508525ef27de5f1c44f04056933c (patch)
treecae6c03bcb60fbeb0c0e75287d10dd7c20ceb029
parent34f5713863376107b1f6b81b14ca59dfb344704e (diff)
downloadopenwrt-3efb676eaaad508525ef27de5f1c44f04056933c.tar.gz
kernel: bump 6.12 to 6.12.75
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.75 Removed upstream: bcm27xx/patches-6.12/950-0225-media-i2c-ov5647-Correct-pixel-array-offset.patch[1] bcm27xx/patches-6.12/950-0226-media-i2c-ov5647-Correct-minimum-VBLANK-value.patch[2] bcm27xx/patches-6.12/950-0248-media-i2c-ov5647-Sensor-should-report-RAW-color-spac.patch[3] qualcommax/patches-6.12/0074-v6.20-clk-qcom-gcc-ipq5018-flag-sleep-clock-as-critical.patch[4] Manually rebased: bcm27xx/patches-6.12/950-0262-mfd-simple-mfd-i2c-Add-configuration-for-RPi-POE-HAT.patch bcm27xx/patches-6.12/950-0071-drivers-mfd-sensehat-Add-Raspberry-Pi-Sense-HAT-to-s.patch bcm27xx/patches-6.12/950-0516-media-i2c-ov5647-Add-V4L2_CID_LINK_FREQUENCY-control.patch lantiq/patches-6.12/101-find_active_root.patch All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.75&id=58f1767ad5c9eda3dd0befddc1843259d46d64fa 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.75&id=ff65571ffae52b65577121e7696bf22156e1928a 3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.75&id=fbf2a108ed5eb1c896d3f354bd05314c2e22e78f 4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.75&id=b109dd4970a0fc89d54b1198b163f86125dd2977 Build system: x86/64 Build-tested: flogic/glinet_gl-mt6000 Run-tested: flogic/glinet_gl-mt6000 Co-authored-by: Shiji Yang <yangshiji66@outlook.com> Signed-off-by: John Audia <therealgraysky@proton.me> Link: https://github.com/openwrt/openwrt/pull/22276 Signed-off-by: Robert Marko <robimarko@gmail.com> (cherry picked from commit d0784a69ddf878639ca4b45005e359d59b65a1b6) Link: https://github.com/openwrt/openwrt/pull/22699 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
-rw-r--r--target/linux/airoha/patches-6.12/801-01-net-phy-add-PHY_DETACH_NO_HW_RESET-PHY-flag.patch2
-rw-r--r--target/linux/airoha/patches-6.12/901-snand-mtk-bmt-support.patch6
-rw-r--r--target/linux/airoha/patches-6.12/911-clk-en7581-Separate-PERST-from-refclk-in-PCIe-clock.patch4
-rw-r--r--target/linux/ath79/patches-6.12/900-unaligned_access_hacks.patch2
-rw-r--r--target/linux/ath79/patches-6.12/910-mikrotik-rb4xx.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0004-Revert-spi-spidev-Fix-CS-polarity-if-GPIO-descriptor.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0041-spi-spidev-Completely-disable-the-spidev-warning.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0071-drivers-mfd-sensehat-Add-Raspberry-Pi-Sense-HAT-to-s.patch6
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0073-ASoC-Add-support-for-all-the-downstream-rpi-sound-ca.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0094-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0096-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0099-lan78xx-Enable-LEDs-and-auto-negotiation.patch6
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0103-media-adv7180-Default-to-the-first-valid-input.patch4
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0104-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0130-drm-v3d-Clock-V3D-down-when-not-in-use.patch4
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0131-drm-v3d-Switch-clock-setting-to-new-api.patch4
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0132-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0221-media-i2c-ov5647-Parse-and-register-properties.patch8
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0225-media-i2c-ov5647-Correct-pixel-array-offset.patch25
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0226-media-i2c-ov5647-Correct-minimum-VBLANK-value.patch26
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0248-media-i2c-ov5647-Sensor-should-report-RAW-color-spac.patch50
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0254-media-i2c-ov5647-Support-HFLIP-and-VFLIP.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0255-spi-spidev-Restore-loading-from-Device-Tree.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0259-media-i2c-ov5647-Add-support-for-regulator-control.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0262-mfd-simple-mfd-i2c-Add-configuration-for-RPi-POE-HAT.patch8
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0276-media-i2c-ov5647-Use-v4l2_async_register_subdev_sens.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0286-random-do-not-use-jump-labels-before-they-are-initia.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0295-media-adv7180-Nasty-hack-to-allow-input-selection.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0347-net-macb-Also-set-DMA-coherent-mask.patch26
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0348-usb-dwc3-Set-DMA-and-coherent-masks-early.patch6
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0352-mfd-Add-rp1-driver.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0409-media-i2c-adv7180-Use-MEDIA_BUS_FMT_UYVY8_1X16-for-C.patch4
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0410-media-i2c-adv7180-Add-support-for-V4L2_CID_LINK_FREQ.patch10
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0413-drivers-usb-dwc3-add-FS-LS-bus-instance-parkmode-dis.patch4
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0476-lan78xx-Read-initial-EEE-status-from-DT.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0507-media-i2c-ov5647-Add-control-of-V4L2_CID_HBLANK.patch4
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0516-media-i2c-ov5647-Add-V4L2_CID_LINK_FREQUENCY-control.patch8
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0524-usb-dwc3-core-add-support-for-setting-NAK-enhancemen.patch4
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0565-net-macb-Add-support-for-Raspberry-Pi-RP1-ethernet-c.patch4
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0724-Revert-PCI-Warn-if-no-host-bridge-NUMA-node-info.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0860-drm-v3d-Associate-a-V3D-tech-revision-to-all-support.patch4
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0863-drm-v3d-Use-V3D_SMS-registers-for-power-on-off-and-r.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0949-PCI-quirks-work-around-VL805-firmware-ASPM-meddling.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-1007-drm-v3d-Don-t-retrieve-the-clock-twice.patch2
-rw-r--r--target/linux/econet/patches-6.12/902-snand-mtk-bmt-support.patch6
-rw-r--r--target/linux/generic/backport-6.12/202-v6.13-clk-Provide-devm_clk_bulk_get_all_enabled-helper.patch8
-rw-r--r--target/linux/generic/backport-6.12/401-v6.17-mtd-spinand-add-support-for-FudanMicro-FM25S01A.patch2
-rw-r--r--target/linux/generic/backport-6.12/429-01-v6.18-mtd-spinand-fix-direct-mapping-creation-sizes.patch8
-rw-r--r--target/linux/generic/backport-6.12/429-02-v6.18-mtd-spinand-try-a-regular-dirmap-if-creating-a-di.patch6
-rw-r--r--target/linux/generic/backport-6.12/429-03-v6.18-mtd-spinand-repeat-reading-in-regular-mode-if-con.patch2
-rw-r--r--target/linux/generic/backport-6.12/434-v6.19-mtd-spinand-esmt-add-support-for-F50L1G41LC.patch2
-rw-r--r--target/linux/generic/backport-6.12/500-01-v6.13-block-add-support-for-defining-read-only-partitions.patch2
-rw-r--r--target/linux/generic/backport-6.12/630-v6.14-PM-sleep-wakeirq-Introduce-device-managed-variant-of.patch2
-rw-r--r--target/linux/generic/hack-6.12/200-tools_portability.patch2
-rw-r--r--target/linux/generic/hack-6.12/204-module_strip.patch10
-rw-r--r--target/linux/generic/hack-6.12/721-net-add-packet-mangeling.patch4
-rw-r--r--target/linux/generic/hack-6.12/760-net-usb-r8152-add-LED-configuration-from-OF.patch8
-rw-r--r--target/linux/generic/hack-6.12/902-debloat_proc.patch2
-rw-r--r--target/linux/generic/kernel-6.124
-rw-r--r--target/linux/generic/pending-6.12/487-mtd-spinand-Add-support-for-Etron-EM73D044VCx.patch2
-rw-r--r--target/linux/generic/pending-6.12/620-net-sfp-improve-Huawei-MA5671a-fixup.patch4
-rw-r--r--target/linux/generic/pending-6.12/655-increase_skb_pad.patch2
-rw-r--r--target/linux/generic/pending-6.12/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch2
-rw-r--r--target/linux/generic/pending-6.12/834-ledtrig-libata.patch8
-rw-r--r--target/linux/ipq40xx/patches-6.12/701-net-dsa-add-out-of-band-tagging-protocol.patch2
-rw-r--r--target/linux/ipq40xx/patches-6.12/900-PCI-qcom-add-hack-compatible-for-ipq4019-Lantiq-DSL.patch12
-rw-r--r--target/linux/kirkwood/patches-6.12/202-linksys-find-active-root.patch4
-rw-r--r--target/linux/lantiq/patches-6.12/101-find_active_root.patch16
-rw-r--r--target/linux/mediatek/patches-6.12/121-hack-spi-nand-1b-bbm.patch4
-rw-r--r--target/linux/mediatek/patches-6.12/330-snand-mtk-bmt-support.patch6
-rw-r--r--target/linux/mediatek/patches-6.12/340-mtd-spinand-Add-support-for-the-Fidelix-FM35X1GA.patch2
-rw-r--r--target/linux/mediatek/patches-6.12/433-drivers-spi-mem-Add-spi-calibration-hook.patch2
-rw-r--r--target/linux/mediatek/patches-6.12/435-drivers-mtd-spinand-Add-calibration-support-for-spin.patch4
-rw-r--r--target/linux/mediatek/patches-6.12/436-drivers-mtd-spi-nor-Add-calibration-support-for-spi-.patch2
-rw-r--r--target/linux/mediatek/patches-6.12/601-PCI-mediatek-Assert-PERST-for-100ms-for-power-and-cl.patch2
-rw-r--r--target/linux/mediatek/patches-6.12/610-pcie-mediatek-fix-clearing-interrupt-status.patch2
-rw-r--r--target/linux/mediatek/patches-6.12/710-pci-pcie-mediatek-add-support-for-coherent-DMA.patch2
-rw-r--r--target/linux/mediatek/patches-6.12/901-arm-add-cmdline-override.patch2
-rw-r--r--target/linux/mediatek/patches-6.12/960-asus-hack-u-boot-ignore-mtdparts.patch4
-rw-r--r--target/linux/mvebu/patches-6.12/400-find_active_root.patch4
-rw-r--r--target/linux/mvebu/patches-6.12/902-drivers-mfd-Add-a-driver-for-IEI-WT61P803-PUZZLE-MCU.patch2
-rw-r--r--target/linux/pistachio/patches-6.12/401-mtd-nor-support-mtd-name-from-device-tree.patch4
-rw-r--r--target/linux/qualcommax/patches-6.12/0047-v6.16-PCI-qcom-Add-support-for-IPQ5018.patch2
-rw-r--r--target/linux/qualcommax/patches-6.12/0056-v6.17-clk-qcom-gcc-ipq5018-fix-GE-PHY-reset.patch2
-rw-r--r--target/linux/qualcommax/patches-6.12/0187-clk-qcom-gcc-ipq5018-flag-sleep-clock-as-critical.patch19
-rw-r--r--target/linux/qualcommbe/patches-6.12/0023-v6.15-net-phy-move-PHY-package-code-from-phy_device..patch2
-rw-r--r--target/linux/ramips/patches-6.12/001-v6.13-clocksource-drivers-ralink-Add-Ralink-System-Tick-Co.patch2
-rw-r--r--target/linux/ramips/patches-6.12/311-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch2
-rw-r--r--target/linux/ramips/patches-6.12/810-uvc-add-iPassion-iP2970-support.patch2
-rw-r--r--target/linux/realtek/patches-6.12/714-net-phy-sfp-add-support-for-SMBus.patch6
-rw-r--r--target/linux/realtek/patches-6.12/802-mfd-Add-RTL8231-core-device.patch2
-rw-r--r--target/linux/rockchip/patches-6.12/030-03-v6.15-irqchip-gic-v3-Add-Rockchip-3568002-erratum-workaround.patch2
-rw-r--r--target/linux/rockchip/patches-6.12/037-01-v6.15-scsi-ufs-core-Export-ufshcd_dme_reset-and.patch4
-rw-r--r--target/linux/rockchip/patches-6.12/037-02-v6.15-scsi-ufs-rockchip-Initial-support-for-UFS.patch2
-rw-r--r--target/linux/siflower/patches-6.12/016-spi-spi-mem-allow-gpio-cs-in-spi_mem_exec_op.patch2
-rw-r--r--target/linux/starfive/patches-6.12/0002-clocksource-Add-JH7110-timer-driver.patch2
-rw-r--r--target/linux/starfive/patches-6.12/0010-uart-8250-add-reset-operation-in-runtime-PM.patch6
-rw-r--r--target/linux/starfive/patches-6.12/1002-serial-8250_dw-Add-starfive-jh7100-hsuart-compatible.patch2
98 files changed, 185 insertions, 305 deletions
diff --git a/target/linux/airoha/patches-6.12/801-01-net-phy-add-PHY_DETACH_NO_HW_RESET-PHY-flag.patch b/target/linux/airoha/patches-6.12/801-01-net-phy-add-PHY_DETACH_NO_HW_RESET-PHY-flag.patch
index 5a4533378b..0c273f000f 100644
--- a/target/linux/airoha/patches-6.12/801-01-net-phy-add-PHY_DETACH_NO_HW_RESET-PHY-flag.patch
+++ b/target/linux/airoha/patches-6.12/801-01-net-phy-add-PHY_DETACH_NO_HW_RESET-PHY-flag.patch
@@ -107,7 +107,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
module_phy_driver(as21xxx_drivers);
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
-@@ -2074,7 +2074,8 @@ void phy_detach(struct phy_device *phyde
+@@ -2069,7 +2069,8 @@ void phy_detach(struct phy_device *phyde
device_release_driver(&phydev->mdio.dev);
/* Assert the reset signal */
diff --git a/target/linux/airoha/patches-6.12/901-snand-mtk-bmt-support.patch b/target/linux/airoha/patches-6.12/901-snand-mtk-bmt-support.patch
index 540e3bf1c0..a52f9c305b 100644
--- a/target/linux/airoha/patches-6.12/901-snand-mtk-bmt-support.patch
+++ b/target/linux/airoha/patches-6.12/901-snand-mtk-bmt-support.patch
@@ -8,7 +8,7 @@
static int spinand_read_reg_op(struct spinand_device *spinand, u8 reg, u8 *val)
{
-@@ -1577,6 +1578,7 @@ static int spinand_probe(struct spi_mem
+@@ -1585,6 +1586,7 @@ static int spinand_probe(struct spi_mem
if (ret)
return ret;
@@ -16,7 +16,7 @@
ret = mtd_device_register(mtd, NULL, 0);
if (ret)
goto err_spinand_cleanup;
-@@ -1584,6 +1586,7 @@ static int spinand_probe(struct spi_mem
+@@ -1592,6 +1594,7 @@ static int spinand_probe(struct spi_mem
return 0;
err_spinand_cleanup:
@@ -24,7 +24,7 @@
spinand_cleanup(spinand);
return ret;
-@@ -1602,6 +1605,7 @@ static int spinand_remove(struct spi_mem
+@@ -1610,6 +1613,7 @@ static int spinand_remove(struct spi_mem
if (ret)
return ret;
diff --git a/target/linux/airoha/patches-6.12/911-clk-en7581-Separate-PERST-from-refclk-in-PCIe-clock.patch b/target/linux/airoha/patches-6.12/911-clk-en7581-Separate-PERST-from-refclk-in-PCIe-clock.patch
index 555bc50101..9469c1c5ba 100644
--- a/target/linux/airoha/patches-6.12/911-clk-en7581-Separate-PERST-from-refclk-in-PCIe-clock.patch
+++ b/target/linux/airoha/patches-6.12/911-clk-en7581-Separate-PERST-from-refclk-in-PCIe-clock.patch
@@ -13,7 +13,7 @@ to the PCIe controller driver to manage directly via the NP_SCU regmap.
Signed-off-by: Ryan Chen <rchen14b@gmail.com>
--- a/drivers/clk/clk-en7523.c
+++ b/drivers/clk/clk-en7523.c
-@@ -961,9 +961,11 @@ static int en7581_pci_enable(struct clk_
+@@ -960,9 +960,11 @@ static int en7581_pci_enable(struct clk_
struct regmap *map = cg->map;
u32 mask;
@@ -28,7 +28,7 @@ Signed-off-by: Ryan Chen <rchen14b@gmail.com>
regmap_set_bits(map, REG_PCI_CONTROL, mask);
return 0;
-@@ -975,9 +977,8 @@ static void en7581_pci_disable(struct cl
+@@ -974,9 +976,8 @@ static void en7581_pci_disable(struct cl
struct regmap *map = cg->map;
u32 mask;
diff --git a/target/linux/ath79/patches-6.12/900-unaligned_access_hacks.patch b/target/linux/ath79/patches-6.12/900-unaligned_access_hacks.patch
index ef7300eed8..43017e10c2 100644
--- a/target/linux/ath79/patches-6.12/900-unaligned_access_hacks.patch
+++ b/target/linux/ath79/patches-6.12/900-unaligned_access_hacks.patch
@@ -312,7 +312,7 @@ SVN-Revision: 35130
case IPV6_2292HOPOPTS:
--- a/net/ipv6/exthdrs.c
+++ b/net/ipv6/exthdrs.c
-@@ -980,7 +980,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
+@@ -986,7 +986,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
goto drop;
}
diff --git a/target/linux/ath79/patches-6.12/910-mikrotik-rb4xx.patch b/target/linux/ath79/patches-6.12/910-mikrotik-rb4xx.patch
index df026cf176..56c4268158 100644
--- a/target/linux/ath79/patches-6.12/910-mikrotik-rb4xx.patch
+++ b/target/linux/ath79/patches-6.12/910-mikrotik-rb4xx.patch
@@ -45,7 +45,7 @@ Submitted-by: Christopher Hill <ch6574@gmail.com>
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
-@@ -2330,6 +2330,14 @@ config RAVE_SP_CORE
+@@ -2354,6 +2354,14 @@ config RAVE_SP_CORE
Select this to get support for the Supervisory Processor
device found on several devices in RAVE line of hardware.
diff --git a/target/linux/bcm27xx/patches-6.12/950-0004-Revert-spi-spidev-Fix-CS-polarity-if-GPIO-descriptor.patch b/target/linux/bcm27xx/patches-6.12/950-0004-Revert-spi-spidev-Fix-CS-polarity-if-GPIO-descriptor.patch
index 26bc183419..5fed553c91 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0004-Revert-spi-spidev-Fix-CS-polarity-if-GPIO-descriptor.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0004-Revert-spi-spidev-Fix-CS-polarity-if-GPIO-descriptor.patch
@@ -11,7 +11,7 @@ This reverts commit 83b2a8fe43bda0c11981ad6afa5dd0104d78be28.
--- a/drivers/spi/spidev.c
+++ b/drivers/spi/spidev.c
-@@ -428,7 +428,7 @@ spidev_ioctl(struct file *filp, unsigned
+@@ -415,7 +415,7 @@ spidev_ioctl(struct file *filp, unsigned
}
if (ctlr->use_gpio_descriptors && spi_get_csgpiod(spi, 0))
diff --git a/target/linux/bcm27xx/patches-6.12/950-0041-spi-spidev-Completely-disable-the-spidev-warning.patch b/target/linux/bcm27xx/patches-6.12/950-0041-spi-spidev-Completely-disable-the-spidev-warning.patch
index 5e486f8d63..aa9601502a 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0041-spi-spidev-Completely-disable-the-spidev-warning.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0041-spi-spidev-Completely-disable-the-spidev-warning.patch
@@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/spi/spidev.c
+++ b/drivers/spi/spidev.c
-@@ -721,7 +721,7 @@ MODULE_DEVICE_TABLE(spi, spidev_spi_ids)
+@@ -703,7 +703,7 @@ MODULE_DEVICE_TABLE(spi, spidev_spi_ids)
*/
static int spidev_of_check(struct device *dev)
{
diff --git a/target/linux/bcm27xx/patches-6.12/950-0071-drivers-mfd-sensehat-Add-Raspberry-Pi-Sense-HAT-to-s.patch b/target/linux/bcm27xx/patches-6.12/950-0071-drivers-mfd-sensehat-Add-Raspberry-Pi-Sense-HAT-to-s.patch
index 59f27ca0b9..7b7848efae 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0071-drivers-mfd-sensehat-Add-Raspberry-Pi-Sense-HAT-to-s.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0071-drivers-mfd-sensehat-Add-Raspberry-Pi-Sense-HAT-to-s.patch
@@ -19,10 +19,10 @@ Signed-off-by: Charles Mirabile <cmirabil@redhat.com>
--- a/drivers/mfd/simple-mfd-i2c.c
+++ b/drivers/mfd/simple-mfd-i2c.c
-@@ -88,6 +88,7 @@ static const struct of_device_id simple_
+@@ -119,6 +119,7 @@ static const struct of_device_id simple_
+ { .compatible = "maxim,max77705-battery", .data = &maxim_mon_max77705},
{ .compatible = "silergy,sy7636a", .data = &silergy_sy7636a},
- { .compatible = "maxim,max5970", .data = &maxim_max5970},
- { .compatible = "maxim,max5978", .data = &maxim_max5970},
+ { .compatible = "spacemit,p1", .data = &spacemit_p1, },
+ { .compatible = "raspberrypi,sensehat" },
{}
};
diff --git a/target/linux/bcm27xx/patches-6.12/950-0073-ASoC-Add-support-for-all-the-downstream-rpi-sound-ca.patch b/target/linux/bcm27xx/patches-6.12/950-0073-ASoC-Add-support-for-all-the-downstream-rpi-sound-ca.patch
index fcd469e238..fdb67cea01 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0073-ASoC-Add-support-for-all-the-downstream-rpi-sound-ca.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0073-ASoC-Add-support-for-all-the-downstream-rpi-sound-ca.patch
@@ -18626,7 +18626,7 @@ Signed-off-by: j-schambacher <joerg@hifiberry.com>
* For devices with more than one control interface, we assume the
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
-@@ -2393,6 +2393,8 @@ static const struct usb_audio_quirk_flag
+@@ -2395,6 +2395,8 @@ static const struct usb_audio_quirk_flag
QUIRK_FLAG_ALIGN_TRANSFER),
DEVICE_FLG(0x534d, 0x2109, /* MacroSilicon MS2109 */
QUIRK_FLAG_ALIGN_TRANSFER),
diff --git a/target/linux/bcm27xx/patches-6.12/950-0094-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch b/target/linux/bcm27xx/patches-6.12/950-0094-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch
index 9d9b3dcb50..50c86eba3c 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0094-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0094-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch
@@ -37,7 +37,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data)
{
u32 *buf;
-@@ -3464,8 +3473,14 @@ static int lan78xx_bind(struct lan78xx_n
+@@ -3462,8 +3471,14 @@ static int lan78xx_bind(struct lan78xx_n
if (DEFAULT_RX_CSUM_ENABLE)
dev->net->features |= NETIF_F_RXCSUM;
diff --git a/target/linux/bcm27xx/patches-6.12/950-0096-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch b/target/linux/bcm27xx/patches-6.12/950-0096-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch
index 79881ca14c..c885918f8f 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0096-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0096-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch
@@ -28,7 +28,7 @@ See: https://github.com/raspberrypi/linux/issues/2447
static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data)
{
u32 *buf;
-@@ -4448,7 +4453,13 @@ static int lan78xx_probe(struct usb_inte
+@@ -4446,7 +4451,13 @@ static int lan78xx_probe(struct usb_inte
if (ret < 0)
goto out4;
diff --git a/target/linux/bcm27xx/patches-6.12/950-0099-lan78xx-Enable-LEDs-and-auto-negotiation.patch b/target/linux/bcm27xx/patches-6.12/950-0099-lan78xx-Enable-LEDs-and-auto-negotiation.patch
index 4137adb1fb..8b0be11deb 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0099-lan78xx-Enable-LEDs-and-auto-negotiation.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0099-lan78xx-Enable-LEDs-and-auto-negotiation.patch
@@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -2915,6 +2915,11 @@ static int lan78xx_reset(struct lan78xx_
+@@ -2913,6 +2913,11 @@ static int lan78xx_reset(struct lan78xx_
int ret;
u32 buf;
u8 sig;
@@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
ret = lan78xx_read_reg(dev, HW_CFG, &buf);
if (ret < 0)
-@@ -2983,6 +2988,10 @@ static int lan78xx_reset(struct lan78xx_
+@@ -2981,6 +2986,10 @@ static int lan78xx_reset(struct lan78xx_
buf |= HW_CFG_CLK125_EN_;
buf |= HW_CFG_REFCLK25_EN_;
@@ -37,7 +37,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
ret = lan78xx_write_reg(dev, HW_CFG, buf);
if (ret < 0)
return ret;
-@@ -3085,6 +3094,9 @@ static int lan78xx_reset(struct lan78xx_
+@@ -3083,6 +3092,9 @@ static int lan78xx_reset(struct lan78xx_
buf |= MAC_CR_AUTO_DUPLEX_ | MAC_CR_AUTO_SPEED_;
}
}
diff --git a/target/linux/bcm27xx/patches-6.12/950-0103-media-adv7180-Default-to-the-first-valid-input.patch b/target/linux/bcm27xx/patches-6.12/950-0103-media-adv7180-Default-to-the-first-valid-input.patch
index c294e5286a..420170ed39 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0103-media-adv7180-Default-to-the-first-valid-input.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0103-media-adv7180-Default-to-the-first-valid-input.patch
@@ -16,7 +16,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
--- a/drivers/media/i2c/adv7180.c
+++ b/drivers/media/i2c/adv7180.c
-@@ -1352,6 +1352,7 @@ static const struct adv7180_chip_info ad
+@@ -1359,6 +1359,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@raspberrypi.org>
mutex_lock(&state->mutex);
-@@ -1399,6 +1400,18 @@ static int init_device(struct adv7180_st
+@@ -1406,6 +1407,18 @@ static int init_device(struct adv7180_st
goto out_unlock;
}
diff --git a/target/linux/bcm27xx/patches-6.12/950-0104-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch b/target/linux/bcm27xx/patches-6.12/950-0104-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch
index 1552f6358c..b06058610b 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0104-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0104-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch
@@ -14,7 +14,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
--- a/drivers/media/i2c/adv7180.c
+++ b/drivers/media/i2c/adv7180.c
-@@ -1341,6 +1341,7 @@ static const struct adv7180_chip_info ad
+@@ -1348,6 +1348,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.12/950-0130-drm-v3d-Clock-V3D-down-when-not-in-use.patch b/target/linux/bcm27xx/patches-6.12/950-0130-drm-v3d-Clock-V3D-down-when-not-in-use.patch
index bedd6f52a6..b0bede587d 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0130-drm-v3d-Clock-V3D-down-when-not-in-use.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0130-drm-v3d-Clock-V3D-down-when-not-in-use.patch
@@ -37,7 +37,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
--- a/drivers/gpu/drm/v3d/v3d_drv.c
+++ b/drivers/gpu/drm/v3d/v3d_drv.c
-@@ -331,6 +331,21 @@ static int v3d_platform_drm_probe(struct
+@@ -333,6 +333,21 @@ static int v3d_platform_drm_probe(struct
}
}
@@ -59,7 +59,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
if (v3d->ver < 41) {
ret = map_regs(v3d, &v3d->gca_regs, "gca");
if (ret)
-@@ -360,6 +375,8 @@ static int v3d_platform_drm_probe(struct
+@@ -362,6 +377,8 @@ static int v3d_platform_drm_probe(struct
ret = v3d_sysfs_init(dev);
if (ret)
goto drm_unregister;
diff --git a/target/linux/bcm27xx/patches-6.12/950-0131-drm-v3d-Switch-clock-setting-to-new-api.patch b/target/linux/bcm27xx/patches-6.12/950-0131-drm-v3d-Switch-clock-setting-to-new-api.patch
index 6bdc6483e7..da230d2a39 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0131-drm-v3d-Switch-clock-setting-to-new-api.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0131-drm-v3d-Switch-clock-setting-to-new-api.patch
@@ -41,7 +41,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
struct drm_device *drm;
struct v3d_dev *v3d;
int ret;
-@@ -337,7 +343,20 @@ static int v3d_platform_drm_probe(struct
+@@ -339,7 +345,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);
}
@@ -63,7 +63,7 @@ Signed-off-by: Maxime Ripard <maxime@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
-@@ -375,7 +394,7 @@ static int v3d_platform_drm_probe(struct
+@@ -377,7 +396,7 @@ static int v3d_platform_drm_probe(struct
ret = v3d_sysfs_init(dev);
if (ret)
goto drm_unregister;
diff --git a/target/linux/bcm27xx/patches-6.12/950-0132-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch b/target/linux/bcm27xx/patches-6.12/950-0132-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch
index e42ac554da..aa306da6f8 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0132-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0132-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch
@@ -32,7 +32,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
#define USB_VENDOR_ID_BELKIN 0x050d
#define USB_DEVICE_ID_FLIP_KVM 0x3201
-@@ -1475,6 +1478,9 @@
+@@ -1479,6 +1482,9 @@
#define USB_VENDOR_ID_XIAOMI 0x2717
#define USB_DEVICE_ID_MI_SILENT_MOUSE 0x5014
diff --git a/target/linux/bcm27xx/patches-6.12/950-0221-media-i2c-ov5647-Parse-and-register-properties.patch b/target/linux/bcm27xx/patches-6.12/950-0221-media-i2c-ov5647-Parse-and-register-properties.patch
index a80f7697e8..8429b3985e 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0221-media-i2c-ov5647-Parse-and-register-properties.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0221-media-i2c-ov5647-Parse-and-register-properties.patch
@@ -26,7 +26,7 @@ Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
v4l2_ctrl_handler_init(&sensor->ctrls, 9);
-@@ -1351,6 +1352,11 @@ static int ov5647_init_controls(struct o
+@@ -1353,6 +1354,11 @@ static int ov5647_init_controls(struct o
ARRAY_SIZE(ov5647_test_pattern_menu) - 1,
0, 0, ov5647_test_pattern_menu);
@@ -38,9 +38,9 @@ Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
if (sensor->ctrls.error)
goto handler_free;
-@@ -1434,7 +1440,7 @@ static int ov5647_probe(struct i2c_clien
-
- sensor->mode = OV5647_DEFAULT_MODE;
+@@ -1441,7 +1447,7 @@ static int ov5647_probe(struct i2c_clien
+ sd->internal_ops = &ov5647_subdev_internal_ops;
+ sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE | V4L2_SUBDEV_FL_HAS_EVENTS;
- ret = ov5647_init_controls(sensor);
+ ret = ov5647_init_controls(sensor, dev);
diff --git a/target/linux/bcm27xx/patches-6.12/950-0225-media-i2c-ov5647-Correct-pixel-array-offset.patch b/target/linux/bcm27xx/patches-6.12/950-0225-media-i2c-ov5647-Correct-pixel-array-offset.patch
deleted file mode 100644
index 0a4b8bd412..0000000000
--- a/target/linux/bcm27xx/patches-6.12/950-0225-media-i2c-ov5647-Correct-pixel-array-offset.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 70c32664e555b0641cc187eebf0d738eb10a33a0 Mon Sep 17 00:00:00 2001
-From: David Plowman <david.plowman@raspberrypi.com>
-Date: Tue, 11 May 2021 12:52:26 +0100
-Subject: [PATCH] media: i2c: ov5647: Correct pixel array offset
-
-The top offset in the pixel array is actually 6 (see page 3-1 of the
-OV5647 data sheet).
-
-Fixes: f2f7ad5ce5e52 ("media: i2c: ov5647: Selection compliance fixes")
-Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
----
- drivers/media/i2c/ov5647.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/drivers/media/i2c/ov5647.c
-+++ b/drivers/media/i2c/ov5647.c
-@@ -69,7 +69,7 @@
- #define OV5647_NATIVE_HEIGHT 1956U
-
- #define OV5647_PIXEL_ARRAY_LEFT 16U
--#define OV5647_PIXEL_ARRAY_TOP 16U
-+#define OV5647_PIXEL_ARRAY_TOP 6U
- #define OV5647_PIXEL_ARRAY_WIDTH 2592U
- #define OV5647_PIXEL_ARRAY_HEIGHT 1944U
-
diff --git a/target/linux/bcm27xx/patches-6.12/950-0226-media-i2c-ov5647-Correct-minimum-VBLANK-value.patch b/target/linux/bcm27xx/patches-6.12/950-0226-media-i2c-ov5647-Correct-minimum-VBLANK-value.patch
deleted file mode 100644
index 05dedae1a4..0000000000
--- a/target/linux/bcm27xx/patches-6.12/950-0226-media-i2c-ov5647-Correct-minimum-VBLANK-value.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 3a415d5da89b4a2d83f5590820fa649293eef6ba Mon Sep 17 00:00:00 2001
-From: David Plowman <david.plowman@raspberrypi.com>
-Date: Tue, 11 May 2021 12:57:22 +0100
-Subject: [PATCH] media: i2c: ov5647: Correct minimum VBLANK value
-
-Trial and error reveals that the minimum vblank value appears to be 24
-(the OV5647 data sheet does not give any clues). This fixes streaming
-lock-ups in full resolution mode.
-
-Fixes: 9b5a5ebedc303 ("media: i2c: ov5647: Add support for V4L2_CID_VBLANK")
-Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
----
- drivers/media/i2c/ov5647.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/drivers/media/i2c/ov5647.c
-+++ b/drivers/media/i2c/ov5647.c
-@@ -73,7 +73,7 @@
- #define OV5647_PIXEL_ARRAY_WIDTH 2592U
- #define OV5647_PIXEL_ARRAY_HEIGHT 1944U
-
--#define OV5647_VBLANK_MIN 4
-+#define OV5647_VBLANK_MIN 24
- #define OV5647_VTS_MAX 32767
-
- #define OV5647_EXPOSURE_MIN 4
diff --git a/target/linux/bcm27xx/patches-6.12/950-0248-media-i2c-ov5647-Sensor-should-report-RAW-color-spac.patch b/target/linux/bcm27xx/patches-6.12/950-0248-media-i2c-ov5647-Sensor-should-report-RAW-color-spac.patch
deleted file mode 100644
index 150e3e7867..0000000000
--- a/target/linux/bcm27xx/patches-6.12/950-0248-media-i2c-ov5647-Sensor-should-report-RAW-color-spac.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 2469a06f61b88939d92fd8e61a32afd5566c0be0 Mon Sep 17 00:00:00 2001
-From: David Plowman <david.plowman@raspberrypi.com>
-Date: Thu, 21 Oct 2021 14:47:00 +0100
-Subject: [PATCH] media: i2c: ov5647: Sensor should report RAW color space
-
-Tested on Raspberry Pi running libcamera.
-
-Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
----
- drivers/media/i2c/ov5647.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
---- a/drivers/media/i2c/ov5647.c
-+++ b/drivers/media/i2c/ov5647.c
-@@ -508,7 +508,7 @@ static const struct ov5647_mode ov5647_m
- {
- .format = {
- .code = MEDIA_BUS_FMT_SBGGR10_1X10,
-- .colorspace = V4L2_COLORSPACE_SRGB,
-+ .colorspace = V4L2_COLORSPACE_RAW,
- .field = V4L2_FIELD_NONE,
- .width = 2592,
- .height = 1944
-@@ -529,7 +529,7 @@ static const struct ov5647_mode ov5647_m
- {
- .format = {
- .code = MEDIA_BUS_FMT_SBGGR10_1X10,
-- .colorspace = V4L2_COLORSPACE_SRGB,
-+ .colorspace = V4L2_COLORSPACE_RAW,
- .field = V4L2_FIELD_NONE,
- .width = 1920,
- .height = 1080
-@@ -550,7 +550,7 @@ static const struct ov5647_mode ov5647_m
- {
- .format = {
- .code = MEDIA_BUS_FMT_SBGGR10_1X10,
-- .colorspace = V4L2_COLORSPACE_SRGB,
-+ .colorspace = V4L2_COLORSPACE_RAW,
- .field = V4L2_FIELD_NONE,
- .width = 1296,
- .height = 972
-@@ -571,7 +571,7 @@ static const struct ov5647_mode ov5647_m
- {
- .format = {
- .code = MEDIA_BUS_FMT_SBGGR10_1X10,
-- .colorspace = V4L2_COLORSPACE_SRGB,
-+ .colorspace = V4L2_COLORSPACE_RAW,
- .field = V4L2_FIELD_NONE,
- .width = 640,
- .height = 480
diff --git a/target/linux/bcm27xx/patches-6.12/950-0254-media-i2c-ov5647-Support-HFLIP-and-VFLIP.patch b/target/linux/bcm27xx/patches-6.12/950-0254-media-i2c-ov5647-Support-HFLIP-and-VFLIP.patch
index 1ae2ef809f..54bda1ee55 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0254-media-i2c-ov5647-Support-HFLIP-and-VFLIP.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0254-media-i2c-ov5647-Support-HFLIP-and-VFLIP.patch
@@ -170,7 +170,7 @@ Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
default:
dev_info(&client->dev,
"Control (id:0x%x, val:0x%x) not supported\n",
-@@ -1354,6 +1408,16 @@ static int ov5647_init_controls(struct o
+@@ -1356,6 +1410,16 @@ static int ov5647_init_controls(struct o
ARRAY_SIZE(ov5647_test_pattern_menu) - 1,
0, 0, ov5647_test_pattern_menu);
diff --git a/target/linux/bcm27xx/patches-6.12/950-0255-spi-spidev-Restore-loading-from-Device-Tree.patch b/target/linux/bcm27xx/patches-6.12/950-0255-spi-spidev-Restore-loading-from-Device-Tree.patch
index 5517c11fa6..cbd07355da 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0255-spi-spidev-Restore-loading-from-Device-Tree.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0255-spi-spidev-Restore-loading-from-Device-Tree.patch
@@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/spi/spidev.c
+++ b/drivers/spi/spidev.c
-@@ -711,6 +711,7 @@ static const struct spi_device_id spidev
+@@ -693,6 +693,7 @@ static const struct spi_device_id spidev
{ .name = "spi-authenta" },
{ .name = "em3581" },
{ .name = "si3210" },
diff --git a/target/linux/bcm27xx/patches-6.12/950-0259-media-i2c-ov5647-Add-support-for-regulator-control.patch b/target/linux/bcm27xx/patches-6.12/950-0259-media-i2c-ov5647-Add-support-for-regulator-control.patch
index 10eefaaf96..a3395643d9 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0259-media-i2c-ov5647-Add-support-for-regulator-control.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0259-media-i2c-ov5647-Add-support-for-regulator-control.patch
@@ -95,7 +95,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
static int ov5647_init_controls(struct ov5647 *sensor, struct device *dev)
{
struct i2c_client *client = v4l2_get_subdevdata(&sensor->sd);
-@@ -1502,6 +1533,12 @@ static int ov5647_probe(struct i2c_clien
+@@ -1504,6 +1535,12 @@ static int ov5647_probe(struct i2c_clien
return -EINVAL;
}
diff --git a/target/linux/bcm27xx/patches-6.12/950-0262-mfd-simple-mfd-i2c-Add-configuration-for-RPi-POE-HAT.patch b/target/linux/bcm27xx/patches-6.12/950-0262-mfd-simple-mfd-i2c-Add-configuration-for-RPi-POE-HAT.patch
index e366e93da8..9081c605f5 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0262-mfd-simple-mfd-i2c-Add-configuration-for-RPi-POE-HAT.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0262-mfd-simple-mfd-i2c-Add-configuration-for-RPi-POE-HAT.patch
@@ -17,7 +17,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
-@@ -1186,6 +1186,16 @@ config MFD_SY7636A
+@@ -1210,6 +1210,16 @@ config MFD_SY7636A
To enable support for building sub-devices as modules,
choose M here.
@@ -52,10 +52,10 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
static int simple_mfd_i2c_probe(struct i2c_client *i2c)
{
const struct simple_mfd_data *simple_mfd_data;
-@@ -88,6 +97,7 @@ static const struct of_device_id simple_
+@@ -119,6 +128,7 @@ static const struct of_device_id simple_
+ { .compatible = "maxim,max77705-battery", .data = &maxim_mon_max77705},
{ .compatible = "silergy,sy7636a", .data = &silergy_sy7636a},
- { .compatible = "maxim,max5970", .data = &maxim_max5970},
- { .compatible = "maxim,max5978", .data = &maxim_max5970},
+ { .compatible = "spacemit,p1", .data = &spacemit_p1, },
+ { .compatible = "raspberrypi,poe-core", &rpi_poe_core },
{ .compatible = "raspberrypi,sensehat" },
{}
diff --git a/target/linux/bcm27xx/patches-6.12/950-0276-media-i2c-ov5647-Use-v4l2_async_register_subdev_sens.patch b/target/linux/bcm27xx/patches-6.12/950-0276-media-i2c-ov5647-Use-v4l2_async_register_subdev_sens.patch
index 259c515d59..4734238175 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0276-media-i2c-ov5647-Use-v4l2_async_register_subdev_sens.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0276-media-i2c-ov5647-Use-v4l2_async_register_subdev_sens.patch
@@ -15,7 +15,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
--- a/drivers/media/i2c/ov5647.c
+++ b/drivers/media/i2c/ov5647.c
-@@ -1566,7 +1566,7 @@ static int ov5647_probe(struct i2c_clien
+@@ -1568,7 +1568,7 @@ static int ov5647_probe(struct i2c_clien
if (ret < 0)
goto power_off;
diff --git a/target/linux/bcm27xx/patches-6.12/950-0286-random-do-not-use-jump-labels-before-they-are-initia.patch b/target/linux/bcm27xx/patches-6.12/950-0286-random-do-not-use-jump-labels-before-they-are-initia.patch
index 76662197f0..97a849c853 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0286-random-do-not-use-jump-labels-before-they-are-initia.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0286-random-do-not-use-jump-labels-before-they-are-initia.patch
@@ -68,7 +68,7 @@ Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
-@@ -867,6 +867,14 @@ void __init random_init_early(const char
+@@ -857,6 +857,14 @@ void __init random_init_early(const char
unsigned long entropy[BLAKE2S_BLOCK_SIZE / sizeof(long)];
size_t i, longs, arch_bits;
diff --git a/target/linux/bcm27xx/patches-6.12/950-0295-media-adv7180-Nasty-hack-to-allow-input-selection.patch b/target/linux/bcm27xx/patches-6.12/950-0295-media-adv7180-Nasty-hack-to-allow-input-selection.patch
index fca52578af..99874abcc3 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0295-media-adv7180-Nasty-hack-to-allow-input-selection.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0295-media-adv7180-Nasty-hack-to-allow-input-selection.patch
@@ -78,7 +78,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
*norm = state->curr_norm;
return 0;
-@@ -890,6 +914,8 @@ static int adv7180_s_stream(struct v4l2_
+@@ -897,6 +921,8 @@ static int adv7180_s_stream(struct v4l2_
return 0;
}
diff --git a/target/linux/bcm27xx/patches-6.12/950-0347-net-macb-Also-set-DMA-coherent-mask.patch b/target/linux/bcm27xx/patches-6.12/950-0347-net-macb-Also-set-DMA-coherent-mask.patch
index e799875228..92495f3981 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0347-net-macb-Also-set-DMA-coherent-mask.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0347-net-macb-Also-set-DMA-coherent-mask.patch
@@ -191,7 +191,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
static void macb_init_buffers(struct macb *bp)
{
struct macb_queue *queue;
-@@ -976,6 +992,7 @@ static int macb_mii_init(struct macb *bp
+@@ -974,6 +990,7 @@ static int macb_mii_init(struct macb *bp
bp->mii_bus->write = &macb_mdio_write_c22;
bp->mii_bus->read_c45 = &macb_mdio_read_c45;
bp->mii_bus->write_c45 = &macb_mdio_write_c45;
@@ -199,7 +199,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
snprintf(bp->mii_bus->id, MII_BUS_ID_SIZE, "%s-%x",
bp->pdev->name, bp->pdev->id);
bp->mii_bus->priv = bp;
-@@ -1641,6 +1658,11 @@ static int macb_rx(struct macb_queue *qu
+@@ -1639,6 +1656,11 @@ static int macb_rx(struct macb_queue *qu
macb_init_rx_ring(queue);
queue_writel(queue, RBQP, queue->rx_ring_dma);
@@ -211,7 +211,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
macb_writel(bp, NCR, ctrl | MACB_BIT(RE));
-@@ -1943,8 +1965,9 @@ static irqreturn_t macb_interrupt(int ir
+@@ -1941,8 +1963,9 @@ static irqreturn_t macb_interrupt(int ir
queue_writel(queue, ISR, MACB_BIT(TCOMP) |
MACB_BIT(TXUBR));
@@ -222,7 +222,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
wmb(); // ensure softirq can see update
}
-@@ -2400,6 +2423,11 @@ static netdev_tx_t macb_start_xmit(struc
+@@ -2398,6 +2421,11 @@ static netdev_tx_t macb_start_xmit(struc
skb_tx_timestamp(skb);
spin_lock(&bp->lock);
@@ -234,7 +234,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
macb_writel(bp, NCR, macb_readl(bp, NCR) | MACB_BIT(TSTART));
spin_unlock(&bp->lock);
-@@ -2806,6 +2834,37 @@ static void macb_configure_dma(struct ma
+@@ -2804,6 +2832,37 @@ static void macb_configure_dma(struct ma
}
}
@@ -272,7 +272,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
static void macb_init_hw(struct macb *bp)
{
u32 config;
-@@ -2834,6 +2893,11 @@ static void macb_init_hw(struct macb *bp
+@@ -2832,6 +2891,11 @@ static void macb_init_hw(struct macb *bp
if (bp->caps & MACB_CAPS_JUMBO)
bp->rx_frm_len_mask = MACB_RX_JFRMLEN_MASK;
@@ -284,7 +284,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
macb_configure_dma(bp);
/* Enable RX partial store and forward and set watermark */
-@@ -3200,6 +3264,52 @@ static void gem_get_ethtool_strings(stru
+@@ -3199,6 +3263,52 @@ static void gem_get_ethtool_strings(stru
}
}
@@ -337,7 +337,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
static struct net_device_stats *macb_get_stats(struct net_device *dev)
{
struct macb *bp = netdev_priv(dev);
-@@ -3784,6 +3894,8 @@ static const struct ethtool_ops macb_eth
+@@ -3783,6 +3893,8 @@ static const struct ethtool_ops macb_eth
};
static const struct ethtool_ops gem_ethtool_ops = {
@@ -346,7 +346,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
.get_regs_len = macb_get_regs_len,
.get_regs = macb_get_regs,
.get_wol = macb_get_wol,
-@@ -3793,6 +3905,8 @@ static const struct ethtool_ops gem_etht
+@@ -3792,6 +3904,8 @@ static const struct ethtool_ops gem_etht
.get_ethtool_stats = gem_get_ethtool_stats,
.get_strings = gem_get_ethtool_strings,
.get_sset_count = gem_get_sset_count,
@@ -355,7 +355,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
.get_link_ksettings = macb_get_link_ksettings,
.set_link_ksettings = macb_set_link_ksettings,
.get_ringparam = macb_get_ringparam,
-@@ -5114,6 +5228,11 @@ static int macb_probe(struct platform_de
+@@ -5113,6 +5227,11 @@ static int macb_probe(struct platform_de
}
}
}
@@ -367,7 +367,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
spin_lock_init(&bp->lock);
spin_lock_init(&bp->stats_lock);
-@@ -5174,6 +5293,21 @@ static int macb_probe(struct platform_de
+@@ -5173,6 +5292,21 @@ static int macb_probe(struct platform_de
else
bp->phy_interface = interface;
@@ -389,7 +389,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
/* IP specific init */
err = init(pdev);
if (err)
-@@ -5245,6 +5379,19 @@ static void macb_remove(struct platform_
+@@ -5244,6 +5378,19 @@ static void macb_remove(struct platform_
}
}
@@ -409,7 +409,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
static int __maybe_unused macb_suspend(struct device *dev)
{
struct net_device *netdev = dev_get_drvdata(dev);
-@@ -5498,6 +5645,7 @@ static const struct dev_pm_ops macb_pm_o
+@@ -5497,6 +5644,7 @@ static const struct dev_pm_ops macb_pm_o
static struct platform_driver macb_driver = {
.probe = macb_probe,
.remove_new = macb_remove,
diff --git a/target/linux/bcm27xx/patches-6.12/950-0348-usb-dwc3-Set-DMA-and-coherent-masks-early.patch b/target/linux/bcm27xx/patches-6.12/950-0348-usb-dwc3-Set-DMA-and-coherent-masks-early.patch
index 936a3249a4..1f188450ab 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0348-usb-dwc3-Set-DMA-and-coherent-masks-early.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0348-usb-dwc3-Set-DMA-and-coherent-masks-early.patch
@@ -308,7 +308,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
dwc->tx_fifo_resize_max_num = tx_fifo_resize_max_num;
}
-@@ -2187,6 +2234,12 @@ static int dwc3_probe(struct platform_de
+@@ -2202,6 +2249,12 @@ static int dwc3_probe(struct platform_de
if (IS_ERR(dwc->usb_psy))
return dev_err_probe(dev, PTR_ERR(dwc->usb_psy), "couldn't get usb power supply\n");
@@ -333,7 +333,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
/* Global Debug LSP MUX Select */
#define DWC3_GDBGLSPMUX_ENDBC BIT(15) /* Host only */
#define DWC3_GDBGLSPMUX_HOSTSELECT(n) ((n) & 0x3fff)
-@@ -1087,6 +1090,7 @@ struct dwc3_scratchpad_array {
+@@ -1089,6 +1092,7 @@ struct dwc3_scratchpad_array {
* @tx_max_burst_prd: max periodic ESS transmit burst size
* @tx_fifo_resize_max_num: max number of fifos allocated during txfifo resize
* @clear_stall_protocol: endpoint number that requires a delayed status phase
@@ -341,7 +341,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
* @hsphy_interface: "utmi" or "ulpi"
* @connected: true when we're connected to a host, false otherwise
* @softconnect: true when gadget connect is called, false when disconnect runs
-@@ -1338,6 +1342,7 @@ struct dwc3 {
+@@ -1342,6 +1346,7 @@ struct dwc3 {
u8 tx_max_burst_prd;
u8 tx_fifo_resize_max_num;
u8 clear_stall_protocol;
diff --git a/target/linux/bcm27xx/patches-6.12/950-0352-mfd-Add-rp1-driver.patch b/target/linux/bcm27xx/patches-6.12/950-0352-mfd-Add-rp1-driver.patch
index fa25e0aea2..1912000f12 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0352-mfd-Add-rp1-driver.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0352-mfd-Add-rp1-driver.patch
@@ -25,7 +25,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
-@@ -2384,6 +2384,17 @@ config MFD_INTEL_M10_BMC_PMCI
+@@ -2408,6 +2408,17 @@ config MFD_INTEL_M10_BMC_PMCI
additional drivers must be enabled in order to use the functionality
of the device.
diff --git a/target/linux/bcm27xx/patches-6.12/950-0409-media-i2c-adv7180-Use-MEDIA_BUS_FMT_UYVY8_1X16-for-C.patch b/target/linux/bcm27xx/patches-6.12/950-0409-media-i2c-adv7180-Use-MEDIA_BUS_FMT_UYVY8_1X16-for-C.patch
index 9b86b31a5d..e56559b5af 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0409-media-i2c-adv7180-Use-MEDIA_BUS_FMT_UYVY8_1X16-for-C.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0409-media-i2c-adv7180-Use-MEDIA_BUS_FMT_UYVY8_1X16-for-C.patch
@@ -17,7 +17,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
--- a/drivers/media/i2c/adv7180.c
+++ b/drivers/media/i2c/adv7180.c
-@@ -732,10 +732,15 @@ static int adv7180_enum_mbus_code(struct
+@@ -739,10 +739,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@raspberrypi.com>
return 0;
}
-@@ -745,7 +750,10 @@ static int adv7180_mbus_fmt(struct v4l2_
+@@ -752,7 +757,10 @@ static int adv7180_mbus_fmt(struct v4l2_
{
struct adv7180_state *state = to_state(sd);
diff --git a/target/linux/bcm27xx/patches-6.12/950-0410-media-i2c-adv7180-Add-support-for-V4L2_CID_LINK_FREQ.patch b/target/linux/bcm27xx/patches-6.12/950-0410-media-i2c-adv7180-Add-support-for-V4L2_CID_LINK_FREQ.patch
index 1ec30edc79..ce8320131c 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0410-media-i2c-adv7180-Add-support-for-V4L2_CID_LINK_FREQ.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0410-media-i2c-adv7180-Add-support-for-V4L2_CID_LINK_FREQ.patch
@@ -36,7 +36,7 @@ This reverts commit 00ecb85c58501f8f7ae75fcb069bbbad5542e853.
};
#define to_adv7180_sd(_ctrl) (&container_of(_ctrl->handler, \
struct adv7180_state, \
-@@ -625,6 +636,9 @@ static int adv7180_s_ctrl(struct v4l2_ct
+@@ -632,6 +643,9 @@ static int adv7180_s_ctrl(struct v4l2_ct
if (ret)
return ret;
@@ -46,7 +46,7 @@ This reverts commit 00ecb85c58501f8f7ae75fcb069bbbad5542e853.
val = ctrl->val;
switch (ctrl->id) {
case V4L2_CID_BRIGHTNESS:
-@@ -666,6 +680,7 @@ static int adv7180_s_ctrl(struct v4l2_ct
+@@ -673,6 +687,7 @@ static int adv7180_s_ctrl(struct v4l2_ct
ret = -EINVAL;
}
@@ -54,7 +54,7 @@ This reverts commit 00ecb85c58501f8f7ae75fcb069bbbad5542e853.
mutex_unlock(&state->mutex);
return ret;
}
-@@ -686,7 +701,7 @@ static const struct v4l2_ctrl_config adv
+@@ -693,7 +708,7 @@ static const struct v4l2_ctrl_config adv
static int adv7180_init_controls(struct adv7180_state *state)
{
@@ -63,7 +63,7 @@ This reverts commit 00ecb85c58501f8f7ae75fcb069bbbad5542e853.
v4l2_ctrl_new_std(&state->ctrl_hdl, &adv7180_ctrl_ops,
V4L2_CID_BRIGHTNESS, ADV7180_BRI_MIN,
-@@ -712,6 +727,17 @@ static int adv7180_init_controls(struct
+@@ -719,6 +734,17 @@ static int adv7180_init_controls(struct
test_pattern_menu);
}
@@ -81,7 +81,7 @@ This reverts commit 00ecb85c58501f8f7ae75fcb069bbbad5542e853.
state->sd.ctrl_handler = &state->ctrl_hdl;
if (state->ctrl_hdl.error) {
int err = state->ctrl_hdl.error;
-@@ -839,7 +865,16 @@ static int adv7180_set_pad_format(struct
+@@ -846,7 +872,16 @@ static int adv7180_set_pad_format(struct
ret = adv7180_mbus_fmt(sd, &format->format);
if (format->which == V4L2_SUBDEV_FORMAT_ACTIVE) {
diff --git a/target/linux/bcm27xx/patches-6.12/950-0413-drivers-usb-dwc3-add-FS-LS-bus-instance-parkmode-dis.patch b/target/linux/bcm27xx/patches-6.12/950-0413-drivers-usb-dwc3-add-FS-LS-bus-instance-parkmode-dis.patch
index f3247b6e05..27e442afc0 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0413-drivers-usb-dwc3-add-FS-LS-bus-instance-parkmode-dis.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0413-drivers-usb-dwc3-add-FS-LS-bus-instance-parkmode-dis.patch
@@ -45,7 +45,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
#define DWC3_GUCTL1_RESUME_OPMODE_HS_HOST BIT(10)
/* Global Status Register */
-@@ -1142,10 +1143,12 @@ struct dwc3_scratchpad_array {
+@@ -1144,10 +1145,12 @@ struct dwc3_scratchpad_array {
* generation after resume from suspend.
* @ulpi_ext_vbus_drv: Set to confiure the upli chip to drives CPEN pin
* VBUS with an external supply.
@@ -62,7 +62,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
* @gfladj_refclk_lpm_sel: set if we need to enable SOF/ITP counter
* running based on ref_clk
* @tx_de_emphasis_quirk: set if we enable Tx de-emphasis quirk
-@@ -1386,6 +1389,7 @@ struct dwc3 {
+@@ -1390,6 +1393,7 @@ struct dwc3 {
unsigned ulpi_ext_vbus_drv:1;
unsigned parkmode_disable_ss_quirk:1;
unsigned parkmode_disable_hs_quirk:1;
diff --git a/target/linux/bcm27xx/patches-6.12/950-0476-lan78xx-Read-initial-EEE-status-from-DT.patch b/target/linux/bcm27xx/patches-6.12/950-0476-lan78xx-Read-initial-EEE-status-from-DT.patch
index 1c2ec17d50..9dddcb304a 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0476-lan78xx-Read-initial-EEE-status-from-DT.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0476-lan78xx-Read-initial-EEE-status-from-DT.patch
@@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -2440,7 +2440,26 @@ static int lan78xx_phy_init(struct lan78
+@@ -2438,7 +2438,26 @@ static int lan78xx_phy_init(struct lan78
mii_adv_to_linkmode_adv_t(fc, mii_adv);
linkmode_or(phydev->advertising, fc, phydev->advertising);
diff --git a/target/linux/bcm27xx/patches-6.12/950-0507-media-i2c-ov5647-Add-control-of-V4L2_CID_HBLANK.patch b/target/linux/bcm27xx/patches-6.12/950-0507-media-i2c-ov5647-Add-control-of-V4L2_CID_HBLANK.patch
index 86e090057b..f8d66f61b0 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0507-media-i2c-ov5647-Add-control-of-V4L2_CID_HBLANK.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0507-media-i2c-ov5647-Add-control-of-V4L2_CID_HBLANK.patch
@@ -102,7 +102,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
/* Read-only, but we adjust it based on mode. */
break;
-@@ -1421,10 +1421,11 @@ static int ov5647_init_controls(struct o
+@@ -1423,10 +1423,11 @@ static int ov5647_init_controls(struct o
sensor->mode->pixel_rate, 1,
sensor->mode->pixel_rate);
@@ -116,7 +116,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
hblank);
sensor->vblank = v4l2_ctrl_new_std(&sensor->ctrls, &ov5647_ctrl_ops,
-@@ -1458,7 +1459,6 @@ static int ov5647_init_controls(struct o
+@@ -1460,7 +1461,6 @@ static int ov5647_init_controls(struct o
goto handler_free;
sensor->pixel_rate->flags |= V4L2_CTRL_FLAG_READ_ONLY;
diff --git a/target/linux/bcm27xx/patches-6.12/950-0516-media-i2c-ov5647-Add-V4L2_CID_LINK_FREQUENCY-control.patch b/target/linux/bcm27xx/patches-6.12/950-0516-media-i2c-ov5647-Add-V4L2_CID_LINK_FREQUENCY-control.patch
index 192be95286..e122bba10b 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0516-media-i2c-ov5647-Add-V4L2_CID_LINK_FREQUENCY-control.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0516-media-i2c-ov5647-Add-V4L2_CID_LINK_FREQUENCY-control.patch
@@ -70,7 +70,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
@@ -439,6 +451,7 @@ static const struct ov5647_mode ov5647_m
.height = 1920,
},
- .pixel_rate = 55000000,
+ .pixel_rate = 58333000,
+ .link_freq_index = FREQ_INDEX_VGA,
.hts = 1852,
.vts = 0x1f8,
@@ -91,9 +91,9 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
- v4l2_ctrl_handler_init(&sensor->ctrls, 9);
+ v4l2_ctrl_handler_init(&sensor->ctrls, 10);
- v4l2_ctrl_new_std(&sensor->ctrls, &ov5647_ctrl_ops,
- V4L2_CID_AUTOGAIN, 0, 1, 1, 0);
-@@ -1302,6 +1317,14 @@ static int ov5647_init_controls(struct o
+ sensor->ctrls.lock = &sensor->lock;
+
+@@ -1304,6 +1319,14 @@ static int ov5647_init_controls(struct o
if (sensor->vflip)
sensor->vflip->flags |= V4L2_CTRL_FLAG_MODIFY_LAYOUT;
diff --git a/target/linux/bcm27xx/patches-6.12/950-0524-usb-dwc3-core-add-support-for-setting-NAK-enhancemen.patch b/target/linux/bcm27xx/patches-6.12/950-0524-usb-dwc3-core-add-support-for-setting-NAK-enhancemen.patch
index 2a61d97e14..2f79f27181 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0524-usb-dwc3-core-add-support-for-setting-NAK-enhancemen.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0524-usb-dwc3-core-add-support-for-setting-NAK-enhancemen.patch
@@ -57,7 +57,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
#define DWC3_GUCTL1_PARKMODE_DISABLE_SS BIT(17)
#define DWC3_GUCTL1_PARKMODE_DISABLE_HS BIT(16)
#define DWC3_GUCTL1_PARKMODE_DISABLE_FSLS BIT(15)
-@@ -1143,6 +1145,8 @@ struct dwc3_scratchpad_array {
+@@ -1145,6 +1147,8 @@ struct dwc3_scratchpad_array {
* generation after resume from suspend.
* @ulpi_ext_vbus_drv: Set to confiure the upli chip to drives CPEN pin
* VBUS with an external supply.
@@ -66,7 +66,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
* @parkmode_disable_ss_quirk: If set, disable park mode feature for all
* Superspeed instances.
* @parkmode_disable_hs_quirk: If set, disable park mode feature for all
-@@ -1387,6 +1391,8 @@ struct dwc3 {
+@@ -1391,6 +1395,8 @@ struct dwc3 {
unsigned dis_tx_ipgap_linecheck_quirk:1;
unsigned resume_hs_terminations:1;
unsigned ulpi_ext_vbus_drv:1;
diff --git a/target/linux/bcm27xx/patches-6.12/950-0565-net-macb-Add-support-for-Raspberry-Pi-RP1-ethernet-c.patch b/target/linux/bcm27xx/patches-6.12/950-0565-net-macb-Add-support-for-Raspberry-Pi-RP1-ethernet-c.patch
index 1f83234f42..3e1dce2bad 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0565-net-macb-Add-support-for-Raspberry-Pi-RP1-ethernet-c.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0565-net-macb-Add-support-for-Raspberry-Pi-RP1-ethernet-c.patch
@@ -15,7 +15,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
-@@ -5077,6 +5077,17 @@ static const struct macb_config versal_c
+@@ -5076,6 +5076,17 @@ static const struct macb_config versal_c
.usrio = &macb_default_usrio,
};
@@ -33,7 +33,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
static const struct of_device_id macb_dt_ids[] = {
{ .compatible = "cdns,at91sam9260-macb", .data = &at91sam9260_config },
{ .compatible = "cdns,macb" },
-@@ -5097,6 +5108,7 @@ static const struct of_device_id macb_dt
+@@ -5096,6 +5107,7 @@ static const struct of_device_id macb_dt
{ .compatible = "microchip,mpfs-macb", .data = &mpfs_config },
{ .compatible = "microchip,sama7g5-gem", .data = &sama7g5_gem_config },
{ .compatible = "microchip,sama7g5-emac", .data = &sama7g5_emac_config },
diff --git a/target/linux/bcm27xx/patches-6.12/950-0724-Revert-PCI-Warn-if-no-host-bridge-NUMA-node-info.patch b/target/linux/bcm27xx/patches-6.12/950-0724-Revert-PCI-Warn-if-no-host-bridge-NUMA-node-info.patch
index bc3ad640f5..f7f0a52f95 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0724-Revert-PCI-Warn-if-no-host-bridge-NUMA-node-info.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0724-Revert-PCI-Warn-if-no-host-bridge-NUMA-node-info.patch
@@ -12,7 +12,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
-@@ -992,9 +992,6 @@ static int pci_register_host_bridge(stru
+@@ -996,9 +996,6 @@ static int pci_register_host_bridge(stru
else
pr_info("PCI host bridge to bus %s\n", name);
diff --git a/target/linux/bcm27xx/patches-6.12/950-0860-drm-v3d-Associate-a-V3D-tech-revision-to-all-support.patch b/target/linux/bcm27xx/patches-6.12/950-0860-drm-v3d-Associate-a-V3D-tech-revision-to-all-support.patch
index 176c04ec2b..5688745eba 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0860-drm-v3d-Associate-a-V3D-tech-revision-to-all-support.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0860-drm-v3d-Associate-a-V3D-tech-revision-to-all-support.patch
@@ -301,7 +301,7 @@ Signed-off-by: Maíra Canal <mcanal@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);
-@@ -325,6 +366,11 @@ static int v3d_platform_drm_probe(struct
+@@ -327,6 +368,11 @@ static int v3d_platform_drm_probe(struct
ident1 = V3D_READ(V3D_HUB_IDENT1);
v3d->ver = (V3D_GET_FIELD(ident1, V3D_HUB_IDENT1_TVER) * 10 +
V3D_GET_FIELD(ident1, V3D_HUB_IDENT1_REV));
@@ -313,7 +313,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
v3d->cores = V3D_GET_FIELD(ident1, V3D_HUB_IDENT1_NCORES);
WARN_ON(v3d->cores > 1); /* multicore not yet implemented */
-@@ -377,7 +423,7 @@ static int v3d_platform_drm_probe(struct
+@@ -379,7 +425,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.12/950-0863-drm-v3d-Use-V3D_SMS-registers-for-power-on-off-and-r.patch b/target/linux/bcm27xx/patches-6.12/950-0863-drm-v3d-Use-V3D_SMS-registers-for-power-on-off-and-r.patch
index aa5c14271f..340ebadfee 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0863-drm-v3d-Use-V3D_SMS-registers-for-power-on-off-and-r.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0863-drm-v3d-Use-V3D_SMS-registers-for-power-on-off-and-r.patch
@@ -29,7 +29,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
--- a/drivers/gpu/drm/v3d/v3d_drv.c
+++ b/drivers/gpu/drm/v3d/v3d_drv.c
-@@ -485,6 +485,8 @@ static void v3d_platform_drm_remove(stru
+@@ -487,6 +487,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/bcm27xx/patches-6.12/950-0949-PCI-quirks-work-around-VL805-firmware-ASPM-meddling.patch b/target/linux/bcm27xx/patches-6.12/950-0949-PCI-quirks-work-around-VL805-firmware-ASPM-meddling.patch
index acc981dc2e..f1a7c3c984 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0949-PCI-quirks-work-around-VL805-firmware-ASPM-meddling.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0949-PCI-quirks-work-around-VL805-firmware-ASPM-meddling.patch
@@ -18,7 +18,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
-@@ -6256,6 +6256,22 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
+@@ -6283,6 +6283,22 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x56b1, aspm_l1_acceptable_latency);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x56c0, aspm_l1_acceptable_latency);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x56c1, aspm_l1_acceptable_latency);
diff --git a/target/linux/bcm27xx/patches-6.12/950-1007-drm-v3d-Don-t-retrieve-the-clock-twice.patch b/target/linux/bcm27xx/patches-6.12/950-1007-drm-v3d-Don-t-retrieve-the-clock-twice.patch
index 5de9f5ccd4..7d9c5ecb02 100644
--- a/target/linux/bcm27xx/patches-6.12/950-1007-drm-v3d-Don-t-retrieve-the-clock-twice.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-1007-drm-v3d-Don-t-retrieve-the-clock-twice.patch
@@ -17,7 +17,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
--- a/drivers/gpu/drm/v3d/v3d_drv.c
+++ b/drivers/gpu/drm/v3d/v3d_drv.c
-@@ -395,21 +395,18 @@ static int v3d_platform_drm_probe(struct
+@@ -397,21 +397,18 @@ static int v3d_platform_drm_probe(struct
}
}
diff --git a/target/linux/econet/patches-6.12/902-snand-mtk-bmt-support.patch b/target/linux/econet/patches-6.12/902-snand-mtk-bmt-support.patch
index 540e3bf1c0..a52f9c305b 100644
--- a/target/linux/econet/patches-6.12/902-snand-mtk-bmt-support.patch
+++ b/target/linux/econet/patches-6.12/902-snand-mtk-bmt-support.patch
@@ -8,7 +8,7 @@
static int spinand_read_reg_op(struct spinand_device *spinand, u8 reg, u8 *val)
{
-@@ -1577,6 +1578,7 @@ static int spinand_probe(struct spi_mem
+@@ -1585,6 +1586,7 @@ static int spinand_probe(struct spi_mem
if (ret)
return ret;
@@ -16,7 +16,7 @@
ret = mtd_device_register(mtd, NULL, 0);
if (ret)
goto err_spinand_cleanup;
-@@ -1584,6 +1586,7 @@ static int spinand_probe(struct spi_mem
+@@ -1592,6 +1594,7 @@ static int spinand_probe(struct spi_mem
return 0;
err_spinand_cleanup:
@@ -24,7 +24,7 @@
spinand_cleanup(spinand);
return ret;
-@@ -1602,6 +1605,7 @@ static int spinand_remove(struct spi_mem
+@@ -1610,6 +1613,7 @@ static int spinand_remove(struct spi_mem
if (ret)
return ret;
diff --git a/target/linux/generic/backport-6.12/202-v6.13-clk-Provide-devm_clk_bulk_get_all_enabled-helper.patch b/target/linux/generic/backport-6.12/202-v6.13-clk-Provide-devm_clk_bulk_get_all_enabled-helper.patch
index cf52b592c4..c02e4ed6a2 100644
--- a/target/linux/generic/backport-6.12/202-v6.13-clk-Provide-devm_clk_bulk_get_all_enabled-helper.patch
+++ b/target/linux/generic/backport-6.12/202-v6.13-clk-Provide-devm_clk_bulk_get_all_enabled-helper.patch
@@ -64,7 +64,7 @@ Signed-off-by: Stephen Boyd <sboyd@kernel.org>
{
--- a/include/linux/clk.h
+++ b/include/linux/clk.h
-@@ -496,11 +496,13 @@ int __must_check devm_clk_bulk_get_all(s
+@@ -520,11 +520,13 @@ int __must_check devm_clk_bulk_get_all(s
struct clk_bulk_data **clks);
/**
@@ -80,7 +80,7 @@ Signed-off-by: Stephen Boyd <sboyd@kernel.org>
*
* This helper function allows drivers to get all clocks of the
* consumer and enables them in one operation with management.
-@@ -508,8 +510,8 @@ int __must_check devm_clk_bulk_get_all(s
+@@ -532,8 +534,8 @@ int __must_check devm_clk_bulk_get_all(s
* is unbound.
*/
@@ -91,7 +91,7 @@ Signed-off-by: Stephen Boyd <sboyd@kernel.org>
/**
* devm_clk_get - lookup and obtain a managed reference to a clock producer.
-@@ -1034,7 +1036,7 @@ static inline int __must_check devm_clk_
+@@ -1041,7 +1043,7 @@ static inline int __must_check devm_clk_
return 0;
}
@@ -100,7 +100,7 @@ Signed-off-by: Stephen Boyd <sboyd@kernel.org>
struct clk_bulk_data **clks)
{
return 0;
-@@ -1136,6 +1138,15 @@ static inline void clk_restore_context(v
+@@ -1136,6 +1138,15 @@ static inline struct clk *clk_get_sys(co
#endif
diff --git a/target/linux/generic/backport-6.12/401-v6.17-mtd-spinand-add-support-for-FudanMicro-FM25S01A.patch b/target/linux/generic/backport-6.12/401-v6.17-mtd-spinand-add-support-for-FudanMicro-FM25S01A.patch
index a27933ca7a..0199fcbde9 100644
--- a/target/linux/generic/backport-6.12/401-v6.17-mtd-spinand-add-support-for-FudanMicro-FM25S01A.patch
+++ b/target/linux/generic/backport-6.12/401-v6.17-mtd-spinand-add-support-for-FudanMicro-FM25S01A.patch
@@ -27,7 +27,7 @@ Link: https://lore.kernel.org/linux-mtd/20250824170013.3328777-1-cnsztl@gmail.co
obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
-@@ -1115,6 +1115,7 @@ static const struct spinand_manufacturer
+@@ -1123,6 +1123,7 @@ static const struct spinand_manufacturer
&alliancememory_spinand_manufacturer,
&ato_spinand_manufacturer,
&esmt_c8_spinand_manufacturer,
diff --git a/target/linux/generic/backport-6.12/429-01-v6.18-mtd-spinand-fix-direct-mapping-creation-sizes.patch b/target/linux/generic/backport-6.12/429-01-v6.18-mtd-spinand-fix-direct-mapping-creation-sizes.patch
index 994e06e4fe..6abc202337 100644
--- a/target/linux/generic/backport-6.12/429-01-v6.18-mtd-spinand-fix-direct-mapping-creation-sizes.patch
+++ b/target/linux/generic/backport-6.12/429-01-v6.18-mtd-spinand-fix-direct-mapping-creation-sizes.patch
@@ -14,7 +14,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
-@@ -1028,18 +1028,13 @@ static int spinand_create_dirmap(struct
+@@ -1036,18 +1036,13 @@ static int spinand_create_dirmap(struct
unsigned int plane)
{
struct nand_device *nand = spinand_to_nand(spinand);
@@ -35,7 +35,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
info.op_tmpl = *spinand->op_templates.update_cache;
desc = devm_spi_mem_dirmap_create(&spinand->spimem->spi->dev,
spinand->spimem, &info);
-@@ -1048,6 +1043,8 @@ static int spinand_create_dirmap(struct
+@@ -1056,6 +1051,8 @@ static int spinand_create_dirmap(struct
spinand->dirmaps[plane].wdesc = desc;
@@ -44,7 +44,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
info.op_tmpl = *spinand->op_templates.read_cache;
desc = devm_spi_mem_dirmap_create(&spinand->spimem->spi->dev,
spinand->spimem, &info);
-@@ -1063,6 +1060,7 @@ static int spinand_create_dirmap(struct
+@@ -1071,6 +1068,7 @@ static int spinand_create_dirmap(struct
return 0;
}
@@ -52,7 +52,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
info.op_tmpl = *spinand->op_templates.update_cache;
info.op_tmpl.data.ecc = true;
desc = devm_spi_mem_dirmap_create(&spinand->spimem->spi->dev,
-@@ -1072,6 +1070,8 @@ static int spinand_create_dirmap(struct
+@@ -1080,6 +1078,8 @@ static int spinand_create_dirmap(struct
spinand->dirmaps[plane].wdesc_ecc = desc;
diff --git a/target/linux/generic/backport-6.12/429-02-v6.18-mtd-spinand-try-a-regular-dirmap-if-creating-a-di.patch b/target/linux/generic/backport-6.12/429-02-v6.18-mtd-spinand-try-a-regular-dirmap-if-creating-a-di.patch
index 005c0aa9a1..cc94e6d957 100644
--- a/target/linux/generic/backport-6.12/429-02-v6.18-mtd-spinand-try-a-regular-dirmap-if-creating-a-di.patch
+++ b/target/linux/generic/backport-6.12/429-02-v6.18-mtd-spinand-try-a-regular-dirmap-if-creating-a-di.patch
@@ -29,7 +29,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
-@@ -1024,6 +1024,39 @@ static int spinand_mtd_block_isreserved(
+@@ -1032,6 +1032,39 @@ static int spinand_mtd_block_isreserved(
return ret;
}
@@ -69,7 +69,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
static int spinand_create_dirmap(struct spinand_device *spinand,
unsigned int plane)
{
-@@ -1043,11 +1076,8 @@ static int spinand_create_dirmap(struct
+@@ -1051,11 +1084,8 @@ static int spinand_create_dirmap(struct
spinand->dirmaps[plane].wdesc = desc;
@@ -82,7 +82,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
if (IS_ERR(desc))
return PTR_ERR(desc);
-@@ -1070,12 +1100,9 @@ static int spinand_create_dirmap(struct
+@@ -1078,12 +1108,9 @@ static int spinand_create_dirmap(struct
spinand->dirmaps[plane].wdesc_ecc = desc;
diff --git a/target/linux/generic/backport-6.12/429-03-v6.18-mtd-spinand-repeat-reading-in-regular-mode-if-con.patch b/target/linux/generic/backport-6.12/429-03-v6.18-mtd-spinand-repeat-reading-in-regular-mode-if-con.patch
index af53d2065e..38d5712249 100644
--- a/target/linux/generic/backport-6.12/429-03-v6.18-mtd-spinand-repeat-reading-in-regular-mode-if-con.patch
+++ b/target/linux/generic/backport-6.12/429-03-v6.18-mtd-spinand-repeat-reading-in-regular-mode-if-con.patch
@@ -40,7 +40,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
}
if (req->datalen)
-@@ -841,10 +849,19 @@ static int spinand_mtd_read(struct mtd_i
+@@ -849,10 +857,19 @@ static int spinand_mtd_read(struct mtd_i
old_stats = mtd->ecc_stats;
diff --git a/target/linux/generic/backport-6.12/434-v6.19-mtd-spinand-esmt-add-support-for-F50L1G41LC.patch b/target/linux/generic/backport-6.12/434-v6.19-mtd-spinand-esmt-add-support-for-F50L1G41LC.patch
index 8350f148a3..4a3464b9f3 100644
--- a/target/linux/generic/backport-6.12/434-v6.19-mtd-spinand-esmt-add-support-for-F50L1G41LC.patch
+++ b/target/linux/generic/backport-6.12/434-v6.19-mtd-spinand-esmt-add-support-for-F50L1G41LC.patch
@@ -19,7 +19,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
-@@ -1158,6 +1158,7 @@ static const struct nand_ops spinand_ops
+@@ -1166,6 +1166,7 @@ static const struct nand_ops spinand_ops
static const struct spinand_manufacturer *spinand_manufacturers[] = {
&alliancememory_spinand_manufacturer,
&ato_spinand_manufacturer,
diff --git a/target/linux/generic/backport-6.12/500-01-v6.13-block-add-support-for-defining-read-only-partitions.patch b/target/linux/generic/backport-6.12/500-01-v6.13-block-add-support-for-defining-read-only-partitions.patch
index 9e2977f3a7..cdf505f3ce 100644
--- a/target/linux/generic/backport-6.12/500-01-v6.13-block-add-support-for-defining-read-only-partitions.patch
+++ b/target/linux/generic/backport-6.12/500-01-v6.13-block-add-support-for-defining-read-only-partitions.patch
@@ -19,7 +19,7 @@ Signed-off-by: Jens Axboe <axboe@kernel.dk>
--- a/block/blk.h
+++ b/block/blk.h
-@@ -570,6 +570,7 @@ void blk_free_ext_minor(unsigned int min
+@@ -574,6 +574,7 @@ void blk_free_ext_minor(unsigned int min
#define ADDPART_FLAG_NONE 0
#define ADDPART_FLAG_RAID 1
#define ADDPART_FLAG_WHOLEDISK 2
diff --git a/target/linux/generic/backport-6.12/630-v6.14-PM-sleep-wakeirq-Introduce-device-managed-variant-of.patch b/target/linux/generic/backport-6.12/630-v6.14-PM-sleep-wakeirq-Introduce-device-managed-variant-of.patch
index 081bcda591..06edffade3 100644
--- a/target/linux/generic/backport-6.12/630-v6.14-PM-sleep-wakeirq-Introduce-device-managed-variant-of.patch
+++ b/target/linux/generic/backport-6.12/630-v6.14-PM-sleep-wakeirq-Introduce-device-managed-variant-of.patch
@@ -18,7 +18,7 @@ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
--- a/drivers/base/power/wakeirq.c
+++ b/drivers/base/power/wakeirq.c
-@@ -103,6 +103,32 @@ void dev_pm_clear_wake_irq(struct device
+@@ -106,6 +106,32 @@ void dev_pm_clear_wake_irq(struct device
}
EXPORT_SYMBOL_GPL(dev_pm_clear_wake_irq);
diff --git a/target/linux/generic/hack-6.12/200-tools_portability.patch b/target/linux/generic/hack-6.12/200-tools_portability.patch
index 58ef2231c0..f25a132127 100644
--- a/target/linux/generic/hack-6.12/200-tools_portability.patch
+++ b/target/linux/generic/hack-6.12/200-tools_portability.patch
@@ -151,7 +151,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static const char *argv0_path;
--- a/tools/objtool/Makefile
+++ b/tools/objtool/Makefile
-@@ -39,6 +39,8 @@ OBJTOOL_LDFLAGS := $(LIBELF_LIBS) $(LIBS
+@@ -41,6 +41,8 @@ OBJTOOL_LDFLAGS := $(LIBELF_LIBS) $(LIBS
elfshdr := $(shell echo '$(pound)include <libelf.h>' | $(HOSTCC) $(OBJTOOL_CFLAGS) -x c -E - | grep elf_getshdr)
OBJTOOL_CFLAGS += $(if $(elfshdr),,-DLIBELF_USE_DEPRECATED)
diff --git a/target/linux/generic/hack-6.12/204-module_strip.patch b/target/linux/generic/hack-6.12/204-module_strip.patch
index 1c67eb5de4..6f6f6a70d9 100644
--- a/target/linux/generic/hack-6.12/204-module_strip.patch
+++ b/target/linux/generic/hack-6.12/204-module_strip.patch
@@ -141,7 +141,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (err)
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
-@@ -1601,7 +1601,9 @@ static void read_symbols(const char *mod
+@@ -1605,7 +1605,9 @@ static void read_symbols(const char *mod
symname = remove_dot(info.strtab + sym->st_name);
handle_symbol(mod, &info, sym, symname);
@@ -151,7 +151,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
}
check_sec_ref(mod, &info);
-@@ -1758,7 +1760,9 @@ static void add_header(struct buffer *b,
+@@ -1762,7 +1764,9 @@ static void add_header(struct buffer *b,
buf_printf(b, "#include <linux/export-internal.h>\n");
buf_printf(b, "#include <linux/compiler.h>\n");
buf_printf(b, "\n");
@@ -161,7 +161,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
buf_printf(b, "\n");
buf_printf(b, "__visible struct module __this_module\n");
buf_printf(b, "__section(\".gnu.linkonce.this_module\") = {\n");
-@@ -1772,11 +1776,13 @@ static void add_header(struct buffer *b,
+@@ -1776,11 +1780,13 @@ static void add_header(struct buffer *b,
buf_printf(b, "\t.arch = MODULE_ARCH_INIT,\n");
buf_printf(b, "};\n");
@@ -175,7 +175,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (strstarts(mod->name, "tools/testing"))
buf_printf(b, "\nMODULE_INFO(test, \"Y\");\n");
-@@ -1886,11 +1892,13 @@ static void add_depends(struct buffer *b
+@@ -1890,11 +1896,13 @@ static void add_depends(struct buffer *b
static void add_srcversion(struct buffer *b, struct module *mod)
{
@@ -189,7 +189,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
}
static void write_buf(struct buffer *b, const char *fname)
-@@ -1973,7 +1981,9 @@ static void write_mod_c_file(struct modu
+@@ -1977,7 +1985,9 @@ static void write_mod_c_file(struct modu
add_exported_symbols(&buf, mod);
add_versions(&buf, mod);
add_depends(&buf, mod);
diff --git a/target/linux/generic/hack-6.12/721-net-add-packet-mangeling.patch b/target/linux/generic/hack-6.12/721-net-add-packet-mangeling.patch
index 599713bc23..32228bb34c 100644
--- a/target/linux/generic/hack-6.12/721-net-add-packet-mangeling.patch
+++ b/target/linux/generic/hack-6.12/721-net-add-packet-mangeling.patch
@@ -52,7 +52,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
*/
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -3242,6 +3242,10 @@ static inline int pskb_trim(struct sk_bu
+@@ -3274,6 +3274,10 @@ static inline int pskb_trim(struct sk_bu
return (len < skb->len) ? __pskb_trim(skb, len) : 0;
}
@@ -63,7 +63,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/**
* pskb_trim_unique - remove end from a paged unique (not cloned) buffer
* @skb: buffer to alter
-@@ -3407,16 +3411,6 @@ static inline struct sk_buff *dev_alloc_
+@@ -3439,16 +3443,6 @@ static inline struct sk_buff *dev_alloc_
}
diff --git a/target/linux/generic/hack-6.12/760-net-usb-r8152-add-LED-configuration-from-OF.patch b/target/linux/generic/hack-6.12/760-net-usb-r8152-add-LED-configuration-from-OF.patch
index 3b61638cb6..14024e07cd 100644
--- a/target/linux/generic/hack-6.12/760-net-usb-r8152-add-LED-configuration-from-OF.patch
+++ b/target/linux/generic/hack-6.12/760-net-usb-r8152-add-LED-configuration-from-OF.patch
@@ -22,7 +22,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
#include <linux/crc32.h>
#include <linux/if_vlan.h>
#include <linux/uaccess.h>
-@@ -7047,6 +7048,22 @@ static void rtl_tally_reset(struct r8152
+@@ -7049,6 +7050,22 @@ static void rtl_tally_reset(struct r8152
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data);
}
@@ -45,7 +45,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
static void r8152b_init(struct r8152 *tp)
{
u32 ocp_data;
-@@ -7088,6 +7105,8 @@ static void r8152b_init(struct r8152 *tp
+@@ -7090,6 +7107,8 @@ static void r8152b_init(struct r8152 *tp
ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL);
ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN);
ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data);
@@ -54,7 +54,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
}
static void r8153_init(struct r8152 *tp)
-@@ -7228,6 +7247,8 @@ static void r8153_init(struct r8152 *tp)
+@@ -7230,6 +7249,8 @@ static void r8153_init(struct r8152 *tp)
tp->coalesce = COALESCE_SLOW;
break;
}
@@ -63,7 +63,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
}
static void r8153b_init(struct r8152 *tp)
-@@ -7310,6 +7331,8 @@ static void r8153b_init(struct r8152 *tp
+@@ -7312,6 +7333,8 @@ static void r8153b_init(struct r8152 *tp
rtl_tally_reset(tp);
tp->coalesce = 15000; /* 15 us */
diff --git a/target/linux/generic/hack-6.12/902-debloat_proc.patch b/target/linux/generic/hack-6.12/902-debloat_proc.patch
index 465a0ae018..e3e2defa96 100644
--- a/target/linux/generic/hack-6.12/902-debloat_proc.patch
+++ b/target/linux/generic/hack-6.12/902-debloat_proc.patch
@@ -235,7 +235,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!pe)
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
-@@ -5071,6 +5071,9 @@ static int vmalloc_info_show(struct seq_
+@@ -5079,6 +5079,9 @@ static int vmalloc_info_show(struct seq_
static int __init proc_vmalloc_init(void)
{
diff --git a/target/linux/generic/kernel-6.12 b/target/linux/generic/kernel-6.12
index 3b9c474086..c2bcacf6aa 100644
--- a/target/linux/generic/kernel-6.12
+++ b/target/linux/generic/kernel-6.12
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.12 = .74
-LINUX_KERNEL_HASH-6.12.74 = 3b56eeb1dc9a437f189ca56b823be3769994f59a4ea0895b08ec0d20acaca13e
+LINUX_VERSION-6.12 = .75
+LINUX_KERNEL_HASH-6.12.75 = 06ee7927556ff1aa8810c4826501b0fdb169ebdc180644b882cf7c143ac1c177
diff --git a/target/linux/generic/pending-6.12/487-mtd-spinand-Add-support-for-Etron-EM73D044VCx.patch b/target/linux/generic/pending-6.12/487-mtd-spinand-Add-support-for-Etron-EM73D044VCx.patch
index f326c61b3a..b7e7fa5bd7 100644
--- a/target/linux/generic/pending-6.12/487-mtd-spinand-Add-support-for-Etron-EM73D044VCx.patch
+++ b/target/linux/generic/pending-6.12/487-mtd-spinand-Add-support-for-Etron-EM73D044VCx.patch
@@ -49,7 +49,7 @@ Submitted-by: Daniel Danzberger <daniel@dd-wrt.com>
obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
-@@ -1160,6 +1160,7 @@ static const struct spinand_manufacturer
+@@ -1168,6 +1168,7 @@ static const struct spinand_manufacturer
&ato_spinand_manufacturer,
&esmt_8c_spinand_manufacturer,
&esmt_c8_spinand_manufacturer,
diff --git a/target/linux/generic/pending-6.12/620-net-sfp-improve-Huawei-MA5671a-fixup.patch b/target/linux/generic/pending-6.12/620-net-sfp-improve-Huawei-MA5671a-fixup.patch
index 4a5abc4b95..dd0a4a57f5 100644
--- a/target/linux/generic/pending-6.12/620-net-sfp-improve-Huawei-MA5671a-fixup.patch
+++ b/target/linux/generic/pending-6.12/620-net-sfp-improve-Huawei-MA5671a-fixup.patch
@@ -145,5 +145,5 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
- sfp_fixup_ignore_tx_fault),
+ sfp_fixup_ignore_tx_fault_and_los),
- // Lantech 8330-262D-E can operate at 2500base-X, but incorrectly report
- // 2500MBd NRZ in their EEPROM
+ // Lantech 8330-262D-E and 8330-265D can operate at 2500base-X, but
+ // incorrectly report 2500MBd NRZ in their EEPROM.
diff --git a/target/linux/generic/pending-6.12/655-increase_skb_pad.patch b/target/linux/generic/pending-6.12/655-increase_skb_pad.patch
index 895e0a8d8f..7e2d3dcfbc 100644
--- a/target/linux/generic/pending-6.12/655-increase_skb_pad.patch
+++ b/target/linux/generic/pending-6.12/655-increase_skb_pad.patch
@@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -3209,7 +3209,7 @@ static inline int pskb_network_may_pull(
+@@ -3241,7 +3241,7 @@ static inline int pskb_network_may_pull(
* NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
*/
#ifndef NET_SKB_PAD
diff --git a/target/linux/generic/pending-6.12/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch b/target/linux/generic/pending-6.12/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch
index 360168ab23..d07b282e25 100644
--- a/target/linux/generic/pending-6.12/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch
+++ b/target/linux/generic/pending-6.12/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch
@@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
-@@ -8718,7 +8718,7 @@ static int nft_register_flowtable_net_ho
+@@ -8724,7 +8724,7 @@ static int nft_register_flowtable_net_ho
err = flowtable->data.type->setup(&flowtable->data,
hook->ops.dev,
FLOW_BLOCK_BIND);
diff --git a/target/linux/generic/pending-6.12/834-ledtrig-libata.patch b/target/linux/generic/pending-6.12/834-ledtrig-libata.patch
index 373e2ec575..ba1f332df0 100644
--- a/target/linux/generic/pending-6.12/834-ledtrig-libata.patch
+++ b/target/linux/generic/pending-6.12/834-ledtrig-libata.patch
@@ -63,7 +63,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
/**
* ata_build_rw_tf - Build ATA taskfile for given read/write request
* @qc: Metadata associated with the taskfile to build
-@@ -4800,6 +4811,9 @@ void __ata_qc_complete(struct ata_queued
+@@ -4818,6 +4829,9 @@ void __ata_qc_complete(struct ata_queued
link->active_tag = ATA_TAG_POISON;
ap->nr_active_links--;
}
@@ -73,7 +73,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
/* clear exclusive status */
if (unlikely(qc->flags & ATA_QCFLAG_CLEAR_EXCL &&
-@@ -5522,6 +5536,9 @@ struct ata_port *ata_port_alloc(struct a
+@@ -5546,6 +5560,9 @@ struct ata_port *ata_port_alloc(struct a
ap->stats.unhandled_irq = 1;
ap->stats.idle_irq = 1;
#endif
@@ -83,7 +83,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
ata_sff_port_init(ap);
ata_force_pflags(ap);
-@@ -5538,6 +5555,12 @@ void ata_port_free(struct ata_port *ap)
+@@ -5562,6 +5579,12 @@ void ata_port_free(struct ata_port *ap)
kfree(ap->pmp_link);
kfree(ap->slave_link);
ida_free(&ata_ida, ap->print_id);
@@ -96,7 +96,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
kfree(ap);
}
EXPORT_SYMBOL_GPL(ata_port_free);
-@@ -5942,7 +5965,23 @@ int ata_host_register(struct ata_host *h
+@@ -5966,7 +5989,23 @@ int ata_host_register(struct ata_host *h
WARN_ON(1);
return -EINVAL;
}
diff --git a/target/linux/ipq40xx/patches-6.12/701-net-dsa-add-out-of-band-tagging-protocol.patch b/target/linux/ipq40xx/patches-6.12/701-net-dsa-add-out-of-band-tagging-protocol.patch
index 75edab6b34..754bf3b0b8 100644
--- a/target/linux/ipq40xx/patches-6.12/701-net-dsa-add-out-of-band-tagging-protocol.patch
+++ b/target/linux/ipq40xx/patches-6.12/701-net-dsa-add-out-of-band-tagging-protocol.patch
@@ -93,7 +93,7 @@ Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
+#endif
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -4818,6 +4818,9 @@ enum skb_ext_id {
+@@ -4850,6 +4850,9 @@ enum skb_ext_id {
#if IS_ENABLED(CONFIG_MCTP_FLOWS)
SKB_EXT_MCTP,
#endif
diff --git a/target/linux/ipq40xx/patches-6.12/900-PCI-qcom-add-hack-compatible-for-ipq4019-Lantiq-DSL.patch b/target/linux/ipq40xx/patches-6.12/900-PCI-qcom-add-hack-compatible-for-ipq4019-Lantiq-DSL.patch
index 8b491247a0..fb50b4a233 100644
--- a/target/linux/ipq40xx/patches-6.12/900-PCI-qcom-add-hack-compatible-for-ipq4019-Lantiq-DSL.patch
+++ b/target/linux/ipq40xx/patches-6.12/900-PCI-qcom-add-hack-compatible-for-ipq4019-Lantiq-DSL.patch
@@ -18,7 +18,7 @@ Signed-off-by: Florian Maurer <f.maurer@outlook.com>
--- a/drivers/pci/controller/dwc/pcie-qcom.c
+++ b/drivers/pci/controller/dwc/pcie-qcom.c
-@@ -207,11 +207,24 @@ struct qcom_pcie_resources_2_3_3 {
+@@ -206,11 +206,24 @@ struct qcom_pcie_resources_2_3_3 {
};
#define QCOM_PCIE_2_4_0_MAX_RESETS 12
@@ -43,7 +43,7 @@ Signed-off-by: Florian Maurer <f.maurer@outlook.com>
};
#define QCOM_PCIE_2_7_0_MAX_SUPPLIES 2
-@@ -711,12 +724,65 @@ static int qcom_pcie_post_init_2_3_2(str
+@@ -710,12 +723,65 @@ static int qcom_pcie_post_init_2_3_2(str
return 0;
}
@@ -110,7 +110,7 @@ Signed-off-by: Florian Maurer <f.maurer@outlook.com>
int ret;
res->num_clks = devm_clk_bulk_get_all(dev, &res->clks);
-@@ -755,6 +821,17 @@ static void qcom_pcie_deinit_2_4_0(struc
+@@ -754,6 +820,17 @@ static void qcom_pcie_deinit_2_4_0(struc
clk_bulk_disable_unprepare(res->num_clks, res->clks);
}
@@ -128,7 +128,7 @@ Signed-off-by: Florian Maurer <f.maurer@outlook.com>
static int qcom_pcie_init_2_4_0(struct qcom_pcie *pcie)
{
struct qcom_pcie_resources_2_4_0 *res = &pcie->res.v2_4_0;
-@@ -1337,6 +1414,16 @@ static const struct qcom_pcie_ops ops_2_
+@@ -1336,6 +1413,16 @@ static const struct qcom_pcie_ops ops_2_
.ltssm_enable = qcom_pcie_2_3_2_ltssm_enable,
};
@@ -145,7 +145,7 @@ Signed-off-by: Florian Maurer <f.maurer@outlook.com>
/* Qcom IP rev.: 2.3.3 Synopsys IP rev.: 4.30a */
static const struct qcom_pcie_ops ops_2_3_3 = {
.get_resources = qcom_pcie_get_resources_2_3_3,
-@@ -1405,6 +1492,10 @@ static const struct qcom_pcie_cfg cfg_2_
+@@ -1404,6 +1491,10 @@ static const struct qcom_pcie_cfg cfg_2_
.ops = &ops_2_4_0,
};
@@ -156,7 +156,7 @@ Signed-off-by: Florian Maurer <f.maurer@outlook.com>
static const struct qcom_pcie_cfg cfg_2_7_0 = {
.ops = &ops_2_7_0,
};
-@@ -1829,6 +1920,7 @@ static const struct of_device_id qcom_pc
+@@ -1827,6 +1918,7 @@ static const struct of_device_id qcom_pc
{ .compatible = "qcom,pcie-apq8064", .data = &cfg_2_1_0 },
{ .compatible = "qcom,pcie-apq8084", .data = &cfg_1_0_0 },
{ .compatible = "qcom,pcie-ipq4019", .data = &cfg_2_4_0 },
diff --git a/target/linux/kirkwood/patches-6.12/202-linksys-find-active-root.patch b/target/linux/kirkwood/patches-6.12/202-linksys-find-active-root.patch
index 829e00fcdf..d88870fd93 100644
--- a/target/linux/kirkwood/patches-6.12/202-linksys-find-active-root.patch
+++ b/target/linux/kirkwood/patches-6.12/202-linksys-find-active-root.patch
@@ -22,7 +22,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
const char *partname;
struct device_node *pp;
int nr_parts, i, ret = 0;
-@@ -152,9 +155,15 @@ static int parse_fixed_partitions(struct
+@@ -159,9 +162,15 @@ static int parse_fixed_partitions(struct
parts[i].size = of_read_number(reg + a_cells, s_cells);
parts[i].of_node = pp;
@@ -41,7 +41,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
parts[i].name = partname;
if (of_property_read_bool(pp, "read-only"))
-@@ -271,6 +280,18 @@ static int __init ofpart_parser_init(voi
+@@ -283,6 +292,18 @@ static int __init ofpart_parser_init(voi
return 0;
}
diff --git a/target/linux/lantiq/patches-6.12/101-find_active_root.patch b/target/linux/lantiq/patches-6.12/101-find_active_root.patch
index b5fefbae09..e07e653267 100644
--- a/target/linux/lantiq/patches-6.12/101-find_active_root.patch
+++ b/target/linux/lantiq/patches-6.12/101-find_active_root.patch
@@ -58,9 +58,9 @@ Signed-off-by: Mathias Kresin <openwrt@kresin.me>
/* Pull of_node from the master device node */
mtd_node = mtd_get_of_node(master);
-@@ -98,6 +132,14 @@ static int parse_fixed_partitions(struct
- if (!parts)
+@@ -105,6 +139,14 @@ static int parse_fixed_partitions(struct
return -ENOMEM;
+ }
+ part_nodes = kcalloc(nr_parts, sizeof(*part_nodes), GFP_KERNEL);
+ if (!part_nodes) {
@@ -73,7 +73,7 @@ Signed-off-by: Mathias Kresin <openwrt@kresin.me>
i = 0;
for_each_child_of_node(ofpart_node, pp) {
const __be32 *reg;
-@@ -166,6 +208,11 @@ static int parse_fixed_partitions(struct
+@@ -173,6 +215,11 @@ static int parse_fixed_partitions(struct
if (of_property_read_bool(pp, "slc-mode"))
parts[i].add_flags |= MTD_SLC_ON_MLC_EMULATION;
@@ -85,9 +85,9 @@ Signed-off-by: Mathias Kresin <openwrt@kresin.me>
i++;
}
-@@ -175,6 +222,11 @@ static int parse_fixed_partitions(struct
- if (quirks && quirks->post_parse)
- quirks->post_parse(master, parts, nr_parts);
+@@ -185,6 +232,11 @@ static int parse_fixed_partitions(struct
+ if (dedicated)
+ of_node_put(ofpart_node);
+ if (proot_id)
+ brnboot_set_active_root_part(parts, part_nodes, nr_parts, proot_id);
@@ -97,8 +97,8 @@ Signed-off-by: Mathias Kresin <openwrt@kresin.me>
*pparts = parts;
return nr_parts;
-@@ -185,6 +237,7 @@ ofpart_fail:
- ofpart_none:
+@@ -197,6 +249,7 @@ ofpart_none:
+ of_node_put(ofpart_node);
of_node_put(pp);
kfree(parts);
+ kfree(part_nodes);
diff --git a/target/linux/mediatek/patches-6.12/121-hack-spi-nand-1b-bbm.patch b/target/linux/mediatek/patches-6.12/121-hack-spi-nand-1b-bbm.patch
index cc2410e352..0d8ff98fb4 100644
--- a/target/linux/mediatek/patches-6.12/121-hack-spi-nand-1b-bbm.patch
+++ b/target/linux/mediatek/patches-6.12/121-hack-spi-nand-1b-bbm.patch
@@ -1,6 +1,6 @@
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
-@@ -913,7 +913,7 @@ static int spinand_mtd_write(struct mtd_
+@@ -921,7 +921,7 @@ static int spinand_mtd_write(struct mtd_
static bool spinand_isbad(struct nand_device *nand, const struct nand_pos *pos)
{
struct spinand_device *spinand = nand_to_spinand(nand);
@@ -9,7 +9,7 @@
struct nand_page_io_req req = {
.pos = *pos,
.ooblen = sizeof(marker),
-@@ -924,7 +924,7 @@ static bool spinand_isbad(struct nand_de
+@@ -932,7 +932,7 @@ static bool spinand_isbad(struct nand_de
spinand_select_target(spinand, pos->target);
spinand_read_page(spinand, &req);
diff --git a/target/linux/mediatek/patches-6.12/330-snand-mtk-bmt-support.patch b/target/linux/mediatek/patches-6.12/330-snand-mtk-bmt-support.patch
index 540e3bf1c0..a52f9c305b 100644
--- a/target/linux/mediatek/patches-6.12/330-snand-mtk-bmt-support.patch
+++ b/target/linux/mediatek/patches-6.12/330-snand-mtk-bmt-support.patch
@@ -8,7 +8,7 @@
static int spinand_read_reg_op(struct spinand_device *spinand, u8 reg, u8 *val)
{
-@@ -1577,6 +1578,7 @@ static int spinand_probe(struct spi_mem
+@@ -1585,6 +1586,7 @@ static int spinand_probe(struct spi_mem
if (ret)
return ret;
@@ -16,7 +16,7 @@
ret = mtd_device_register(mtd, NULL, 0);
if (ret)
goto err_spinand_cleanup;
-@@ -1584,6 +1586,7 @@ static int spinand_probe(struct spi_mem
+@@ -1592,6 +1594,7 @@ static int spinand_probe(struct spi_mem
return 0;
err_spinand_cleanup:
@@ -24,7 +24,7 @@
spinand_cleanup(spinand);
return ret;
-@@ -1602,6 +1605,7 @@ static int spinand_remove(struct spi_mem
+@@ -1610,6 +1613,7 @@ static int spinand_remove(struct spi_mem
if (ret)
return ret;
diff --git a/target/linux/mediatek/patches-6.12/340-mtd-spinand-Add-support-for-the-Fidelix-FM35X1GA.patch b/target/linux/mediatek/patches-6.12/340-mtd-spinand-Add-support-for-the-Fidelix-FM35X1GA.patch
index 780f8413c1..5e4468eedb 100644
--- a/target/linux/mediatek/patches-6.12/340-mtd-spinand-Add-support-for-the-Fidelix-FM35X1GA.patch
+++ b/target/linux/mediatek/patches-6.12/340-mtd-spinand-Add-support-for-the-Fidelix-FM35X1GA.patch
@@ -24,7 +24,7 @@ Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
-@@ -1163,6 +1163,7 @@ static const struct spinand_manufacturer
+@@ -1171,6 +1171,7 @@ static const struct spinand_manufacturer
&esmt_c8_spinand_manufacturer,
&etron_spinand_manufacturer,
&fmsh_spinand_manufacturer,
diff --git a/target/linux/mediatek/patches-6.12/433-drivers-spi-mem-Add-spi-calibration-hook.patch b/target/linux/mediatek/patches-6.12/433-drivers-spi-mem-Add-spi-calibration-hook.patch
index 731d911296..60c8f81925 100644
--- a/target/linux/mediatek/patches-6.12/433-drivers-spi-mem-Add-spi-calibration-hook.patch
+++ b/target/linux/mediatek/patches-6.12/433-drivers-spi-mem-Add-spi-calibration-hook.patch
@@ -11,7 +11,7 @@ Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com>
--- a/drivers/spi/spi-mem.c
+++ b/drivers/spi/spi-mem.c
-@@ -486,6 +486,14 @@ int spi_mem_exec_op(struct spi_mem *mem,
+@@ -497,6 +497,14 @@ int spi_mem_exec_op(struct spi_mem *mem,
}
EXPORT_SYMBOL_GPL(spi_mem_exec_op);
diff --git a/target/linux/mediatek/patches-6.12/435-drivers-mtd-spinand-Add-calibration-support-for-spin.patch b/target/linux/mediatek/patches-6.12/435-drivers-mtd-spinand-Add-calibration-support-for-spin.patch
index 64c059c1f2..35b2cde62b 100644
--- a/target/linux/mediatek/patches-6.12/435-drivers-mtd-spinand-Add-calibration-support-for-spin.patch
+++ b/target/linux/mediatek/patches-6.12/435-drivers-mtd-spinand-Add-calibration-support-for-spin.patch
@@ -11,7 +11,7 @@ Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com>
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
-@@ -1201,6 +1201,56 @@ static int spinand_manufacturer_match(st
+@@ -1209,6 +1209,56 @@ static int spinand_manufacturer_match(st
return -EOPNOTSUPP;
}
@@ -68,7 +68,7 @@ Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com>
static int spinand_id_detect(struct spinand_device *spinand)
{
u8 *id = spinand->id.data;
-@@ -1454,6 +1504,10 @@ static int spinand_init(struct spinand_d
+@@ -1462,6 +1512,10 @@ static int spinand_init(struct spinand_d
if (!spinand->scratchbuf)
return -ENOMEM;
diff --git a/target/linux/mediatek/patches-6.12/436-drivers-mtd-spi-nor-Add-calibration-support-for-spi-.patch b/target/linux/mediatek/patches-6.12/436-drivers-mtd-spi-nor-Add-calibration-support-for-spi-.patch
index bcef0c1701..27c488d3e0 100644
--- a/target/linux/mediatek/patches-6.12/436-drivers-mtd-spi-nor-Add-calibration-support-for-spi-.patch
+++ b/target/linux/mediatek/patches-6.12/436-drivers-mtd-spi-nor-Add-calibration-support-for-spi-.patch
@@ -12,7 +12,7 @@ Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com>
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
-@@ -1242,7 +1242,10 @@ static int spinand_cal_read(void *priv,
+@@ -1250,7 +1250,10 @@ static int spinand_cal_read(void *priv,
if (ret)
return ret;
diff --git a/target/linux/mediatek/patches-6.12/601-PCI-mediatek-Assert-PERST-for-100ms-for-power-and-cl.patch b/target/linux/mediatek/patches-6.12/601-PCI-mediatek-Assert-PERST-for-100ms-for-power-and-cl.patch
index 1b18679fb3..05a6ff0fdb 100644
--- a/target/linux/mediatek/patches-6.12/601-PCI-mediatek-Assert-PERST-for-100ms-for-power-and-cl.patch
+++ b/target/linux/mediatek/patches-6.12/601-PCI-mediatek-Assert-PERST-for-100ms-for-power-and-cl.patch
@@ -18,7 +18,7 @@ Acked-by: Pali Rohár <pali@kernel.org>
--- a/drivers/pci/controller/pcie-mediatek.c
+++ b/drivers/pci/controller/pcie-mediatek.c
-@@ -700,6 +700,13 @@ static int mtk_pcie_startup_port_v2(stru
+@@ -702,6 +702,13 @@ static int mtk_pcie_startup_port_v2(stru
*/
msleep(100);
diff --git a/target/linux/mediatek/patches-6.12/610-pcie-mediatek-fix-clearing-interrupt-status.patch b/target/linux/mediatek/patches-6.12/610-pcie-mediatek-fix-clearing-interrupt-status.patch
index accc6a6f16..e31e02d2c2 100644
--- a/target/linux/mediatek/patches-6.12/610-pcie-mediatek-fix-clearing-interrupt-status.patch
+++ b/target/linux/mediatek/patches-6.12/610-pcie-mediatek-fix-clearing-interrupt-status.patch
@@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/drivers/pci/controller/pcie-mediatek.c
+++ b/drivers/pci/controller/pcie-mediatek.c
-@@ -599,9 +599,9 @@ static void mtk_pcie_intr_handler(struct
+@@ -601,9 +601,9 @@ static void mtk_pcie_intr_handler(struct
if (status & INTX_MASK) {
for_each_set_bit_from(bit, &status, PCI_NUM_INTX + INTX_SHIFT) {
/* Clear the INTx */
diff --git a/target/linux/mediatek/patches-6.12/710-pci-pcie-mediatek-add-support-for-coherent-DMA.patch b/target/linux/mediatek/patches-6.12/710-pci-pcie-mediatek-add-support-for-coherent-DMA.patch
index d85e505d45..b67ce74164 100644
--- a/target/linux/mediatek/patches-6.12/710-pci-pcie-mediatek-add-support-for-coherent-DMA.patch
+++ b/target/linux/mediatek/patches-6.12/710-pci-pcie-mediatek-add-support-for-coherent-DMA.patch
@@ -61,7 +61,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
struct mtk_pcie_port;
/**
-@@ -1052,6 +1058,27 @@ static int mtk_pcie_setup(struct mtk_pci
+@@ -1054,6 +1060,27 @@ static int mtk_pcie_setup(struct mtk_pci
struct mtk_pcie_port *port, *tmp;
int err, slot;
diff --git a/target/linux/mediatek/patches-6.12/901-arm-add-cmdline-override.patch b/target/linux/mediatek/patches-6.12/901-arm-add-cmdline-override.patch
index a3f31473c5..2a6cf46cae 100644
--- a/target/linux/mediatek/patches-6.12/901-arm-add-cmdline-override.patch
+++ b/target/linux/mediatek/patches-6.12/901-arm-add-cmdline-override.patch
@@ -37,7 +37,7 @@
* CONFIG_CMDLINE is meant to be a default in case nothing else
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
-@@ -2381,6 +2381,14 @@ config CMDLINE_FORCE
+@@ -2382,6 +2382,14 @@ config CMDLINE_FORCE
endchoice
diff --git a/target/linux/mediatek/patches-6.12/960-asus-hack-u-boot-ignore-mtdparts.patch b/target/linux/mediatek/patches-6.12/960-asus-hack-u-boot-ignore-mtdparts.patch
index 4f50d32aa2..b7eabe4941 100644
--- a/target/linux/mediatek/patches-6.12/960-asus-hack-u-boot-ignore-mtdparts.patch
+++ b/target/linux/mediatek/patches-6.12/960-asus-hack-u-boot-ignore-mtdparts.patch
@@ -29,7 +29,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
-@@ -1671,6 +1671,7 @@ static int spinand_remove(struct spi_mem
+@@ -1679,6 +1679,7 @@ static int spinand_remove(struct spi_mem
static const struct spi_device_id spinand_ids[] = {
{ .name = "spi-nand" },
@@ -37,7 +37,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
{ /* sentinel */ },
};
MODULE_DEVICE_TABLE(spi, spinand_ids);
-@@ -1678,6 +1679,7 @@ MODULE_DEVICE_TABLE(spi, spinand_ids);
+@@ -1686,6 +1687,7 @@ MODULE_DEVICE_TABLE(spi, spinand_ids);
#ifdef CONFIG_OF
static const struct of_device_id spinand_of_ids[] = {
{ .compatible = "spi-nand" },
diff --git a/target/linux/mvebu/patches-6.12/400-find_active_root.patch b/target/linux/mvebu/patches-6.12/400-find_active_root.patch
index bda6506494..93c045b8b5 100644
--- a/target/linux/mvebu/patches-6.12/400-find_active_root.patch
+++ b/target/linux/mvebu/patches-6.12/400-find_active_root.patch
@@ -22,7 +22,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
struct device_node *pp;
int nr_parts, i, ret = 0;
bool dedicated = true;
-@@ -152,9 +155,13 @@ static int parse_fixed_partitions(struct
+@@ -159,9 +162,13 @@ static int parse_fixed_partitions(struct
parts[i].size = of_read_number(reg + a_cells, s_cells);
parts[i].of_node = pp;
@@ -39,7 +39,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
parts[i].name = partname;
if (of_property_read_bool(pp, "read-only"))
-@@ -271,6 +278,18 @@ static int __init ofpart_parser_init(voi
+@@ -283,6 +290,18 @@ static int __init ofpart_parser_init(voi
return 0;
}
diff --git a/target/linux/mvebu/patches-6.12/902-drivers-mfd-Add-a-driver-for-IEI-WT61P803-PUZZLE-MCU.patch b/target/linux/mvebu/patches-6.12/902-drivers-mfd-Add-a-driver-for-IEI-WT61P803-PUZZLE-MCU.patch
index 6f99497c36..1b2fcc5907 100644
--- a/target/linux/mvebu/patches-6.12/902-drivers-mfd-Add-a-driver-for-IEI-WT61P803-PUZZLE-MCU.patch
+++ b/target/linux/mvebu/patches-6.12/902-drivers-mfd-Add-a-driver-for-IEI-WT61P803-PUZZLE-MCU.patch
@@ -26,7 +26,7 @@ Cc: Robert Marko <robert.marko@sartura.hr>
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
-@@ -2343,6 +2343,15 @@ config SGI_MFD_IOC3
+@@ -2367,6 +2367,15 @@ config SGI_MFD_IOC3
If you have an SGI Origin, Octane, or a PCI IOC3 card,
then say Y. Otherwise say N.
diff --git a/target/linux/pistachio/patches-6.12/401-mtd-nor-support-mtd-name-from-device-tree.patch b/target/linux/pistachio/patches-6.12/401-mtd-nor-support-mtd-name-from-device-tree.patch
index 99a942e077..942f67b6be 100644
--- a/target/linux/pistachio/patches-6.12/401-mtd-nor-support-mtd-name-from-device-tree.patch
+++ b/target/linux/pistachio/patches-6.12/401-mtd-nor-support-mtd-name-from-device-tree.patch
@@ -10,7 +10,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
--- a/drivers/spi/spi-mem.c
+++ b/drivers/spi/spi-mem.c
-@@ -930,7 +930,9 @@ static int spi_mem_probe(struct spi_devi
+@@ -950,7 +950,9 @@ static int spi_mem_probe(struct spi_devi
{
struct spi_mem_driver *memdrv = to_spi_mem_drv(spi->dev.driver);
struct spi_controller *ctlr = spi->controller;
@@ -20,7 +20,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
mem = devm_kzalloc(&spi->dev, sizeof(*mem), GFP_KERNEL);
if (!mem)
-@@ -938,10 +940,15 @@ static int spi_mem_probe(struct spi_devi
+@@ -958,10 +960,15 @@ static int spi_mem_probe(struct spi_devi
mem->spi = spi;
diff --git a/target/linux/qualcommax/patches-6.12/0047-v6.16-PCI-qcom-Add-support-for-IPQ5018.patch b/target/linux/qualcommax/patches-6.12/0047-v6.16-PCI-qcom-Add-support-for-IPQ5018.patch
index 2d874f9e82..70e681475f 100644
--- a/target/linux/qualcommax/patches-6.12/0047-v6.16-PCI-qcom-Add-support-for-IPQ5018.patch
+++ b/target/linux/qualcommax/patches-6.12/0047-v6.16-PCI-qcom-Add-support-for-IPQ5018.patch
@@ -21,7 +21,7 @@ Link: https://patch.msgid.link/20250326-ipq5018-pcie-v7-4-e1828fef06c9@outlook.c
--- a/drivers/pci/controller/dwc/pcie-qcom.c
+++ b/drivers/pci/controller/dwc/pcie-qcom.c
-@@ -1829,6 +1829,7 @@ static const struct of_device_id qcom_pc
+@@ -1827,6 +1827,7 @@ static const struct of_device_id qcom_pc
{ .compatible = "qcom,pcie-apq8064", .data = &cfg_2_1_0 },
{ .compatible = "qcom,pcie-apq8084", .data = &cfg_1_0_0 },
{ .compatible = "qcom,pcie-ipq4019", .data = &cfg_2_4_0 },
diff --git a/target/linux/qualcommax/patches-6.12/0056-v6.17-clk-qcom-gcc-ipq5018-fix-GE-PHY-reset.patch b/target/linux/qualcommax/patches-6.12/0056-v6.17-clk-qcom-gcc-ipq5018-fix-GE-PHY-reset.patch
index 902ad42515..41399e419d 100644
--- a/target/linux/qualcommax/patches-6.12/0056-v6.17-clk-qcom-gcc-ipq5018-fix-GE-PHY-reset.patch
+++ b/target/linux/qualcommax/patches-6.12/0056-v6.17-clk-qcom-gcc-ipq5018-fix-GE-PHY-reset.patch
@@ -22,7 +22,7 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
--- a/drivers/clk/qcom/gcc-ipq5018.c
+++ b/drivers/clk/qcom/gcc-ipq5018.c
-@@ -3660,7 +3660,7 @@ static const struct qcom_reset_map gcc_i
+@@ -3661,7 +3661,7 @@ static const struct qcom_reset_map gcc_i
[GCC_WCSS_AXI_S_ARES] = { 0x59008, 6 },
[GCC_WCSS_Q6_BCR] = { 0x18004, 0 },
[GCC_WCSSAON_RESET] = { 0x59010, 0},
diff --git a/target/linux/qualcommax/patches-6.12/0187-clk-qcom-gcc-ipq5018-flag-sleep-clock-as-critical.patch b/target/linux/qualcommax/patches-6.12/0187-clk-qcom-gcc-ipq5018-flag-sleep-clock-as-critical.patch
deleted file mode 100644
index 2b51938c62..0000000000
--- a/target/linux/qualcommax/patches-6.12/0187-clk-qcom-gcc-ipq5018-flag-sleep-clock-as-critical.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-From: George Moussalem <george.moussalem@outlook.com>
-Date: Tue, 21 Oct 2025 15:15:23 +0400
-Subject: [PATCH] clk: qcom: gcc-ipq5018: flag sleep clock as critical
-
-The sleep clock never be disabled. To avoid the kernel trying to disable
-it and keep it always on, flag it as critical.
-
-Signed-off-by: George Moussalem <george.moussalem@outlook.com>
----
---- a/drivers/clk/qcom/gcc-ipq5018.c
-+++ b/drivers/clk/qcom/gcc-ipq5018.c
-@@ -1340,6 +1340,7 @@ static struct clk_branch gcc_sleep_clk_s
- .name = "gcc_sleep_clk_src",
- .parent_data = gcc_sleep_clk_data,
- .num_parents = ARRAY_SIZE(gcc_sleep_clk_data),
-+ .flags = CLK_IS_CRITICAL,
- .ops = &clk_branch2_ops,
- },
- },
diff --git a/target/linux/qualcommbe/patches-6.12/0023-v6.15-net-phy-move-PHY-package-code-from-phy_device..patch b/target/linux/qualcommbe/patches-6.12/0023-v6.15-net-phy-move-PHY-package-code-from-phy_device..patch
index 6fa5e4e23c..3ea7f813d6 100644
--- a/target/linux/qualcommbe/patches-6.12/0023-v6.15-net-phy-move-PHY-package-code-from-phy_device..patch
+++ b/target/linux/qualcommbe/patches-6.12/0023-v6.15-net-phy-move-PHY-package-code-from-phy_device..patch
@@ -31,7 +31,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
ifdef CONFIG_MDIO_DEVICE
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
-@@ -1783,243 +1783,6 @@ bool phy_driver_is_genphy_10g(struct phy
+@@ -1781,243 +1781,6 @@ bool phy_driver_is_genphy_10g(struct phy
EXPORT_SYMBOL_GPL(phy_driver_is_genphy_10g);
/**
diff --git a/target/linux/ramips/patches-6.12/001-v6.13-clocksource-drivers-ralink-Add-Ralink-System-Tick-Co.patch b/target/linux/ramips/patches-6.12/001-v6.13-clocksource-drivers-ralink-Add-Ralink-System-Tick-Co.patch
index 754308d5e8..48ca016212 100644
--- a/target/linux/ramips/patches-6.12/001-v6.13-clocksource-drivers-ralink-Add-Ralink-System-Tick-Co.patch
+++ b/target/linux/ramips/patches-6.12/001-v6.13-clocksource-drivers-ralink-Add-Ralink-System-Tick-Co.patch
@@ -208,7 +208,7 @@ Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
-TIMER_OF_DECLARE(systick, "ralink,cevt-systick", ralink_systick_init);
--- a/drivers/clocksource/Kconfig
+++ b/drivers/clocksource/Kconfig
-@@ -754,4 +754,13 @@ config EP93XX_TIMER
+@@ -755,4 +755,13 @@ config EP93XX_TIMER
Enables support for the Cirrus Logic timer block
EP93XX.
diff --git a/target/linux/ramips/patches-6.12/311-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch b/target/linux/ramips/patches-6.12/311-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch
index 53fca67c53..b13d2b605b 100644
--- a/target/linux/ramips/patches-6.12/311-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch
+++ b/target/linux/ramips/patches-6.12/311-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch
@@ -96,7 +96,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
}
--- a/drivers/clocksource/Kconfig
+++ b/drivers/clocksource/Kconfig
-@@ -753,10 +753,15 @@ config EP93XX_TIMER
+@@ -754,10 +754,15 @@ config EP93XX_TIMER
help
Enables support for the Cirrus Logic timer block
EP93XX.
diff --git a/target/linux/ramips/patches-6.12/810-uvc-add-iPassion-iP2970-support.patch b/target/linux/ramips/patches-6.12/810-uvc-add-iPassion-iP2970-support.patch
index 56f837b5c3..fe918d5697 100644
--- a/target/linux/ramips/patches-6.12/810-uvc-add-iPassion-iP2970-support.patch
+++ b/target/linux/ramips/patches-6.12/810-uvc-add-iPassion-iP2970-support.patch
@@ -214,7 +214,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
/* Mark the buffer as done if the EOF marker is set. */
if (data[1] & UVC_STREAM_EOF && buf->bytesused != 0) {
uvc_dbg(stream->dev, FRAME, "Frame complete (EOF found)\n");
-@@ -1937,6 +2082,8 @@ static int uvc_init_video_isoc(struct uv
+@@ -1938,6 +2083,8 @@ static int uvc_init_video_isoc(struct uv
if (npackets == 0)
return -ENOMEM;
diff --git a/target/linux/realtek/patches-6.12/714-net-phy-sfp-add-support-for-SMBus.patch b/target/linux/realtek/patches-6.12/714-net-phy-sfp-add-support-for-SMBus.patch
index a1fabacfe6..f31cddf0ba 100644
--- a/target/linux/realtek/patches-6.12/714-net-phy-sfp-add-support-for-SMBus.patch
+++ b/target/linux/realtek/patches-6.12/714-net-phy-sfp-add-support-for-SMBus.patch
@@ -10,7 +10,7 @@ Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
--- a/drivers/net/phy/sfp.c
+++ b/drivers/net/phy/sfp.c
-@@ -724,10 +724,64 @@ static int sfp_i2c_write(struct sfp *sfp
+@@ -728,10 +728,64 @@ static int sfp_i2c_write(struct sfp *sfp
return ret == ARRAY_SIZE(msgs) ? len : 0;
}
@@ -77,7 +77,7 @@ Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
sfp->i2c = i2c;
sfp->read = sfp_i2c_read;
-@@ -759,6 +813,29 @@ static int sfp_i2c_mdiobus_create(struct
+@@ -763,6 +817,29 @@ static int sfp_i2c_mdiobus_create(struct
return 0;
}
@@ -107,7 +107,7 @@ Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
static void sfp_i2c_mdiobus_destroy(struct sfp *sfp)
{
mdiobus_unregister(sfp->i2c_mii);
-@@ -1933,9 +2010,15 @@ static void sfp_sm_fault(struct sfp *sfp
+@@ -1937,9 +2014,15 @@ static void sfp_sm_fault(struct sfp *sfp
static int sfp_sm_add_mdio_bus(struct sfp *sfp)
{
diff --git a/target/linux/realtek/patches-6.12/802-mfd-Add-RTL8231-core-device.patch b/target/linux/realtek/patches-6.12/802-mfd-Add-RTL8231-core-device.patch
index b5078ba8bc..2a6be8e456 100644
--- a/target/linux/realtek/patches-6.12/802-mfd-Add-RTL8231-core-device.patch
+++ b/target/linux/realtek/patches-6.12/802-mfd-Add-RTL8231-core-device.patch
@@ -32,7 +32,7 @@ Signed-off-by: Sander Vanheule <sander@svanheule.net>
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
-@@ -1195,6 +1195,15 @@ config MFD_RDC321X
+@@ -1219,6 +1219,15 @@ config MFD_RDC321X
southbridge which provides access to GPIOs and Watchdog using the
southbridge PCI device configuration space.
diff --git a/target/linux/rockchip/patches-6.12/030-03-v6.15-irqchip-gic-v3-Add-Rockchip-3568002-erratum-workaround.patch b/target/linux/rockchip/patches-6.12/030-03-v6.15-irqchip-gic-v3-Add-Rockchip-3568002-erratum-workaround.patch
index 3615272c97..388e256f87 100644
--- a/target/linux/rockchip/patches-6.12/030-03-v6.15-irqchip-gic-v3-Add-Rockchip-3568002-erratum-workaround.patch
+++ b/target/linux/rockchip/patches-6.12/030-03-v6.15-irqchip-gic-v3-Add-Rockchip-3568002-erratum-workaround.patch
@@ -35,7 +35,7 @@ Link: https://lore.kernel.org/all/20250216221634.364158-2-dmitry.osipenko@collab
+----------------+-----------------+-----------------+-----------------------------+
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
-@@ -1296,6 +1296,15 @@ config NVIDIA_CARMEL_CNP_ERRATUM
+@@ -1297,6 +1297,15 @@ config NVIDIA_CARMEL_CNP_ERRATUM
If unsure, say Y.
diff --git a/target/linux/rockchip/patches-6.12/037-01-v6.15-scsi-ufs-core-Export-ufshcd_dme_reset-and.patch b/target/linux/rockchip/patches-6.12/037-01-v6.15-scsi-ufs-core-Export-ufshcd_dme_reset-and.patch
index 7b96a42ca6..c4bc52810a 100644
--- a/target/linux/rockchip/patches-6.12/037-01-v6.15-scsi-ufs-core-Export-ufshcd_dme_reset-and.patch
+++ b/target/linux/rockchip/patches-6.12/037-01-v6.15-scsi-ufs-core-Export-ufshcd_dme_reset-and.patch
@@ -55,9 +55,9 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
{
--- a/include/ufs/ufshcd.h
+++ b/include/ufs/ufshcd.h
-@@ -1368,6 +1368,8 @@ extern int ufshcd_system_thaw(struct dev
+@@ -1364,6 +1364,8 @@ extern int ufshcd_system_freeze(struct d
+ extern int ufshcd_system_thaw(struct device *dev);
extern int ufshcd_system_restore(struct device *dev);
- #endif
+extern int ufshcd_dme_reset(struct ufs_hba *hba);
+extern int ufshcd_dme_enable(struct ufs_hba *hba);
diff --git a/target/linux/rockchip/patches-6.12/037-02-v6.15-scsi-ufs-rockchip-Initial-support-for-UFS.patch b/target/linux/rockchip/patches-6.12/037-02-v6.15-scsi-ufs-rockchip-Initial-support-for-UFS.patch
index c206d9b0a4..1d2055d7c3 100644
--- a/target/linux/rockchip/patches-6.12/037-02-v6.15-scsi-ufs-rockchip-Initial-support-for-UFS.patch
+++ b/target/linux/rockchip/patches-6.12/037-02-v6.15-scsi-ufs-rockchip-Initial-support-for-UFS.patch
@@ -34,7 +34,7 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
--- a/drivers/ufs/host/Kconfig
+++ b/drivers/ufs/host/Kconfig
-@@ -142,3 +142,15 @@ config SCSI_UFS_SPRD
+@@ -143,3 +143,15 @@ config SCSI_UFS_SPRD
Select this if you have UFS controller on Unisoc chipset.
If unsure, say N.
diff --git a/target/linux/siflower/patches-6.12/016-spi-spi-mem-allow-gpio-cs-in-spi_mem_exec_op.patch b/target/linux/siflower/patches-6.12/016-spi-spi-mem-allow-gpio-cs-in-spi_mem_exec_op.patch
index 1aabc0afce..943a7d0bc2 100644
--- a/target/linux/siflower/patches-6.12/016-spi-spi-mem-allow-gpio-cs-in-spi_mem_exec_op.patch
+++ b/target/linux/siflower/patches-6.12/016-spi-spi-mem-allow-gpio-cs-in-spi_mem_exec_op.patch
@@ -18,7 +18,7 @@ Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
--- a/drivers/spi/spi-mem.c
+++ b/drivers/spi/spi-mem.c
-@@ -384,13 +384,19 @@ int spi_mem_exec_op(struct spi_mem *mem,
+@@ -395,13 +395,19 @@ int spi_mem_exec_op(struct spi_mem *mem,
if (!spi_mem_internal_supports_op(mem, op))
return -EOPNOTSUPP;
diff --git a/target/linux/starfive/patches-6.12/0002-clocksource-Add-JH7110-timer-driver.patch b/target/linux/starfive/patches-6.12/0002-clocksource-Add-JH7110-timer-driver.patch
index 0342a1e382..1b96bd306f 100644
--- a/target/linux/starfive/patches-6.12/0002-clocksource-Add-JH7110-timer-driver.patch
+++ b/target/linux/starfive/patches-6.12/0002-clocksource-Add-JH7110-timer-driver.patch
@@ -15,7 +15,7 @@ Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
--- a/drivers/clocksource/Kconfig
+++ b/drivers/clocksource/Kconfig
-@@ -652,6 +652,17 @@ config RISCV_TIMER
+@@ -653,6 +653,17 @@ config RISCV_TIMER
is accessed via both the SBI and the rdcycle instruction. This is
required for all RISC-V systems.
diff --git a/target/linux/starfive/patches-6.12/0010-uart-8250-add-reset-operation-in-runtime-PM.patch b/target/linux/starfive/patches-6.12/0010-uart-8250-add-reset-operation-in-runtime-PM.patch
index 1b57751779..452dfade6d 100644
--- a/target/linux/starfive/patches-6.12/0010-uart-8250-add-reset-operation-in-runtime-PM.patch
+++ b/target/linux/starfive/patches-6.12/0010-uart-8250-add-reset-operation-in-runtime-PM.patch
@@ -21,9 +21,9 @@ Signed-off-by: William Qiu <william.qiu@starfivetech.com>
clk_disable_unprepare(data->clk);
clk_disable_unprepare(data->pclk);
-@@ -727,6 +729,8 @@ static int dw8250_runtime_resume(struct
-
- clk_prepare_enable(data->clk);
+@@ -734,6 +736,8 @@ static int dw8250_runtime_resume(struct
+ return ret;
+ }
+ reset_control_deassert(data->rst);
+
diff --git a/target/linux/starfive/patches-6.12/1002-serial-8250_dw-Add-starfive-jh7100-hsuart-compatible.patch b/target/linux/starfive/patches-6.12/1002-serial-8250_dw-Add-starfive-jh7100-hsuart-compatible.patch
index cb5acbc088..db83fe9ba7 100644
--- a/target/linux/starfive/patches-6.12/1002-serial-8250_dw-Add-starfive-jh7100-hsuart-compatible.patch
+++ b/target/linux/starfive/patches-6.12/1002-serial-8250_dw-Add-starfive-jh7100-hsuart-compatible.patch
@@ -15,7 +15,7 @@ Signed-off-by: Emil Renner Berthing <kernel@esmil.dk>
--- a/drivers/tty/serial/8250/8250_dw.c
+++ b/drivers/tty/serial/8250/8250_dw.c
-@@ -770,6 +770,7 @@ static const struct of_device_id dw8250_
+@@ -777,6 +777,7 @@ static const struct of_device_id dw8250_
{ .compatible = "marvell,armada-38x-uart", .data = &dw8250_armada_38x_data },
{ .compatible = "renesas,rzn1-uart", .data = &dw8250_renesas_rzn1_data },
{ .compatible = "sophgo,sg2044-uart", .data = &dw8250_skip_set_rate_data },