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 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 --- 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 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 --- 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 --- 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 --- 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 * 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 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 --- 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 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 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 --- 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 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 --- 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 --- 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 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 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 /* 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 #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 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 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 -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 ---- - 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 -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 ---- - 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 -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 ---- - 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 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 --- 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 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 --- 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 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 --- 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 --- 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 *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 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 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 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 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 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 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 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 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 .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 .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 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 /* 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 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 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 /* 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 * @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 --- 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 --- 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 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 #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 * @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 --- 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 /* 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 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 @@ -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 - 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 #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 * @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 --- 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 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 --- 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 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 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 --- 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 --- 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 --- 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 { --- 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 * * 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 /** * 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 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 --- 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 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 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 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 --- 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 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 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 } 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 --- 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 --- 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 --- 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 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 ' | $(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 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 } 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 \n"); buf_printf(b, "#include \n"); buf_printf(b, "\n"); @@ -161,7 +161,7 @@ Signed-off-by: Felix Fietkau 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 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 } 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 */ --- 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 /** * 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 #include #include #include -@@ -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 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 } 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 } 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 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 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 - 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 --- 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 --- 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 /** * 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 /* 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 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 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 +#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 --- 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 }; #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 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 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 /* 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 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 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 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 /* 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 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 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 *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 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 --- 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 --- 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 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 --- 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 --- 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 --- 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 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 --- 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 { /* 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 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 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 --- 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 --- 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 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 --- 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 -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 ---- ---- 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 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 -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 } --- 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 /* 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 --- 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 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 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 --- 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 { --- 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 --- 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 --- 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 --- 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 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 --- 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 },