mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2026-05-04 17:36:12 +02:00
kernel: bump 6.12 to 6.12.75
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.75 Removed upstream: bcm27xx/patches-6.12/950-0225-media-i2c-ov5647-Correct-pixel-array-offset.patch[1] bcm27xx/patches-6.12/950-0226-media-i2c-ov5647-Correct-minimum-VBLANK-value.patch[2] bcm27xx/patches-6.12/950-0248-media-i2c-ov5647-Sensor-should-report-RAW-color-spac.patch[3] qualcommax/patches-6.12/0074-v6.20-clk-qcom-gcc-ipq5018-flag-sleep-clock-as-critical.patch[4] Manually rebased: bcm27xx/patches-6.12/950-0262-mfd-simple-mfd-i2c-Add-configuration-for-RPi-POE-HAT.patch bcm27xx/patches-6.12/950-0071-drivers-mfd-sensehat-Add-Raspberry-Pi-Sense-HAT-to-s.patch bcm27xx/patches-6.12/950-0516-media-i2c-ov5647-Add-V4L2_CID_LINK_FREQUENCY-control.patch lantiq/patches-6.12/101-find_active_root.patch All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.75&id=58f1767ad5c9eda3dd0befddc1843259d46d64fa 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.75&id=ff65571ffae52b65577121e7696bf22156e1928a 3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.75&id=fbf2a108ed5eb1c896d3f354bd05314c2e22e78f 4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.75&id=b109dd4970a0fc89d54b1198b163f86125dd2977 Build system: x86/64 Build-tested: flogic/glinet_gl-mt6000 Run-tested: flogic/glinet_gl-mt6000 Co-authored-by: Shiji Yang <yangshiji66@outlook.com> Signed-off-by: John Audia <therealgraysky@proton.me> Link: https://github.com/openwrt/openwrt/pull/22276 Signed-off-by: Robert Marko <robimarko@gmail.com> (cherry picked from commit d0784a69ddf878639ca4b45005e359d59b65a1b6) Link: https://github.com/openwrt/openwrt/pull/22699 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
parent
34f5713863
commit
3efb676eaa
@ -107,7 +107,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
module_phy_driver(as21xxx_drivers);
|
||||
--- a/drivers/net/phy/phy_device.c
|
||||
+++ b/drivers/net/phy/phy_device.c
|
||||
@@ -2074,7 +2074,8 @@ void phy_detach(struct phy_device *phyde
|
||||
@@ -2069,7 +2069,8 @@ void phy_detach(struct phy_device *phyde
|
||||
device_release_driver(&phydev->mdio.dev);
|
||||
|
||||
/* Assert the reset signal */
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@ to the PCIe controller driver to manage directly via the NP_SCU regmap.
|
||||
Signed-off-by: Ryan Chen <rchen14b@gmail.com>
|
||||
--- a/drivers/clk/clk-en7523.c
|
||||
+++ b/drivers/clk/clk-en7523.c
|
||||
@@ -961,9 +961,11 @@ static int en7581_pci_enable(struct clk_
|
||||
@@ -960,9 +960,11 @@ static int en7581_pci_enable(struct clk_
|
||||
struct regmap *map = cg->map;
|
||||
u32 mask;
|
||||
|
||||
@ -28,7 +28,7 @@ Signed-off-by: Ryan Chen <rchen14b@gmail.com>
|
||||
regmap_set_bits(map, REG_PCI_CONTROL, mask);
|
||||
|
||||
return 0;
|
||||
@@ -975,9 +977,8 @@ static void en7581_pci_disable(struct cl
|
||||
@@ -974,9 +976,8 @@ static void en7581_pci_disable(struct cl
|
||||
struct regmap *map = cg->map;
|
||||
u32 mask;
|
||||
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
@ -45,7 +45,7 @@ Submitted-by: Christopher Hill <ch6574@gmail.com>
|
||||
|
||||
--- a/drivers/mfd/Kconfig
|
||||
+++ b/drivers/mfd/Kconfig
|
||||
@@ -2330,6 +2330,14 @@ config RAVE_SP_CORE
|
||||
@@ -2354,6 +2354,14 @@ config RAVE_SP_CORE
|
||||
Select this to get support for the Supervisory Processor
|
||||
device found on several devices in RAVE line of hardware.
|
||||
|
||||
|
||||
@ -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))
|
||||
|
||||
@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/spi/spidev.c
|
||||
+++ b/drivers/spi/spidev.c
|
||||
@@ -721,7 +721,7 @@ MODULE_DEVICE_TABLE(spi, spidev_spi_ids)
|
||||
@@ -703,7 +703,7 @@ MODULE_DEVICE_TABLE(spi, spidev_spi_ids)
|
||||
*/
|
||||
static int spidev_of_check(struct device *dev)
|
||||
{
|
||||
|
||||
@ -19,10 +19,10 @@ Signed-off-by: Charles Mirabile <cmirabil@redhat.com>
|
||||
|
||||
--- a/drivers/mfd/simple-mfd-i2c.c
|
||||
+++ b/drivers/mfd/simple-mfd-i2c.c
|
||||
@@ -88,6 +88,7 @@ static const struct of_device_id simple_
|
||||
@@ -119,6 +119,7 @@ static const struct of_device_id simple_
|
||||
{ .compatible = "maxim,max77705-battery", .data = &maxim_mon_max77705},
|
||||
{ .compatible = "silergy,sy7636a", .data = &silergy_sy7636a},
|
||||
{ .compatible = "maxim,max5970", .data = &maxim_max5970},
|
||||
{ .compatible = "maxim,max5978", .data = &maxim_max5970},
|
||||
{ .compatible = "spacemit,p1", .data = &spacemit_p1, },
|
||||
+ { .compatible = "raspberrypi,sensehat" },
|
||||
{}
|
||||
};
|
||||
|
||||
@ -18626,7 +18626,7 @@ Signed-off-by: j-schambacher <joerg@hifiberry.com>
|
||||
* For devices with more than one control interface, we assume the
|
||||
--- a/sound/usb/quirks.c
|
||||
+++ b/sound/usb/quirks.c
|
||||
@@ -2393,6 +2393,8 @@ static const struct usb_audio_quirk_flag
|
||||
@@ -2395,6 +2395,8 @@ static const struct usb_audio_quirk_flag
|
||||
QUIRK_FLAG_ALIGN_TRANSFER),
|
||||
DEVICE_FLG(0x534d, 0x2109, /* MacroSilicon MS2109 */
|
||||
QUIRK_FLAG_ALIGN_TRANSFER),
|
||||
|
||||
@ -37,7 +37,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
||||
static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data)
|
||||
{
|
||||
u32 *buf;
|
||||
@@ -3464,8 +3473,14 @@ static int lan78xx_bind(struct lan78xx_n
|
||||
@@ -3462,8 +3471,14 @@ static int lan78xx_bind(struct lan78xx_n
|
||||
if (DEFAULT_RX_CSUM_ENABLE)
|
||||
dev->net->features |= NETIF_F_RXCSUM;
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/net/usb/lan78xx.c
|
||||
+++ b/drivers/net/usb/lan78xx.c
|
||||
@@ -2915,6 +2915,11 @@ static int lan78xx_reset(struct lan78xx_
|
||||
@@ -2913,6 +2913,11 @@ static int lan78xx_reset(struct lan78xx_
|
||||
int ret;
|
||||
u32 buf;
|
||||
u8 sig;
|
||||
@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
ret = lan78xx_read_reg(dev, HW_CFG, &buf);
|
||||
if (ret < 0)
|
||||
@@ -2983,6 +2988,10 @@ static int lan78xx_reset(struct lan78xx_
|
||||
@@ -2981,6 +2986,10 @@ static int lan78xx_reset(struct lan78xx_
|
||||
buf |= HW_CFG_CLK125_EN_;
|
||||
buf |= HW_CFG_REFCLK25_EN_;
|
||||
|
||||
@ -37,7 +37,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
ret = lan78xx_write_reg(dev, HW_CFG, buf);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
@@ -3085,6 +3094,9 @@ static int lan78xx_reset(struct lan78xx_
|
||||
@@ -3083,6 +3092,9 @@ static int lan78xx_reset(struct lan78xx_
|
||||
buf |= MAC_CR_AUTO_DUPLEX_ | MAC_CR_AUTO_SPEED_;
|
||||
}
|
||||
}
|
||||
|
||||
@ -16,7 +16,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
||||
|
||||
--- a/drivers/media/i2c/adv7180.c
|
||||
+++ b/drivers/media/i2c/adv7180.c
|
||||
@@ -1352,6 +1352,7 @@ static const struct adv7180_chip_info ad
|
||||
@@ -1359,6 +1359,7 @@ static const struct adv7180_chip_info ad
|
||||
static int init_device(struct adv7180_state *state)
|
||||
{
|
||||
int ret;
|
||||
@ -24,7 +24,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
||||
|
||||
mutex_lock(&state->mutex);
|
||||
|
||||
@@ -1399,6 +1400,18 @@ static int init_device(struct adv7180_st
|
||||
@@ -1406,6 +1407,18 @@ static int init_device(struct adv7180_st
|
||||
goto out_unlock;
|
||||
}
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
||||
|
||||
--- a/drivers/media/i2c/adv7180.c
|
||||
+++ b/drivers/media/i2c/adv7180.c
|
||||
@@ -1341,6 +1341,7 @@ static const struct adv7180_chip_info ad
|
||||
@@ -1348,6 +1348,7 @@ static const struct adv7180_chip_info ad
|
||||
BIT(ADV7182_INPUT_SVIDEO_AIN1_AIN2) |
|
||||
BIT(ADV7182_INPUT_SVIDEO_AIN3_AIN4) |
|
||||
BIT(ADV7182_INPUT_SVIDEO_AIN7_AIN8) |
|
||||
|
||||
@ -37,7 +37,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
|
||||
|
||||
--- a/drivers/gpu/drm/v3d/v3d_drv.c
|
||||
+++ b/drivers/gpu/drm/v3d/v3d_drv.c
|
||||
@@ -331,6 +331,21 @@ static int v3d_platform_drm_probe(struct
|
||||
@@ -333,6 +333,21 @@ static int v3d_platform_drm_probe(struct
|
||||
}
|
||||
}
|
||||
|
||||
@ -59,7 +59,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
|
||||
if (v3d->ver < 41) {
|
||||
ret = map_regs(v3d, &v3d->gca_regs, "gca");
|
||||
if (ret)
|
||||
@@ -360,6 +375,8 @@ static int v3d_platform_drm_probe(struct
|
||||
@@ -362,6 +377,8 @@ static int v3d_platform_drm_probe(struct
|
||||
ret = v3d_sysfs_init(dev);
|
||||
if (ret)
|
||||
goto drm_unregister;
|
||||
|
||||
@ -41,7 +41,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
struct drm_device *drm;
|
||||
struct v3d_dev *v3d;
|
||||
int ret;
|
||||
@@ -337,7 +343,20 @@ static int v3d_platform_drm_probe(struct
|
||||
@@ -339,7 +345,20 @@ static int v3d_platform_drm_probe(struct
|
||||
dev_err(dev, "Failed to get clock (%ld)\n", PTR_ERR(v3d->clk));
|
||||
return PTR_ERR(v3d->clk);
|
||||
}
|
||||
@ -63,7 +63,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
/* For downclocking, drop it to the minimum frequency we can get from
|
||||
* the CPRMAN clock generator dividing off our parent. The divider is
|
||||
* 4 bits, but ask for just higher than that so that rounding doesn't
|
||||
@@ -375,7 +394,7 @@ static int v3d_platform_drm_probe(struct
|
||||
@@ -377,7 +396,7 @@ static int v3d_platform_drm_probe(struct
|
||||
ret = v3d_sysfs_init(dev);
|
||||
if (ret)
|
||||
goto drm_unregister;
|
||||
|
||||
@ -32,7 +32,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
#define USB_VENDOR_ID_BELKIN 0x050d
|
||||
#define USB_DEVICE_ID_FLIP_KVM 0x3201
|
||||
|
||||
@@ -1475,6 +1478,9 @@
|
||||
@@ -1479,6 +1482,9 @@
|
||||
#define USB_VENDOR_ID_XIAOMI 0x2717
|
||||
#define USB_DEVICE_ID_MI_SILENT_MOUSE 0x5014
|
||||
|
||||
|
||||
@ -26,7 +26,7 @@ Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
||||
|
||||
v4l2_ctrl_handler_init(&sensor->ctrls, 9);
|
||||
|
||||
@@ -1351,6 +1352,11 @@ static int ov5647_init_controls(struct o
|
||||
@@ -1353,6 +1354,11 @@ static int ov5647_init_controls(struct o
|
||||
ARRAY_SIZE(ov5647_test_pattern_menu) - 1,
|
||||
0, 0, ov5647_test_pattern_menu);
|
||||
|
||||
@ -38,9 +38,9 @@ Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
||||
if (sensor->ctrls.error)
|
||||
goto handler_free;
|
||||
|
||||
@@ -1434,7 +1440,7 @@ static int ov5647_probe(struct i2c_clien
|
||||
|
||||
sensor->mode = OV5647_DEFAULT_MODE;
|
||||
@@ -1441,7 +1447,7 @@ static int ov5647_probe(struct i2c_clien
|
||||
sd->internal_ops = &ov5647_subdev_internal_ops;
|
||||
sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE | V4L2_SUBDEV_FL_HAS_EVENTS;
|
||||
|
||||
- ret = ov5647_init_controls(sensor);
|
||||
+ ret = ov5647_init_controls(sensor, dev);
|
||||
|
||||
@ -1,25 +0,0 @@
|
||||
From 70c32664e555b0641cc187eebf0d738eb10a33a0 Mon Sep 17 00:00:00 2001
|
||||
From: David Plowman <david.plowman@raspberrypi.com>
|
||||
Date: Tue, 11 May 2021 12:52:26 +0100
|
||||
Subject: [PATCH] media: i2c: ov5647: Correct pixel array offset
|
||||
|
||||
The top offset in the pixel array is actually 6 (see page 3-1 of the
|
||||
OV5647 data sheet).
|
||||
|
||||
Fixes: f2f7ad5ce5e52 ("media: i2c: ov5647: Selection compliance fixes")
|
||||
Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
|
||||
---
|
||||
drivers/media/i2c/ov5647.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/media/i2c/ov5647.c
|
||||
+++ b/drivers/media/i2c/ov5647.c
|
||||
@@ -69,7 +69,7 @@
|
||||
#define OV5647_NATIVE_HEIGHT 1956U
|
||||
|
||||
#define OV5647_PIXEL_ARRAY_LEFT 16U
|
||||
-#define OV5647_PIXEL_ARRAY_TOP 16U
|
||||
+#define OV5647_PIXEL_ARRAY_TOP 6U
|
||||
#define OV5647_PIXEL_ARRAY_WIDTH 2592U
|
||||
#define OV5647_PIXEL_ARRAY_HEIGHT 1944U
|
||||
|
||||
@ -1,26 +0,0 @@
|
||||
From 3a415d5da89b4a2d83f5590820fa649293eef6ba Mon Sep 17 00:00:00 2001
|
||||
From: David Plowman <david.plowman@raspberrypi.com>
|
||||
Date: Tue, 11 May 2021 12:57:22 +0100
|
||||
Subject: [PATCH] media: i2c: ov5647: Correct minimum VBLANK value
|
||||
|
||||
Trial and error reveals that the minimum vblank value appears to be 24
|
||||
(the OV5647 data sheet does not give any clues). This fixes streaming
|
||||
lock-ups in full resolution mode.
|
||||
|
||||
Fixes: 9b5a5ebedc303 ("media: i2c: ov5647: Add support for V4L2_CID_VBLANK")
|
||||
Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
|
||||
---
|
||||
drivers/media/i2c/ov5647.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/media/i2c/ov5647.c
|
||||
+++ b/drivers/media/i2c/ov5647.c
|
||||
@@ -73,7 +73,7 @@
|
||||
#define OV5647_PIXEL_ARRAY_WIDTH 2592U
|
||||
#define OV5647_PIXEL_ARRAY_HEIGHT 1944U
|
||||
|
||||
-#define OV5647_VBLANK_MIN 4
|
||||
+#define OV5647_VBLANK_MIN 24
|
||||
#define OV5647_VTS_MAX 32767
|
||||
|
||||
#define OV5647_EXPOSURE_MIN 4
|
||||
@ -1,50 +0,0 @@
|
||||
From 2469a06f61b88939d92fd8e61a32afd5566c0be0 Mon Sep 17 00:00:00 2001
|
||||
From: David Plowman <david.plowman@raspberrypi.com>
|
||||
Date: Thu, 21 Oct 2021 14:47:00 +0100
|
||||
Subject: [PATCH] media: i2c: ov5647: Sensor should report RAW color space
|
||||
|
||||
Tested on Raspberry Pi running libcamera.
|
||||
|
||||
Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
|
||||
---
|
||||
drivers/media/i2c/ov5647.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
--- a/drivers/media/i2c/ov5647.c
|
||||
+++ b/drivers/media/i2c/ov5647.c
|
||||
@@ -508,7 +508,7 @@ static const struct ov5647_mode ov5647_m
|
||||
{
|
||||
.format = {
|
||||
.code = MEDIA_BUS_FMT_SBGGR10_1X10,
|
||||
- .colorspace = V4L2_COLORSPACE_SRGB,
|
||||
+ .colorspace = V4L2_COLORSPACE_RAW,
|
||||
.field = V4L2_FIELD_NONE,
|
||||
.width = 2592,
|
||||
.height = 1944
|
||||
@@ -529,7 +529,7 @@ static const struct ov5647_mode ov5647_m
|
||||
{
|
||||
.format = {
|
||||
.code = MEDIA_BUS_FMT_SBGGR10_1X10,
|
||||
- .colorspace = V4L2_COLORSPACE_SRGB,
|
||||
+ .colorspace = V4L2_COLORSPACE_RAW,
|
||||
.field = V4L2_FIELD_NONE,
|
||||
.width = 1920,
|
||||
.height = 1080
|
||||
@@ -550,7 +550,7 @@ static const struct ov5647_mode ov5647_m
|
||||
{
|
||||
.format = {
|
||||
.code = MEDIA_BUS_FMT_SBGGR10_1X10,
|
||||
- .colorspace = V4L2_COLORSPACE_SRGB,
|
||||
+ .colorspace = V4L2_COLORSPACE_RAW,
|
||||
.field = V4L2_FIELD_NONE,
|
||||
.width = 1296,
|
||||
.height = 972
|
||||
@@ -571,7 +571,7 @@ static const struct ov5647_mode ov5647_m
|
||||
{
|
||||
.format = {
|
||||
.code = MEDIA_BUS_FMT_SBGGR10_1X10,
|
||||
- .colorspace = V4L2_COLORSPACE_SRGB,
|
||||
+ .colorspace = V4L2_COLORSPACE_RAW,
|
||||
.field = V4L2_FIELD_NONE,
|
||||
.width = 640,
|
||||
.height = 480
|
||||
@ -170,7 +170,7 @@ Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
|
||||
default:
|
||||
dev_info(&client->dev,
|
||||
"Control (id:0x%x, val:0x%x) not supported\n",
|
||||
@@ -1354,6 +1408,16 @@ static int ov5647_init_controls(struct o
|
||||
@@ -1356,6 +1410,16 @@ static int ov5647_init_controls(struct o
|
||||
ARRAY_SIZE(ov5647_test_pattern_menu) - 1,
|
||||
0, 0, ov5647_test_pattern_menu);
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
--- a/drivers/spi/spidev.c
|
||||
+++ b/drivers/spi/spidev.c
|
||||
@@ -711,6 +711,7 @@ static const struct spi_device_id spidev
|
||||
@@ -693,6 +693,7 @@ static const struct spi_device_id spidev
|
||||
{ .name = "spi-authenta" },
|
||||
{ .name = "em3581" },
|
||||
{ .name = "si3210" },
|
||||
|
||||
@ -95,7 +95,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
static int ov5647_init_controls(struct ov5647 *sensor, struct device *dev)
|
||||
{
|
||||
struct i2c_client *client = v4l2_get_subdevdata(&sensor->sd);
|
||||
@@ -1502,6 +1533,12 @@ static int ov5647_probe(struct i2c_clien
|
||||
@@ -1504,6 +1535,12 @@ static int ov5647_probe(struct i2c_clien
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
|
||||
@ -17,7 +17,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
|
||||
--- a/drivers/mfd/Kconfig
|
||||
+++ b/drivers/mfd/Kconfig
|
||||
@@ -1186,6 +1186,16 @@ config MFD_SY7636A
|
||||
@@ -1210,6 +1210,16 @@ config MFD_SY7636A
|
||||
To enable support for building sub-devices as modules,
|
||||
choose M here.
|
||||
|
||||
@ -52,10 +52,10 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
static int simple_mfd_i2c_probe(struct i2c_client *i2c)
|
||||
{
|
||||
const struct simple_mfd_data *simple_mfd_data;
|
||||
@@ -88,6 +97,7 @@ static const struct of_device_id simple_
|
||||
@@ -119,6 +128,7 @@ static const struct of_device_id simple_
|
||||
{ .compatible = "maxim,max77705-battery", .data = &maxim_mon_max77705},
|
||||
{ .compatible = "silergy,sy7636a", .data = &silergy_sy7636a},
|
||||
{ .compatible = "maxim,max5970", .data = &maxim_max5970},
|
||||
{ .compatible = "maxim,max5978", .data = &maxim_max5970},
|
||||
{ .compatible = "spacemit,p1", .data = &spacemit_p1, },
|
||||
+ { .compatible = "raspberrypi,poe-core", &rpi_poe_core },
|
||||
{ .compatible = "raspberrypi,sensehat" },
|
||||
{}
|
||||
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
|
||||
--- a/drivers/media/i2c/ov5647.c
|
||||
+++ b/drivers/media/i2c/ov5647.c
|
||||
@@ -1566,7 +1566,7 @@ static int ov5647_probe(struct i2c_clien
|
||||
@@ -1568,7 +1568,7 @@ static int ov5647_probe(struct i2c_clien
|
||||
if (ret < 0)
|
||||
goto power_off;
|
||||
|
||||
|
||||
@ -68,7 +68,7 @@ Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
||||
|
||||
--- a/drivers/char/random.c
|
||||
+++ b/drivers/char/random.c
|
||||
@@ -867,6 +867,14 @@ void __init random_init_early(const char
|
||||
@@ -857,6 +857,14 @@ void __init random_init_early(const char
|
||||
unsigned long entropy[BLAKE2S_BLOCK_SIZE / sizeof(long)];
|
||||
size_t i, longs, arch_bits;
|
||||
|
||||
|
||||
@ -78,7 +78,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
||||
*norm = state->curr_norm;
|
||||
|
||||
return 0;
|
||||
@@ -890,6 +914,8 @@ static int adv7180_s_stream(struct v4l2_
|
||||
@@ -897,6 +921,8 @@ static int adv7180_s_stream(struct v4l2_
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@ -191,7 +191,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
static void macb_init_buffers(struct macb *bp)
|
||||
{
|
||||
struct macb_queue *queue;
|
||||
@@ -976,6 +992,7 @@ static int macb_mii_init(struct macb *bp
|
||||
@@ -974,6 +990,7 @@ static int macb_mii_init(struct macb *bp
|
||||
bp->mii_bus->write = &macb_mdio_write_c22;
|
||||
bp->mii_bus->read_c45 = &macb_mdio_read_c45;
|
||||
bp->mii_bus->write_c45 = &macb_mdio_write_c45;
|
||||
@ -199,7 +199,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
snprintf(bp->mii_bus->id, MII_BUS_ID_SIZE, "%s-%x",
|
||||
bp->pdev->name, bp->pdev->id);
|
||||
bp->mii_bus->priv = bp;
|
||||
@@ -1641,6 +1658,11 @@ static int macb_rx(struct macb_queue *qu
|
||||
@@ -1639,6 +1656,11 @@ static int macb_rx(struct macb_queue *qu
|
||||
|
||||
macb_init_rx_ring(queue);
|
||||
queue_writel(queue, RBQP, queue->rx_ring_dma);
|
||||
@ -211,7 +211,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
macb_writel(bp, NCR, ctrl | MACB_BIT(RE));
|
||||
|
||||
@@ -1943,8 +1965,9 @@ static irqreturn_t macb_interrupt(int ir
|
||||
@@ -1941,8 +1963,9 @@ static irqreturn_t macb_interrupt(int ir
|
||||
queue_writel(queue, ISR, MACB_BIT(TCOMP) |
|
||||
MACB_BIT(TXUBR));
|
||||
|
||||
@ -222,7 +222,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
wmb(); // ensure softirq can see update
|
||||
}
|
||||
|
||||
@@ -2400,6 +2423,11 @@ static netdev_tx_t macb_start_xmit(struc
|
||||
@@ -2398,6 +2421,11 @@ static netdev_tx_t macb_start_xmit(struc
|
||||
skb_tx_timestamp(skb);
|
||||
|
||||
spin_lock(&bp->lock);
|
||||
@ -234,7 +234,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
macb_writel(bp, NCR, macb_readl(bp, NCR) | MACB_BIT(TSTART));
|
||||
spin_unlock(&bp->lock);
|
||||
|
||||
@@ -2806,6 +2834,37 @@ static void macb_configure_dma(struct ma
|
||||
@@ -2804,6 +2832,37 @@ static void macb_configure_dma(struct ma
|
||||
}
|
||||
}
|
||||
|
||||
@ -272,7 +272,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
static void macb_init_hw(struct macb *bp)
|
||||
{
|
||||
u32 config;
|
||||
@@ -2834,6 +2893,11 @@ static void macb_init_hw(struct macb *bp
|
||||
@@ -2832,6 +2891,11 @@ static void macb_init_hw(struct macb *bp
|
||||
if (bp->caps & MACB_CAPS_JUMBO)
|
||||
bp->rx_frm_len_mask = MACB_RX_JFRMLEN_MASK;
|
||||
|
||||
@ -284,7 +284,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
macb_configure_dma(bp);
|
||||
|
||||
/* Enable RX partial store and forward and set watermark */
|
||||
@@ -3200,6 +3264,52 @@ static void gem_get_ethtool_strings(stru
|
||||
@@ -3199,6 +3263,52 @@ static void gem_get_ethtool_strings(stru
|
||||
}
|
||||
}
|
||||
|
||||
@ -337,7 +337,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
static struct net_device_stats *macb_get_stats(struct net_device *dev)
|
||||
{
|
||||
struct macb *bp = netdev_priv(dev);
|
||||
@@ -3784,6 +3894,8 @@ static const struct ethtool_ops macb_eth
|
||||
@@ -3783,6 +3893,8 @@ static const struct ethtool_ops macb_eth
|
||||
};
|
||||
|
||||
static const struct ethtool_ops gem_ethtool_ops = {
|
||||
@ -346,7 +346,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
.get_regs_len = macb_get_regs_len,
|
||||
.get_regs = macb_get_regs,
|
||||
.get_wol = macb_get_wol,
|
||||
@@ -3793,6 +3905,8 @@ static const struct ethtool_ops gem_etht
|
||||
@@ -3792,6 +3904,8 @@ static const struct ethtool_ops gem_etht
|
||||
.get_ethtool_stats = gem_get_ethtool_stats,
|
||||
.get_strings = gem_get_ethtool_strings,
|
||||
.get_sset_count = gem_get_sset_count,
|
||||
@ -355,7 +355,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
.get_link_ksettings = macb_get_link_ksettings,
|
||||
.set_link_ksettings = macb_set_link_ksettings,
|
||||
.get_ringparam = macb_get_ringparam,
|
||||
@@ -5114,6 +5228,11 @@ static int macb_probe(struct platform_de
|
||||
@@ -5113,6 +5227,11 @@ static int macb_probe(struct platform_de
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -367,7 +367,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
spin_lock_init(&bp->lock);
|
||||
spin_lock_init(&bp->stats_lock);
|
||||
|
||||
@@ -5174,6 +5293,21 @@ static int macb_probe(struct platform_de
|
||||
@@ -5173,6 +5292,21 @@ static int macb_probe(struct platform_de
|
||||
else
|
||||
bp->phy_interface = interface;
|
||||
|
||||
@ -389,7 +389,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
/* IP specific init */
|
||||
err = init(pdev);
|
||||
if (err)
|
||||
@@ -5245,6 +5379,19 @@ static void macb_remove(struct platform_
|
||||
@@ -5244,6 +5378,19 @@ static void macb_remove(struct platform_
|
||||
}
|
||||
}
|
||||
|
||||
@ -409,7 +409,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
static int __maybe_unused macb_suspend(struct device *dev)
|
||||
{
|
||||
struct net_device *netdev = dev_get_drvdata(dev);
|
||||
@@ -5498,6 +5645,7 @@ static const struct dev_pm_ops macb_pm_o
|
||||
@@ -5497,6 +5644,7 @@ static const struct dev_pm_ops macb_pm_o
|
||||
static struct platform_driver macb_driver = {
|
||||
.probe = macb_probe,
|
||||
.remove_new = macb_remove,
|
||||
|
||||
@ -308,7 +308,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
dwc->tx_fifo_resize_max_num = tx_fifo_resize_max_num;
|
||||
}
|
||||
|
||||
@@ -2187,6 +2234,12 @@ static int dwc3_probe(struct platform_de
|
||||
@@ -2202,6 +2249,12 @@ static int dwc3_probe(struct platform_de
|
||||
if (IS_ERR(dwc->usb_psy))
|
||||
return dev_err_probe(dev, PTR_ERR(dwc->usb_psy), "couldn't get usb power supply\n");
|
||||
|
||||
@ -333,7 +333,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
/* Global Debug LSP MUX Select */
|
||||
#define DWC3_GDBGLSPMUX_ENDBC BIT(15) /* Host only */
|
||||
#define DWC3_GDBGLSPMUX_HOSTSELECT(n) ((n) & 0x3fff)
|
||||
@@ -1087,6 +1090,7 @@ struct dwc3_scratchpad_array {
|
||||
@@ -1089,6 +1092,7 @@ struct dwc3_scratchpad_array {
|
||||
* @tx_max_burst_prd: max periodic ESS transmit burst size
|
||||
* @tx_fifo_resize_max_num: max number of fifos allocated during txfifo resize
|
||||
* @clear_stall_protocol: endpoint number that requires a delayed status phase
|
||||
@ -341,7 +341,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
* @hsphy_interface: "utmi" or "ulpi"
|
||||
* @connected: true when we're connected to a host, false otherwise
|
||||
* @softconnect: true when gadget connect is called, false when disconnect runs
|
||||
@@ -1338,6 +1342,7 @@ struct dwc3 {
|
||||
@@ -1342,6 +1346,7 @@ struct dwc3 {
|
||||
u8 tx_max_burst_prd;
|
||||
u8 tx_fifo_resize_max_num;
|
||||
u8 clear_stall_protocol;
|
||||
|
||||
@ -25,7 +25,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
--- a/drivers/mfd/Kconfig
|
||||
+++ b/drivers/mfd/Kconfig
|
||||
@@ -2384,6 +2384,17 @@ config MFD_INTEL_M10_BMC_PMCI
|
||||
@@ -2408,6 +2408,17 @@ config MFD_INTEL_M10_BMC_PMCI
|
||||
additional drivers must be enabled in order to use the functionality
|
||||
of the device.
|
||||
|
||||
|
||||
@ -17,7 +17,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
|
||||
--- a/drivers/media/i2c/adv7180.c
|
||||
+++ b/drivers/media/i2c/adv7180.c
|
||||
@@ -732,10 +732,15 @@ static int adv7180_enum_mbus_code(struct
|
||||
@@ -739,10 +739,15 @@ static int adv7180_enum_mbus_code(struct
|
||||
struct v4l2_subdev_state *sd_state,
|
||||
struct v4l2_subdev_mbus_code_enum *code)
|
||||
{
|
||||
@ -34,7 +34,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -745,7 +750,10 @@ static int adv7180_mbus_fmt(struct v4l2_
|
||||
@@ -752,7 +757,10 @@ static int adv7180_mbus_fmt(struct v4l2_
|
||||
{
|
||||
struct adv7180_state *state = to_state(sd);
|
||||
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -45,7 +45,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
#define DWC3_GUCTL1_RESUME_OPMODE_HS_HOST BIT(10)
|
||||
|
||||
/* Global Status Register */
|
||||
@@ -1142,10 +1143,12 @@ struct dwc3_scratchpad_array {
|
||||
@@ -1144,10 +1145,12 @@ struct dwc3_scratchpad_array {
|
||||
* generation after resume from suspend.
|
||||
* @ulpi_ext_vbus_drv: Set to confiure the upli chip to drives CPEN pin
|
||||
* VBUS with an external supply.
|
||||
@ -62,7 +62,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
* @gfladj_refclk_lpm_sel: set if we need to enable SOF/ITP counter
|
||||
* running based on ref_clk
|
||||
* @tx_de_emphasis_quirk: set if we enable Tx de-emphasis quirk
|
||||
@@ -1386,6 +1389,7 @@ struct dwc3 {
|
||||
@@ -1390,6 +1393,7 @@ struct dwc3 {
|
||||
unsigned ulpi_ext_vbus_drv:1;
|
||||
unsigned parkmode_disable_ss_quirk:1;
|
||||
unsigned parkmode_disable_hs_quirk:1;
|
||||
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
--- a/drivers/net/usb/lan78xx.c
|
||||
+++ b/drivers/net/usb/lan78xx.c
|
||||
@@ -2440,7 +2440,26 @@ static int lan78xx_phy_init(struct lan78
|
||||
@@ -2438,7 +2438,26 @@ static int lan78xx_phy_init(struct lan78
|
||||
mii_adv_to_linkmode_adv_t(fc, mii_adv);
|
||||
linkmode_or(phydev->advertising, fc, phydev->advertising);
|
||||
|
||||
|
||||
@ -102,7 +102,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
/* Read-only, but we adjust it based on mode. */
|
||||
break;
|
||||
|
||||
@@ -1421,10 +1421,11 @@ static int ov5647_init_controls(struct o
|
||||
@@ -1423,10 +1423,11 @@ static int ov5647_init_controls(struct o
|
||||
sensor->mode->pixel_rate, 1,
|
||||
sensor->mode->pixel_rate);
|
||||
|
||||
@ -116,7 +116,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
hblank);
|
||||
|
||||
sensor->vblank = v4l2_ctrl_new_std(&sensor->ctrls, &ov5647_ctrl_ops,
|
||||
@@ -1458,7 +1459,6 @@ static int ov5647_init_controls(struct o
|
||||
@@ -1460,7 +1461,6 @@ static int ov5647_init_controls(struct o
|
||||
goto handler_free;
|
||||
|
||||
sensor->pixel_rate->flags |= V4L2_CTRL_FLAG_READ_ONLY;
|
||||
|
||||
@ -70,7 +70,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
@@ -439,6 +451,7 @@ static const struct ov5647_mode ov5647_m
|
||||
.height = 1920,
|
||||
},
|
||||
.pixel_rate = 55000000,
|
||||
.pixel_rate = 58333000,
|
||||
+ .link_freq_index = FREQ_INDEX_VGA,
|
||||
.hts = 1852,
|
||||
.vts = 0x1f8,
|
||||
@ -91,9 +91,9 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
- v4l2_ctrl_handler_init(&sensor->ctrls, 9);
|
||||
+ v4l2_ctrl_handler_init(&sensor->ctrls, 10);
|
||||
|
||||
v4l2_ctrl_new_std(&sensor->ctrls, &ov5647_ctrl_ops,
|
||||
V4L2_CID_AUTOGAIN, 0, 1, 1, 0);
|
||||
@@ -1302,6 +1317,14 @@ static int ov5647_init_controls(struct o
|
||||
sensor->ctrls.lock = &sensor->lock;
|
||||
|
||||
@@ -1304,6 +1319,14 @@ static int ov5647_init_controls(struct o
|
||||
if (sensor->vflip)
|
||||
sensor->vflip->flags |= V4L2_CTRL_FLAG_MODIFY_LAYOUT;
|
||||
|
||||
|
||||
@ -57,7 +57,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
#define DWC3_GUCTL1_PARKMODE_DISABLE_SS BIT(17)
|
||||
#define DWC3_GUCTL1_PARKMODE_DISABLE_HS BIT(16)
|
||||
#define DWC3_GUCTL1_PARKMODE_DISABLE_FSLS BIT(15)
|
||||
@@ -1143,6 +1145,8 @@ struct dwc3_scratchpad_array {
|
||||
@@ -1145,6 +1147,8 @@ struct dwc3_scratchpad_array {
|
||||
* generation after resume from suspend.
|
||||
* @ulpi_ext_vbus_drv: Set to confiure the upli chip to drives CPEN pin
|
||||
* VBUS with an external supply.
|
||||
@ -66,7 +66,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
* @parkmode_disable_ss_quirk: If set, disable park mode feature for all
|
||||
* Superspeed instances.
|
||||
* @parkmode_disable_hs_quirk: If set, disable park mode feature for all
|
||||
@@ -1387,6 +1391,8 @@ struct dwc3 {
|
||||
@@ -1391,6 +1395,8 @@ struct dwc3 {
|
||||
unsigned dis_tx_ipgap_linecheck_quirk:1;
|
||||
unsigned resume_hs_terminations:1;
|
||||
unsigned ulpi_ext_vbus_drv:1;
|
||||
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
|
||||
--- a/drivers/net/ethernet/cadence/macb_main.c
|
||||
+++ b/drivers/net/ethernet/cadence/macb_main.c
|
||||
@@ -5077,6 +5077,17 @@ static const struct macb_config versal_c
|
||||
@@ -5076,6 +5076,17 @@ static const struct macb_config versal_c
|
||||
.usrio = &macb_default_usrio,
|
||||
};
|
||||
|
||||
@ -33,7 +33,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
static const struct of_device_id macb_dt_ids[] = {
|
||||
{ .compatible = "cdns,at91sam9260-macb", .data = &at91sam9260_config },
|
||||
{ .compatible = "cdns,macb" },
|
||||
@@ -5097,6 +5108,7 @@ static const struct of_device_id macb_dt
|
||||
@@ -5096,6 +5107,7 @@ static const struct of_device_id macb_dt
|
||||
{ .compatible = "microchip,mpfs-macb", .data = &mpfs_config },
|
||||
{ .compatible = "microchip,sama7g5-gem", .data = &sama7g5_gem_config },
|
||||
{ .compatible = "microchip,sama7g5-emac", .data = &sama7g5_emac_config },
|
||||
|
||||
@ -12,7 +12,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
--- a/drivers/pci/probe.c
|
||||
+++ b/drivers/pci/probe.c
|
||||
@@ -992,9 +992,6 @@ static int pci_register_host_bridge(stru
|
||||
@@ -996,9 +996,6 @@ static int pci_register_host_bridge(stru
|
||||
else
|
||||
pr_info("PCI host bridge to bus %s\n", name);
|
||||
|
||||
|
||||
@ -301,7 +301,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
|
||||
mmu_debug = V3D_READ(V3D_MMU_DEBUG_INFO);
|
||||
mask = DMA_BIT_MASK(30 + V3D_GET_FIELD(mmu_debug, V3D_MMU_PA_WIDTH));
|
||||
ret = dma_set_mask_and_coherent(dev, mask);
|
||||
@@ -325,6 +366,11 @@ static int v3d_platform_drm_probe(struct
|
||||
@@ -327,6 +368,11 @@ static int v3d_platform_drm_probe(struct
|
||||
ident1 = V3D_READ(V3D_HUB_IDENT1);
|
||||
v3d->ver = (V3D_GET_FIELD(ident1, V3D_HUB_IDENT1_TVER) * 10 +
|
||||
V3D_GET_FIELD(ident1, V3D_HUB_IDENT1_REV));
|
||||
@ -313,7 +313,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
|
||||
v3d->cores = V3D_GET_FIELD(ident1, V3D_HUB_IDENT1_NCORES);
|
||||
WARN_ON(v3d->cores > 1); /* multicore not yet implemented */
|
||||
|
||||
@@ -377,7 +423,7 @@ static int v3d_platform_drm_probe(struct
|
||||
@@ -379,7 +425,7 @@ static int v3d_platform_drm_probe(struct
|
||||
v3d->clk_down_rate =
|
||||
(clk_get_rate(clk_get_parent(v3d->clk)) / (1 << 4)) + 10000;
|
||||
|
||||
|
||||
@ -29,7 +29,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
|
||||
|
||||
--- a/drivers/gpu/drm/v3d/v3d_drv.c
|
||||
+++ b/drivers/gpu/drm/v3d/v3d_drv.c
|
||||
@@ -485,6 +485,8 @@ static void v3d_platform_drm_remove(stru
|
||||
@@ -487,6 +487,8 @@ static void v3d_platform_drm_remove(stru
|
||||
dma_free_wc(v3d->drm.dev, 4096, v3d->mmu_scratch,
|
||||
v3d->mmu_scratch_paddr);
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
--- a/drivers/pci/quirks.c
|
||||
+++ b/drivers/pci/quirks.c
|
||||
@@ -6256,6 +6256,22 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
|
||||
@@ -6283,6 +6283,22 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x56b1, aspm_l1_acceptable_latency);
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x56c0, aspm_l1_acceptable_latency);
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x56c1, aspm_l1_acceptable_latency);
|
||||
|
||||
@ -17,7 +17,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
|
||||
|
||||
--- a/drivers/gpu/drm/v3d/v3d_drv.c
|
||||
+++ b/drivers/gpu/drm/v3d/v3d_drv.c
|
||||
@@ -395,21 +395,18 @@ static int v3d_platform_drm_probe(struct
|
||||
@@ -397,21 +397,18 @@ static int v3d_platform_drm_probe(struct
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -64,7 +64,7 @@ Signed-off-by: Stephen Boyd <sboyd@kernel.org>
|
||||
{
|
||||
--- a/include/linux/clk.h
|
||||
+++ b/include/linux/clk.h
|
||||
@@ -496,11 +496,13 @@ int __must_check devm_clk_bulk_get_all(s
|
||||
@@ -520,11 +520,13 @@ int __must_check devm_clk_bulk_get_all(s
|
||||
struct clk_bulk_data **clks);
|
||||
|
||||
/**
|
||||
@ -80,7 +80,7 @@ Signed-off-by: Stephen Boyd <sboyd@kernel.org>
|
||||
*
|
||||
* This helper function allows drivers to get all clocks of the
|
||||
* consumer and enables them in one operation with management.
|
||||
@@ -508,8 +510,8 @@ int __must_check devm_clk_bulk_get_all(s
|
||||
@@ -532,8 +534,8 @@ int __must_check devm_clk_bulk_get_all(s
|
||||
* is unbound.
|
||||
*/
|
||||
|
||||
@ -91,7 +91,7 @@ Signed-off-by: Stephen Boyd <sboyd@kernel.org>
|
||||
|
||||
/**
|
||||
* devm_clk_get - lookup and obtain a managed reference to a clock producer.
|
||||
@@ -1034,7 +1036,7 @@ static inline int __must_check devm_clk_
|
||||
@@ -1041,7 +1043,7 @@ static inline int __must_check devm_clk_
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -100,7 +100,7 @@ Signed-off-by: Stephen Boyd <sboyd@kernel.org>
|
||||
struct clk_bulk_data **clks)
|
||||
{
|
||||
return 0;
|
||||
@@ -1136,6 +1138,15 @@ static inline void clk_restore_context(v
|
||||
@@ -1136,6 +1138,15 @@ static inline struct clk *clk_get_sys(co
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -14,7 +14,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
|
||||
|
||||
--- a/drivers/mtd/nand/spi/core.c
|
||||
+++ b/drivers/mtd/nand/spi/core.c
|
||||
@@ -1028,18 +1028,13 @@ static int spinand_create_dirmap(struct
|
||||
@@ -1036,18 +1036,13 @@ static int spinand_create_dirmap(struct
|
||||
unsigned int plane)
|
||||
{
|
||||
struct nand_device *nand = spinand_to_nand(spinand);
|
||||
@ -35,7 +35,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
|
||||
info.op_tmpl = *spinand->op_templates.update_cache;
|
||||
desc = devm_spi_mem_dirmap_create(&spinand->spimem->spi->dev,
|
||||
spinand->spimem, &info);
|
||||
@@ -1048,6 +1043,8 @@ static int spinand_create_dirmap(struct
|
||||
@@ -1056,6 +1051,8 @@ static int spinand_create_dirmap(struct
|
||||
|
||||
spinand->dirmaps[plane].wdesc = desc;
|
||||
|
||||
@ -44,7 +44,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
|
||||
info.op_tmpl = *spinand->op_templates.read_cache;
|
||||
desc = devm_spi_mem_dirmap_create(&spinand->spimem->spi->dev,
|
||||
spinand->spimem, &info);
|
||||
@@ -1063,6 +1060,7 @@ static int spinand_create_dirmap(struct
|
||||
@@ -1071,6 +1068,7 @@ static int spinand_create_dirmap(struct
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -52,7 +52,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
|
||||
info.op_tmpl = *spinand->op_templates.update_cache;
|
||||
info.op_tmpl.data.ecc = true;
|
||||
desc = devm_spi_mem_dirmap_create(&spinand->spimem->spi->dev,
|
||||
@@ -1072,6 +1070,8 @@ static int spinand_create_dirmap(struct
|
||||
@@ -1080,6 +1078,8 @@ static int spinand_create_dirmap(struct
|
||||
|
||||
spinand->dirmaps[plane].wdesc_ecc = desc;
|
||||
|
||||
|
||||
@ -29,7 +29,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
|
||||
|
||||
--- a/drivers/mtd/nand/spi/core.c
|
||||
+++ b/drivers/mtd/nand/spi/core.c
|
||||
@@ -1024,6 +1024,39 @@ static int spinand_mtd_block_isreserved(
|
||||
@@ -1032,6 +1032,39 @@ static int spinand_mtd_block_isreserved(
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -69,7 +69,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
|
||||
static int spinand_create_dirmap(struct spinand_device *spinand,
|
||||
unsigned int plane)
|
||||
{
|
||||
@@ -1043,11 +1076,8 @@ static int spinand_create_dirmap(struct
|
||||
@@ -1051,11 +1084,8 @@ static int spinand_create_dirmap(struct
|
||||
|
||||
spinand->dirmaps[plane].wdesc = desc;
|
||||
|
||||
@ -82,7 +82,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
|
||||
if (IS_ERR(desc))
|
||||
return PTR_ERR(desc);
|
||||
|
||||
@@ -1070,12 +1100,9 @@ static int spinand_create_dirmap(struct
|
||||
@@ -1078,12 +1108,9 @@ static int spinand_create_dirmap(struct
|
||||
|
||||
spinand->dirmaps[plane].wdesc_ecc = desc;
|
||||
|
||||
|
||||
@ -40,7 +40,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
|
||||
}
|
||||
|
||||
if (req->datalen)
|
||||
@@ -841,10 +849,19 @@ static int spinand_mtd_read(struct mtd_i
|
||||
@@ -849,10 +857,19 @@ static int spinand_mtd_read(struct mtd_i
|
||||
|
||||
old_stats = mtd->ecc_stats;
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
|
||||
|
||||
--- a/drivers/mtd/nand/spi/core.c
|
||||
+++ b/drivers/mtd/nand/spi/core.c
|
||||
@@ -1158,6 +1158,7 @@ static const struct nand_ops spinand_ops
|
||||
@@ -1166,6 +1166,7 @@ static const struct nand_ops spinand_ops
|
||||
static const struct spinand_manufacturer *spinand_manufacturers[] = {
|
||||
&alliancememory_spinand_manufacturer,
|
||||
&ato_spinand_manufacturer,
|
||||
|
||||
@ -19,7 +19,7 @@ Signed-off-by: Jens Axboe <axboe@kernel.dk>
|
||||
|
||||
--- a/block/blk.h
|
||||
+++ b/block/blk.h
|
||||
@@ -570,6 +570,7 @@ void blk_free_ext_minor(unsigned int min
|
||||
@@ -574,6 +574,7 @@ void blk_free_ext_minor(unsigned int min
|
||||
#define ADDPART_FLAG_NONE 0
|
||||
#define ADDPART_FLAG_RAID 1
|
||||
#define ADDPART_FLAG_WHOLEDISK 2
|
||||
|
||||
@ -18,7 +18,7 @@ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
|
||||
|
||||
--- a/drivers/base/power/wakeirq.c
|
||||
+++ b/drivers/base/power/wakeirq.c
|
||||
@@ -103,6 +103,32 @@ void dev_pm_clear_wake_irq(struct device
|
||||
@@ -106,6 +106,32 @@ void dev_pm_clear_wake_irq(struct device
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(dev_pm_clear_wake_irq);
|
||||
|
||||
|
||||
@ -151,7 +151,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
static const char *argv0_path;
|
||||
--- a/tools/objtool/Makefile
|
||||
+++ b/tools/objtool/Makefile
|
||||
@@ -39,6 +39,8 @@ OBJTOOL_LDFLAGS := $(LIBELF_LIBS) $(LIBS
|
||||
@@ -41,6 +41,8 @@ OBJTOOL_LDFLAGS := $(LIBELF_LIBS) $(LIBS
|
||||
elfshdr := $(shell echo '$(pound)include <libelf.h>' | $(HOSTCC) $(OBJTOOL_CFLAGS) -x c -E - | grep elf_getshdr)
|
||||
OBJTOOL_CFLAGS += $(if $(elfshdr),,-DLIBELF_USE_DEPRECATED)
|
||||
|
||||
|
||||
@ -141,7 +141,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (err)
|
||||
--- a/scripts/mod/modpost.c
|
||||
+++ b/scripts/mod/modpost.c
|
||||
@@ -1601,7 +1601,9 @@ static void read_symbols(const char *mod
|
||||
@@ -1605,7 +1605,9 @@ static void read_symbols(const char *mod
|
||||
symname = remove_dot(info.strtab + sym->st_name);
|
||||
|
||||
handle_symbol(mod, &info, sym, symname);
|
||||
@ -151,7 +151,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
|
||||
check_sec_ref(mod, &info);
|
||||
@@ -1758,7 +1760,9 @@ static void add_header(struct buffer *b,
|
||||
@@ -1762,7 +1764,9 @@ static void add_header(struct buffer *b,
|
||||
buf_printf(b, "#include <linux/export-internal.h>\n");
|
||||
buf_printf(b, "#include <linux/compiler.h>\n");
|
||||
buf_printf(b, "\n");
|
||||
@ -161,7 +161,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
buf_printf(b, "\n");
|
||||
buf_printf(b, "__visible struct module __this_module\n");
|
||||
buf_printf(b, "__section(\".gnu.linkonce.this_module\") = {\n");
|
||||
@@ -1772,11 +1776,13 @@ static void add_header(struct buffer *b,
|
||||
@@ -1776,11 +1780,13 @@ static void add_header(struct buffer *b,
|
||||
buf_printf(b, "\t.arch = MODULE_ARCH_INIT,\n");
|
||||
buf_printf(b, "};\n");
|
||||
|
||||
@ -175,7 +175,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
if (strstarts(mod->name, "tools/testing"))
|
||||
buf_printf(b, "\nMODULE_INFO(test, \"Y\");\n");
|
||||
@@ -1886,11 +1892,13 @@ static void add_depends(struct buffer *b
|
||||
@@ -1890,11 +1896,13 @@ static void add_depends(struct buffer *b
|
||||
|
||||
static void add_srcversion(struct buffer *b, struct module *mod)
|
||||
{
|
||||
@ -189,7 +189,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
|
||||
static void write_buf(struct buffer *b, const char *fname)
|
||||
@@ -1973,7 +1981,9 @@ static void write_mod_c_file(struct modu
|
||||
@@ -1977,7 +1985,9 @@ static void write_mod_c_file(struct modu
|
||||
add_exported_symbols(&buf, mod);
|
||||
add_versions(&buf, mod);
|
||||
add_depends(&buf, mod);
|
||||
|
||||
@ -52,7 +52,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
*/
|
||||
--- a/include/linux/skbuff.h
|
||||
+++ b/include/linux/skbuff.h
|
||||
@@ -3242,6 +3242,10 @@ static inline int pskb_trim(struct sk_bu
|
||||
@@ -3274,6 +3274,10 @@ static inline int pskb_trim(struct sk_bu
|
||||
return (len < skb->len) ? __pskb_trim(skb, len) : 0;
|
||||
}
|
||||
|
||||
@ -63,7 +63,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
/**
|
||||
* pskb_trim_unique - remove end from a paged unique (not cloned) buffer
|
||||
* @skb: buffer to alter
|
||||
@@ -3407,16 +3411,6 @@ static inline struct sk_buff *dev_alloc_
|
||||
@@ -3439,16 +3443,6 @@ static inline struct sk_buff *dev_alloc_
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
#include <linux/crc32.h>
|
||||
#include <linux/if_vlan.h>
|
||||
#include <linux/uaccess.h>
|
||||
@@ -7047,6 +7048,22 @@ static void rtl_tally_reset(struct r8152
|
||||
@@ -7049,6 +7050,22 @@ static void rtl_tally_reset(struct r8152
|
||||
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data);
|
||||
}
|
||||
|
||||
@ -45,7 +45,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
static void r8152b_init(struct r8152 *tp)
|
||||
{
|
||||
u32 ocp_data;
|
||||
@@ -7088,6 +7105,8 @@ static void r8152b_init(struct r8152 *tp
|
||||
@@ -7090,6 +7107,8 @@ static void r8152b_init(struct r8152 *tp
|
||||
ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL);
|
||||
ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN);
|
||||
ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data);
|
||||
@ -54,7 +54,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
}
|
||||
|
||||
static void r8153_init(struct r8152 *tp)
|
||||
@@ -7228,6 +7247,8 @@ static void r8153_init(struct r8152 *tp)
|
||||
@@ -7230,6 +7249,8 @@ static void r8153_init(struct r8152 *tp)
|
||||
tp->coalesce = COALESCE_SLOW;
|
||||
break;
|
||||
}
|
||||
@ -63,7 +63,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
}
|
||||
|
||||
static void r8153b_init(struct r8152 *tp)
|
||||
@@ -7310,6 +7331,8 @@ static void r8153b_init(struct r8152 *tp
|
||||
@@ -7312,6 +7333,8 @@ static void r8153b_init(struct r8152 *tp
|
||||
rtl_tally_reset(tp);
|
||||
|
||||
tp->coalesce = 15000; /* 15 us */
|
||||
|
||||
@ -235,7 +235,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (!pe)
|
||||
--- a/mm/vmalloc.c
|
||||
+++ b/mm/vmalloc.c
|
||||
@@ -5071,6 +5071,9 @@ static int vmalloc_info_show(struct seq_
|
||||
@@ -5079,6 +5079,9 @@ static int vmalloc_info_show(struct seq_
|
||||
|
||||
static int __init proc_vmalloc_init(void)
|
||||
{
|
||||
|
||||
@ -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
|
||||
|
||||
@ -49,7 +49,7 @@ Submitted-by: Daniel Danzberger <daniel@dd-wrt.com>
|
||||
obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
|
||||
--- a/drivers/mtd/nand/spi/core.c
|
||||
+++ b/drivers/mtd/nand/spi/core.c
|
||||
@@ -1160,6 +1160,7 @@ static const struct spinand_manufacturer
|
||||
@@ -1168,6 +1168,7 @@ static const struct spinand_manufacturer
|
||||
&ato_spinand_manufacturer,
|
||||
&esmt_8c_spinand_manufacturer,
|
||||
&esmt_c8_spinand_manufacturer,
|
||||
|
||||
@ -145,5 +145,5 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
- sfp_fixup_ignore_tx_fault),
|
||||
+ sfp_fixup_ignore_tx_fault_and_los),
|
||||
|
||||
// Lantech 8330-262D-E can operate at 2500base-X, but incorrectly report
|
||||
// 2500MBd NRZ in their EEPROM
|
||||
// Lantech 8330-262D-E and 8330-265D can operate at 2500base-X, but
|
||||
// incorrectly report 2500MBd NRZ in their EEPROM.
|
||||
|
||||
@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/include/linux/skbuff.h
|
||||
+++ b/include/linux/skbuff.h
|
||||
@@ -3209,7 +3209,7 @@ static inline int pskb_network_may_pull(
|
||||
@@ -3241,7 +3241,7 @@ static inline int pskb_network_may_pull(
|
||||
* NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
|
||||
*/
|
||||
#ifndef NET_SKB_PAD
|
||||
|
||||
@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/netfilter/nf_tables_api.c
|
||||
+++ b/net/netfilter/nf_tables_api.c
|
||||
@@ -8718,7 +8718,7 @@ static int nft_register_flowtable_net_ho
|
||||
@@ -8724,7 +8724,7 @@ static int nft_register_flowtable_net_ho
|
||||
err = flowtable->data.type->setup(&flowtable->data,
|
||||
hook->ops.dev,
|
||||
FLOW_BLOCK_BIND);
|
||||
|
||||
@ -63,7 +63,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
/**
|
||||
* ata_build_rw_tf - Build ATA taskfile for given read/write request
|
||||
* @qc: Metadata associated with the taskfile to build
|
||||
@@ -4800,6 +4811,9 @@ void __ata_qc_complete(struct ata_queued
|
||||
@@ -4818,6 +4829,9 @@ void __ata_qc_complete(struct ata_queued
|
||||
link->active_tag = ATA_TAG_POISON;
|
||||
ap->nr_active_links--;
|
||||
}
|
||||
@ -73,7 +73,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
/* clear exclusive status */
|
||||
if (unlikely(qc->flags & ATA_QCFLAG_CLEAR_EXCL &&
|
||||
@@ -5522,6 +5536,9 @@ struct ata_port *ata_port_alloc(struct a
|
||||
@@ -5546,6 +5560,9 @@ struct ata_port *ata_port_alloc(struct a
|
||||
ap->stats.unhandled_irq = 1;
|
||||
ap->stats.idle_irq = 1;
|
||||
#endif
|
||||
@ -83,7 +83,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
ata_sff_port_init(ap);
|
||||
|
||||
ata_force_pflags(ap);
|
||||
@@ -5538,6 +5555,12 @@ void ata_port_free(struct ata_port *ap)
|
||||
@@ -5562,6 +5579,12 @@ void ata_port_free(struct ata_port *ap)
|
||||
kfree(ap->pmp_link);
|
||||
kfree(ap->slave_link);
|
||||
ida_free(&ata_ida, ap->print_id);
|
||||
@ -96,7 +96,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
kfree(ap);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(ata_port_free);
|
||||
@@ -5942,7 +5965,23 @@ int ata_host_register(struct ata_host *h
|
||||
@@ -5966,7 +5989,23 @@ int ata_host_register(struct ata_host *h
|
||||
WARN_ON(1);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
@ -93,7 +93,7 @@ Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
|
||||
+#endif
|
||||
--- a/include/linux/skbuff.h
|
||||
+++ b/include/linux/skbuff.h
|
||||
@@ -4818,6 +4818,9 @@ enum skb_ext_id {
|
||||
@@ -4850,6 +4850,9 @@ enum skb_ext_id {
|
||||
#if IS_ENABLED(CONFIG_MCTP_FLOWS)
|
||||
SKB_EXT_MCTP,
|
||||
#endif
|
||||
|
||||
@ -18,7 +18,7 @@ Signed-off-by: Florian Maurer <f.maurer@outlook.com>
|
||||
|
||||
--- a/drivers/pci/controller/dwc/pcie-qcom.c
|
||||
+++ b/drivers/pci/controller/dwc/pcie-qcom.c
|
||||
@@ -207,11 +207,24 @@ struct qcom_pcie_resources_2_3_3 {
|
||||
@@ -206,11 +206,24 @@ struct qcom_pcie_resources_2_3_3 {
|
||||
};
|
||||
|
||||
#define QCOM_PCIE_2_4_0_MAX_RESETS 12
|
||||
@ -43,7 +43,7 @@ Signed-off-by: Florian Maurer <f.maurer@outlook.com>
|
||||
};
|
||||
|
||||
#define QCOM_PCIE_2_7_0_MAX_SUPPLIES 2
|
||||
@@ -711,12 +724,65 @@ static int qcom_pcie_post_init_2_3_2(str
|
||||
@@ -710,12 +723,65 @@ static int qcom_pcie_post_init_2_3_2(str
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -110,7 +110,7 @@ Signed-off-by: Florian Maurer <f.maurer@outlook.com>
|
||||
int ret;
|
||||
|
||||
res->num_clks = devm_clk_bulk_get_all(dev, &res->clks);
|
||||
@@ -755,6 +821,17 @@ static void qcom_pcie_deinit_2_4_0(struc
|
||||
@@ -754,6 +820,17 @@ static void qcom_pcie_deinit_2_4_0(struc
|
||||
clk_bulk_disable_unprepare(res->num_clks, res->clks);
|
||||
}
|
||||
|
||||
@ -128,7 +128,7 @@ Signed-off-by: Florian Maurer <f.maurer@outlook.com>
|
||||
static int qcom_pcie_init_2_4_0(struct qcom_pcie *pcie)
|
||||
{
|
||||
struct qcom_pcie_resources_2_4_0 *res = &pcie->res.v2_4_0;
|
||||
@@ -1337,6 +1414,16 @@ static const struct qcom_pcie_ops ops_2_
|
||||
@@ -1336,6 +1413,16 @@ static const struct qcom_pcie_ops ops_2_
|
||||
.ltssm_enable = qcom_pcie_2_3_2_ltssm_enable,
|
||||
};
|
||||
|
||||
@ -145,7 +145,7 @@ Signed-off-by: Florian Maurer <f.maurer@outlook.com>
|
||||
/* Qcom IP rev.: 2.3.3 Synopsys IP rev.: 4.30a */
|
||||
static const struct qcom_pcie_ops ops_2_3_3 = {
|
||||
.get_resources = qcom_pcie_get_resources_2_3_3,
|
||||
@@ -1405,6 +1492,10 @@ static const struct qcom_pcie_cfg cfg_2_
|
||||
@@ -1404,6 +1491,10 @@ static const struct qcom_pcie_cfg cfg_2_
|
||||
.ops = &ops_2_4_0,
|
||||
};
|
||||
|
||||
@ -156,7 +156,7 @@ Signed-off-by: Florian Maurer <f.maurer@outlook.com>
|
||||
static const struct qcom_pcie_cfg cfg_2_7_0 = {
|
||||
.ops = &ops_2_7_0,
|
||||
};
|
||||
@@ -1829,6 +1920,7 @@ static const struct of_device_id qcom_pc
|
||||
@@ -1827,6 +1918,7 @@ static const struct of_device_id qcom_pc
|
||||
{ .compatible = "qcom,pcie-apq8064", .data = &cfg_2_1_0 },
|
||||
{ .compatible = "qcom,pcie-apq8084", .data = &cfg_1_0_0 },
|
||||
{ .compatible = "qcom,pcie-ipq4019", .data = &cfg_2_4_0 },
|
||||
|
||||
@ -22,7 +22,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
|
||||
const char *partname;
|
||||
struct device_node *pp;
|
||||
int nr_parts, i, ret = 0;
|
||||
@@ -152,9 +155,15 @@ static int parse_fixed_partitions(struct
|
||||
@@ -159,9 +162,15 @@ static int parse_fixed_partitions(struct
|
||||
parts[i].size = of_read_number(reg + a_cells, s_cells);
|
||||
parts[i].of_node = pp;
|
||||
|
||||
@ -41,7 +41,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
|
||||
parts[i].name = partname;
|
||||
|
||||
if (of_property_read_bool(pp, "read-only"))
|
||||
@@ -271,6 +280,18 @@ static int __init ofpart_parser_init(voi
|
||||
@@ -283,6 +292,18 @@ static int __init ofpart_parser_init(voi
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@ -58,9 +58,9 @@ Signed-off-by: Mathias Kresin <openwrt@kresin.me>
|
||||
|
||||
/* Pull of_node from the master device node */
|
||||
mtd_node = mtd_get_of_node(master);
|
||||
@@ -98,6 +132,14 @@ static int parse_fixed_partitions(struct
|
||||
if (!parts)
|
||||
@@ -105,6 +139,14 @@ static int parse_fixed_partitions(struct
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
+ part_nodes = kcalloc(nr_parts, sizeof(*part_nodes), GFP_KERNEL);
|
||||
+ if (!part_nodes) {
|
||||
@ -73,7 +73,7 @@ Signed-off-by: Mathias Kresin <openwrt@kresin.me>
|
||||
i = 0;
|
||||
for_each_child_of_node(ofpart_node, pp) {
|
||||
const __be32 *reg;
|
||||
@@ -166,6 +208,11 @@ static int parse_fixed_partitions(struct
|
||||
@@ -173,6 +215,11 @@ static int parse_fixed_partitions(struct
|
||||
if (of_property_read_bool(pp, "slc-mode"))
|
||||
parts[i].add_flags |= MTD_SLC_ON_MLC_EMULATION;
|
||||
|
||||
@ -85,9 +85,9 @@ Signed-off-by: Mathias Kresin <openwrt@kresin.me>
|
||||
i++;
|
||||
}
|
||||
|
||||
@@ -175,6 +222,11 @@ static int parse_fixed_partitions(struct
|
||||
if (quirks && quirks->post_parse)
|
||||
quirks->post_parse(master, parts, nr_parts);
|
||||
@@ -185,6 +232,11 @@ static int parse_fixed_partitions(struct
|
||||
if (dedicated)
|
||||
of_node_put(ofpart_node);
|
||||
|
||||
+ if (proot_id)
|
||||
+ brnboot_set_active_root_part(parts, part_nodes, nr_parts, proot_id);
|
||||
@ -97,8 +97,8 @@ Signed-off-by: Mathias Kresin <openwrt@kresin.me>
|
||||
*pparts = parts;
|
||||
return nr_parts;
|
||||
|
||||
@@ -185,6 +237,7 @@ ofpart_fail:
|
||||
ofpart_none:
|
||||
@@ -197,6 +249,7 @@ ofpart_none:
|
||||
of_node_put(ofpart_node);
|
||||
of_node_put(pp);
|
||||
kfree(parts);
|
||||
+ kfree(part_nodes);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -24,7 +24,7 @@ Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
|
||||
obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
|
||||
--- a/drivers/mtd/nand/spi/core.c
|
||||
+++ b/drivers/mtd/nand/spi/core.c
|
||||
@@ -1163,6 +1163,7 @@ static const struct spinand_manufacturer
|
||||
@@ -1171,6 +1171,7 @@ static const struct spinand_manufacturer
|
||||
&esmt_c8_spinand_manufacturer,
|
||||
&etron_spinand_manufacturer,
|
||||
&fmsh_spinand_manufacturer,
|
||||
|
||||
@ -11,7 +11,7 @@ Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com>
|
||||
|
||||
--- a/drivers/spi/spi-mem.c
|
||||
+++ b/drivers/spi/spi-mem.c
|
||||
@@ -486,6 +486,14 @@ int spi_mem_exec_op(struct spi_mem *mem,
|
||||
@@ -497,6 +497,14 @@ int spi_mem_exec_op(struct spi_mem *mem,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(spi_mem_exec_op);
|
||||
|
||||
|
||||
@ -11,7 +11,7 @@ Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com>
|
||||
|
||||
--- a/drivers/mtd/nand/spi/core.c
|
||||
+++ b/drivers/mtd/nand/spi/core.c
|
||||
@@ -1201,6 +1201,56 @@ static int spinand_manufacturer_match(st
|
||||
@@ -1209,6 +1209,56 @@ static int spinand_manufacturer_match(st
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
@ -68,7 +68,7 @@ Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com>
|
||||
static int spinand_id_detect(struct spinand_device *spinand)
|
||||
{
|
||||
u8 *id = spinand->id.data;
|
||||
@@ -1454,6 +1504,10 @@ static int spinand_init(struct spinand_d
|
||||
@@ -1462,6 +1512,10 @@ static int spinand_init(struct spinand_d
|
||||
if (!spinand->scratchbuf)
|
||||
return -ENOMEM;
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@ Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com>
|
||||
|
||||
--- a/drivers/mtd/nand/spi/core.c
|
||||
+++ b/drivers/mtd/nand/spi/core.c
|
||||
@@ -1242,7 +1242,10 @@ static int spinand_cal_read(void *priv,
|
||||
@@ -1250,7 +1250,10 @@ static int spinand_cal_read(void *priv,
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@ Acked-by: Pali Rohár <pali@kernel.org>
|
||||
|
||||
--- a/drivers/pci/controller/pcie-mediatek.c
|
||||
+++ b/drivers/pci/controller/pcie-mediatek.c
|
||||
@@ -700,6 +700,13 @@ static int mtk_pcie_startup_port_v2(stru
|
||||
@@ -702,6 +702,13 @@ static int mtk_pcie_startup_port_v2(stru
|
||||
*/
|
||||
msleep(100);
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/drivers/pci/controller/pcie-mediatek.c
|
||||
+++ b/drivers/pci/controller/pcie-mediatek.c
|
||||
@@ -599,9 +599,9 @@ static void mtk_pcie_intr_handler(struct
|
||||
@@ -601,9 +601,9 @@ static void mtk_pcie_intr_handler(struct
|
||||
if (status & INTX_MASK) {
|
||||
for_each_set_bit_from(bit, &status, PCI_NUM_INTX + INTX_SHIFT) {
|
||||
/* Clear the INTx */
|
||||
|
||||
@ -61,7 +61,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
struct mtk_pcie_port;
|
||||
|
||||
/**
|
||||
@@ -1052,6 +1058,27 @@ static int mtk_pcie_setup(struct mtk_pci
|
||||
@@ -1054,6 +1060,27 @@ static int mtk_pcie_setup(struct mtk_pci
|
||||
struct mtk_pcie_port *port, *tmp;
|
||||
int err, slot;
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -29,7 +29,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
--- a/drivers/mtd/nand/spi/core.c
|
||||
+++ b/drivers/mtd/nand/spi/core.c
|
||||
@@ -1671,6 +1671,7 @@ static int spinand_remove(struct spi_mem
|
||||
@@ -1679,6 +1679,7 @@ static int spinand_remove(struct spi_mem
|
||||
|
||||
static const struct spi_device_id spinand_ids[] = {
|
||||
{ .name = "spi-nand" },
|
||||
@ -37,7 +37,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
{ /* sentinel */ },
|
||||
};
|
||||
MODULE_DEVICE_TABLE(spi, spinand_ids);
|
||||
@@ -1678,6 +1679,7 @@ MODULE_DEVICE_TABLE(spi, spinand_ids);
|
||||
@@ -1686,6 +1687,7 @@ MODULE_DEVICE_TABLE(spi, spinand_ids);
|
||||
#ifdef CONFIG_OF
|
||||
static const struct of_device_id spinand_of_ids[] = {
|
||||
{ .compatible = "spi-nand" },
|
||||
|
||||
@ -22,7 +22,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
|
||||
struct device_node *pp;
|
||||
int nr_parts, i, ret = 0;
|
||||
bool dedicated = true;
|
||||
@@ -152,9 +155,13 @@ static int parse_fixed_partitions(struct
|
||||
@@ -159,9 +162,13 @@ static int parse_fixed_partitions(struct
|
||||
parts[i].size = of_read_number(reg + a_cells, s_cells);
|
||||
parts[i].of_node = pp;
|
||||
|
||||
@ -39,7 +39,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
|
||||
parts[i].name = partname;
|
||||
|
||||
if (of_property_read_bool(pp, "read-only"))
|
||||
@@ -271,6 +278,18 @@ static int __init ofpart_parser_init(voi
|
||||
@@ -283,6 +290,18 @@ static int __init ofpart_parser_init(voi
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@ -26,7 +26,7 @@ Cc: Robert Marko <robert.marko@sartura.hr>
|
||||
|
||||
--- a/drivers/mfd/Kconfig
|
||||
+++ b/drivers/mfd/Kconfig
|
||||
@@ -2343,6 +2343,15 @@ config SGI_MFD_IOC3
|
||||
@@ -2367,6 +2367,15 @@ config SGI_MFD_IOC3
|
||||
If you have an SGI Origin, Octane, or a PCI IOC3 card,
|
||||
then say Y. Otherwise say N.
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
|
||||
|
||||
--- a/drivers/spi/spi-mem.c
|
||||
+++ b/drivers/spi/spi-mem.c
|
||||
@@ -930,7 +930,9 @@ static int spi_mem_probe(struct spi_devi
|
||||
@@ -950,7 +950,9 @@ static int spi_mem_probe(struct spi_devi
|
||||
{
|
||||
struct spi_mem_driver *memdrv = to_spi_mem_drv(spi->dev.driver);
|
||||
struct spi_controller *ctlr = spi->controller;
|
||||
@ -20,7 +20,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
|
||||
|
||||
mem = devm_kzalloc(&spi->dev, sizeof(*mem), GFP_KERNEL);
|
||||
if (!mem)
|
||||
@@ -938,10 +940,15 @@ static int spi_mem_probe(struct spi_devi
|
||||
@@ -958,10 +960,15 @@ static int spi_mem_probe(struct spi_devi
|
||||
|
||||
mem->spi = spi;
|
||||
|
||||
|
||||
@ -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 },
|
||||
|
||||
@ -22,7 +22,7 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
||||
|
||||
--- a/drivers/clk/qcom/gcc-ipq5018.c
|
||||
+++ b/drivers/clk/qcom/gcc-ipq5018.c
|
||||
@@ -3660,7 +3660,7 @@ static const struct qcom_reset_map gcc_i
|
||||
@@ -3661,7 +3661,7 @@ static const struct qcom_reset_map gcc_i
|
||||
[GCC_WCSS_AXI_S_ARES] = { 0x59008, 6 },
|
||||
[GCC_WCSS_Q6_BCR] = { 0x18004, 0 },
|
||||
[GCC_WCSSAON_RESET] = { 0x59010, 0},
|
||||
|
||||
@ -1,19 +0,0 @@
|
||||
From: George Moussalem <george.moussalem@outlook.com>
|
||||
Date: Tue, 21 Oct 2025 15:15:23 +0400
|
||||
Subject: [PATCH] clk: qcom: gcc-ipq5018: flag sleep clock as critical
|
||||
|
||||
The sleep clock never be disabled. To avoid the kernel trying to disable
|
||||
it and keep it always on, flag it as critical.
|
||||
|
||||
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
||||
---
|
||||
--- a/drivers/clk/qcom/gcc-ipq5018.c
|
||||
+++ b/drivers/clk/qcom/gcc-ipq5018.c
|
||||
@@ -1340,6 +1340,7 @@ static struct clk_branch gcc_sleep_clk_s
|
||||
.name = "gcc_sleep_clk_src",
|
||||
.parent_data = gcc_sleep_clk_data,
|
||||
.num_parents = ARRAY_SIZE(gcc_sleep_clk_data),
|
||||
+ .flags = CLK_IS_CRITICAL,
|
||||
.ops = &clk_branch2_ops,
|
||||
},
|
||||
},
|
||||
@ -31,7 +31,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
ifdef CONFIG_MDIO_DEVICE
|
||||
--- a/drivers/net/phy/phy_device.c
|
||||
+++ b/drivers/net/phy/phy_device.c
|
||||
@@ -1783,243 +1783,6 @@ bool phy_driver_is_genphy_10g(struct phy
|
||||
@@ -1781,243 +1781,6 @@ bool phy_driver_is_genphy_10g(struct phy
|
||||
EXPORT_SYMBOL_GPL(phy_driver_is_genphy_10g);
|
||||
|
||||
/**
|
||||
|
||||
@ -208,7 +208,7 @@ Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
|
||||
-TIMER_OF_DECLARE(systick, "ralink,cevt-systick", ralink_systick_init);
|
||||
--- a/drivers/clocksource/Kconfig
|
||||
+++ b/drivers/clocksource/Kconfig
|
||||
@@ -754,4 +754,13 @@ config EP93XX_TIMER
|
||||
@@ -755,4 +755,13 @@ config EP93XX_TIMER
|
||||
Enables support for the Cirrus Logic timer block
|
||||
EP93XX.
|
||||
|
||||
|
||||
@ -96,7 +96,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
}
|
||||
--- a/drivers/clocksource/Kconfig
|
||||
+++ b/drivers/clocksource/Kconfig
|
||||
@@ -753,10 +753,15 @@ config EP93XX_TIMER
|
||||
@@ -754,10 +754,15 @@ config EP93XX_TIMER
|
||||
help
|
||||
Enables support for the Cirrus Logic timer block
|
||||
EP93XX.
|
||||
|
||||
@ -214,7 +214,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
/* Mark the buffer as done if the EOF marker is set. */
|
||||
if (data[1] & UVC_STREAM_EOF && buf->bytesused != 0) {
|
||||
uvc_dbg(stream->dev, FRAME, "Frame complete (EOF found)\n");
|
||||
@@ -1937,6 +2082,8 @@ static int uvc_init_video_isoc(struct uv
|
||||
@@ -1938,6 +2083,8 @@ static int uvc_init_video_isoc(struct uv
|
||||
if (npackets == 0)
|
||||
return -ENOMEM;
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
|
||||
|
||||
--- a/drivers/net/phy/sfp.c
|
||||
+++ b/drivers/net/phy/sfp.c
|
||||
@@ -724,10 +724,64 @@ static int sfp_i2c_write(struct sfp *sfp
|
||||
@@ -728,10 +728,64 @@ static int sfp_i2c_write(struct sfp *sfp
|
||||
return ret == ARRAY_SIZE(msgs) ? len : 0;
|
||||
}
|
||||
|
||||
@ -77,7 +77,7 @@ Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
|
||||
|
||||
sfp->i2c = i2c;
|
||||
sfp->read = sfp_i2c_read;
|
||||
@@ -759,6 +813,29 @@ static int sfp_i2c_mdiobus_create(struct
|
||||
@@ -763,6 +817,29 @@ static int sfp_i2c_mdiobus_create(struct
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -107,7 +107,7 @@ Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
|
||||
static void sfp_i2c_mdiobus_destroy(struct sfp *sfp)
|
||||
{
|
||||
mdiobus_unregister(sfp->i2c_mii);
|
||||
@@ -1933,9 +2010,15 @@ static void sfp_sm_fault(struct sfp *sfp
|
||||
@@ -1937,9 +2014,15 @@ static void sfp_sm_fault(struct sfp *sfp
|
||||
|
||||
static int sfp_sm_add_mdio_bus(struct sfp *sfp)
|
||||
{
|
||||
|
||||
@ -32,7 +32,7 @@ Signed-off-by: Sander Vanheule <sander@svanheule.net>
|
||||
|
||||
--- a/drivers/mfd/Kconfig
|
||||
+++ b/drivers/mfd/Kconfig
|
||||
@@ -1195,6 +1195,15 @@ config MFD_RDC321X
|
||||
@@ -1219,6 +1219,15 @@ config MFD_RDC321X
|
||||
southbridge which provides access to GPIOs and Watchdog using the
|
||||
southbridge PCI device configuration space.
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -55,9 +55,9 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
|
||||
{
|
||||
--- a/include/ufs/ufshcd.h
|
||||
+++ b/include/ufs/ufshcd.h
|
||||
@@ -1368,6 +1368,8 @@ extern int ufshcd_system_thaw(struct dev
|
||||
@@ -1364,6 +1364,8 @@ extern int ufshcd_system_freeze(struct d
|
||||
extern int ufshcd_system_thaw(struct device *dev);
|
||||
extern int ufshcd_system_restore(struct device *dev);
|
||||
#endif
|
||||
|
||||
+extern int ufshcd_dme_reset(struct ufs_hba *hba);
|
||||
+extern int ufshcd_dme_enable(struct ufs_hba *hba);
|
||||
|
||||
@ -34,7 +34,7 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
|
||||
|
||||
--- a/drivers/ufs/host/Kconfig
|
||||
+++ b/drivers/ufs/host/Kconfig
|
||||
@@ -142,3 +142,15 @@ config SCSI_UFS_SPRD
|
||||
@@ -143,3 +143,15 @@ config SCSI_UFS_SPRD
|
||||
|
||||
Select this if you have UFS controller on Unisoc chipset.
|
||||
If unsure, say N.
|
||||
|
||||
@ -18,7 +18,7 @@ Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
|
||||
|
||||
--- a/drivers/spi/spi-mem.c
|
||||
+++ b/drivers/spi/spi-mem.c
|
||||
@@ -384,13 +384,19 @@ int spi_mem_exec_op(struct spi_mem *mem,
|
||||
@@ -395,13 +395,19 @@ int spi_mem_exec_op(struct spi_mem *mem,
|
||||
if (!spi_mem_internal_supports_op(mem, op))
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
|
||||
|
||||
--- a/drivers/clocksource/Kconfig
|
||||
+++ b/drivers/clocksource/Kconfig
|
||||
@@ -652,6 +652,17 @@ config RISCV_TIMER
|
||||
@@ -653,6 +653,17 @@ config RISCV_TIMER
|
||||
is accessed via both the SBI and the rdcycle instruction. This is
|
||||
required for all RISC-V systems.
|
||||
|
||||
|
||||
@ -21,9 +21,9 @@ Signed-off-by: William Qiu <william.qiu@starfivetech.com>
|
||||
clk_disable_unprepare(data->clk);
|
||||
|
||||
clk_disable_unprepare(data->pclk);
|
||||
@@ -727,6 +729,8 @@ static int dw8250_runtime_resume(struct
|
||||
|
||||
clk_prepare_enable(data->clk);
|
||||
@@ -734,6 +736,8 @@ static int dw8250_runtime_resume(struct
|
||||
return ret;
|
||||
}
|
||||
|
||||
+ reset_control_deassert(data->rst);
|
||||
+
|
||||
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Emil Renner Berthing <kernel@esmil.dk>
|
||||
|
||||
--- a/drivers/tty/serial/8250/8250_dw.c
|
||||
+++ b/drivers/tty/serial/8250/8250_dw.c
|
||||
@@ -770,6 +770,7 @@ static const struct of_device_id dw8250_
|
||||
@@ -777,6 +777,7 @@ static const struct of_device_id dw8250_
|
||||
{ .compatible = "marvell,armada-38x-uart", .data = &dw8250_armada_38x_data },
|
||||
{ .compatible = "renesas,rzn1-uart", .data = &dw8250_renesas_rzn1_data },
|
||||
{ .compatible = "sophgo,sg2044-uart", .data = &dw8250_skip_set_rate_data },
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user