summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShiji Yang2026-05-20 11:48:32 +0000
committerHauke Mehrtens2026-05-27 10:37:48 +0000
commit0eaee44870cb07991d670086c23959dab5cb3b1a (patch)
treeb421ef95b49d41099bda68db4fc7283e1acadf9e
parentddcf7553635f696fe61c5df67edcb178bbf39eda (diff)
downloadopenwrt-0eaee44870cb07991d670086c23959dab5cb3b1a.tar.gz
kernel: bump 6.12 to 6.12.90
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.90 All patches are automatically refreshed. Signed-off-by: Shiji Yang <yangshiji66@outlook.com> Link: https://github.com/openwrt/openwrt/pull/23444 (cherry picked from commit 979bad262981e610fa096f3db6534a172f232028) Link: https://github.com/openwrt/openwrt/pull/23538 [Updated and added starfive patches for spi-pl022] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
-rw-r--r--target/linux/generic/kernel-6.124
-rw-r--r--target/linux/generic/pending-6.12/103-kbuild-export-SUBARCH.patch2
-rw-r--r--target/linux/starfive/patches-6.12/0020-spi-pl022-starfive-Add-platform-bus-register-to-adap.patch16
-rw-r--r--target/linux/starfive/patches-6.12/0021-spi-pl022-starfive-Avoid-power-device-error-when-CON.patch8
-rw-r--r--target/linux/starfive/patches-6.12/0022-spi-pl022-starfive-fix-the-problem-of-spi-overlay-re.patch24
-rw-r--r--target/linux/starfive/patches-6.12/0023-spi-pl022-starfive-Enable-spi-to-be-compiled-into-mo.patch4
-rw-r--r--target/linux/starfive/patches-6.12/0025-spi-pl022-Fix-spi-overlay-falut.patch2
-rw-r--r--target/linux/starfive/patches-6.12/0031-spi-pl022-starfive-fix-controller-deregistration.patch40
8 files changed, 58 insertions, 42 deletions
diff --git a/target/linux/generic/kernel-6.12 b/target/linux/generic/kernel-6.12
index c3b7066ff5..9b244009cf 100644
--- a/target/linux/generic/kernel-6.12
+++ b/target/linux/generic/kernel-6.12
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.12 = .89
-LINUX_KERNEL_HASH-6.12.89 = 585afd804a9d2853a353dba5e3ac05627a8186cb1274668f151c0b10250799a0
+LINUX_VERSION-6.12 = .90
+LINUX_KERNEL_HASH-6.12.90 = 1f1a1ff057468b8a6284d3ce1d181278259beb5670ea16724c46dbf8820fa2a8
diff --git a/target/linux/generic/pending-6.12/103-kbuild-export-SUBARCH.patch b/target/linux/generic/pending-6.12/103-kbuild-export-SUBARCH.patch
index 595b529e72..f11976b9e3 100644
--- a/target/linux/generic/pending-6.12/103-kbuild-export-SUBARCH.patch
+++ b/target/linux/generic/pending-6.12/103-kbuild-export-SUBARCH.patch
@@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/Makefile
+++ b/Makefile
-@@ -591,7 +591,7 @@ export RUSTC_BOOTSTRAP := 1
+@@ -593,7 +593,7 @@ export RUSTC_BOOTSTRAP := 1
# Allows finding `.clippy.toml` in out-of-srctree builds.
export CLIPPY_CONF_DIR := $(srctree)
diff --git a/target/linux/starfive/patches-6.12/0020-spi-pl022-starfive-Add-platform-bus-register-to-adap.patch b/target/linux/starfive/patches-6.12/0020-spi-pl022-starfive-Add-platform-bus-register-to-adap.patch
index 6c0f51eaa9..ad644ade4c 100644
--- a/target/linux/starfive/patches-6.12/0020-spi-pl022-starfive-Add-platform-bus-register-to-adap.patch
+++ b/target/linux/starfive/patches-6.12/0020-spi-pl022-starfive-Add-platform-bus-register-to-adap.patch
@@ -106,19 +106,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
0, "pl022", pl022);
if (status < 0) {
dev_err(&adev->dev, "probe - cannot get IRQ (%d)\n", status);
-@@ -1975,7 +2009,10 @@ static int pl022_probe(struct amba_devic
-
- /* Register with the SPI framework */
- amba_set_drvdata(adev, pl022);
-- status = devm_spi_register_controller(&adev->dev, host);
-+ if (platform_flag)
-+ status = spi_register_controller(host);
-+ else
-+ status = devm_spi_register_controller(&adev->dev, host);
- if (status != 0) {
- dev_err_probe(&adev->dev, status,
- "problem registering spi host\n");
-@@ -2000,13 +2037,24 @@ static int pl022_probe(struct amba_devic
+@@ -2000,13 +2034,24 @@ static int pl022_probe(struct amba_devic
if (platform_info->enable_dma)
pl022_dma_remove(pl022);
err_no_irq:
@@ -143,7 +131,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
return status;
}
-@@ -2205,6 +2253,89 @@ static void __exit pl022_exit(void)
+@@ -2211,6 +2256,89 @@ static void __exit pl022_exit(void)
}
module_exit(pl022_exit);
diff --git a/target/linux/starfive/patches-6.12/0021-spi-pl022-starfive-Avoid-power-device-error-when-CON.patch b/target/linux/starfive/patches-6.12/0021-spi-pl022-starfive-Avoid-power-device-error-when-CON.patch
index a2ec87131c..fdb7edc325 100644
--- a/target/linux/starfive/patches-6.12/0021-spi-pl022-starfive-Avoid-power-device-error-when-CON.patch
+++ b/target/linux/starfive/patches-6.12/0021-spi-pl022-starfive-Avoid-power-device-error-when-CON.patch
@@ -26,7 +26,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
/*
* This macro is used to define some register default values.
-@@ -2019,7 +2021,8 @@ static int pl022_probe(struct amba_devic
+@@ -2016,7 +2018,8 @@ static int pl022_probe(struct amba_devic
goto err_spi_register;
}
dev_dbg(dev, "probe succeeded\n");
@@ -36,7 +36,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
/* let runtime pm put suspend */
if (platform_info->autosuspend_delay > 0) {
dev_info(&adev->dev,
-@@ -2029,7 +2032,10 @@ static int pl022_probe(struct amba_devic
+@@ -2026,7 +2029,10 @@ static int pl022_probe(struct amba_devic
platform_info->autosuspend_delay);
pm_runtime_use_autosuspend(dev);
}
@@ -48,7 +48,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
return 0;
-@@ -2283,8 +2289,33 @@ static int starfive_of_pl022_probe(struc
+@@ -2286,8 +2292,33 @@ static int starfive_of_pl022_probe(struc
ret = -EINVAL;
}
@@ -82,7 +82,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
return ret;
}
-@@ -2314,6 +2345,7 @@ static void starfive_of_pl022_remove(str
+@@ -2317,6 +2348,7 @@ static void starfive_of_pl022_remove(str
size = resource_size(pdev->resource);
release_mem_region(pdev->resource->start, size);
diff --git a/target/linux/starfive/patches-6.12/0022-spi-pl022-starfive-fix-the-problem-of-spi-overlay-re.patch b/target/linux/starfive/patches-6.12/0022-spi-pl022-starfive-fix-the-problem-of-spi-overlay-re.patch
index 15b84adeef..18c90c0253 100644
--- a/target/linux/starfive/patches-6.12/0022-spi-pl022-starfive-fix-the-problem-of-spi-overlay-re.patch
+++ b/target/linux/starfive/patches-6.12/0022-spi-pl022-starfive-fix-the-problem-of-spi-overlay-re.patch
@@ -250,19 +250,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
0, "pl022", pl022);
if (status < 0) {
dev_err(&adev->dev, "probe - cannot get IRQ (%d)\n", status);
-@@ -2011,18 +2138,16 @@ static int pl022_probe(struct amba_devic
-
- /* Register with the SPI framework */
- amba_set_drvdata(adev, pl022);
-- if (platform_flag)
-- status = spi_register_controller(host);
-- else
-- status = devm_spi_register_controller(&adev->dev, host);
-+
-+ status = devm_spi_register_controller(&adev->dev, host);
- if (status != 0) {
- dev_err_probe(&adev->dev, status,
- "problem registering spi host\n");
+@@ -2018,8 +2145,8 @@ static int pl022_probe(struct amba_devic
goto err_spi_register;
}
dev_dbg(dev, "probe succeeded\n");
@@ -273,7 +261,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
/* let runtime pm put suspend */
if (platform_info->autosuspend_delay > 0) {
dev_info(&adev->dev,
-@@ -2032,10 +2157,8 @@ static int pl022_probe(struct amba_devic
+@@ -2029,10 +2156,8 @@ static int pl022_probe(struct amba_devic
platform_info->autosuspend_delay);
pm_runtime_use_autosuspend(dev);
}
@@ -286,7 +274,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
return 0;
-@@ -2043,24 +2166,15 @@ static int pl022_probe(struct amba_devic
+@@ -2040,24 +2165,15 @@ static int pl022_probe(struct amba_devic
if (platform_info->enable_dma)
pl022_dma_remove(pl022);
err_no_irq:
@@ -312,7 +300,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
return status;
}
-@@ -2272,23 +2386,8 @@ static int starfive_of_pl022_probe(struc
+@@ -2275,23 +2391,8 @@ static int starfive_of_pl022_probe(struc
.mask = 0x000fffff,
.data = &vendor_arm
};
@@ -336,7 +324,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
ret = of_clk_set_defaults(dev->of_node, false);
if (ret < 0)
goto err_probe;
-@@ -2297,16 +2396,11 @@ static int starfive_of_pl022_probe(struc
+@@ -2300,16 +2401,11 @@ static int starfive_of_pl022_probe(struc
if (ret)
goto err_probe;
@@ -357,7 +345,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
if (ret) {
pm_runtime_disable(dev);
-@@ -2321,31 +2415,25 @@ err_probe:
+@@ -2324,31 +2420,25 @@ err_probe:
static void starfive_of_pl022_remove(struct platform_device *pdev)
{
diff --git a/target/linux/starfive/patches-6.12/0023-spi-pl022-starfive-Enable-spi-to-be-compiled-into-mo.patch b/target/linux/starfive/patches-6.12/0023-spi-pl022-starfive-Enable-spi-to-be-compiled-into-mo.patch
index 661a2ea9aa..1ee0fc0c93 100644
--- a/target/linux/starfive/patches-6.12/0023-spi-pl022-starfive-Enable-spi-to-be-compiled-into-mo.patch
+++ b/target/linux/starfive/patches-6.12/0023-spi-pl022-starfive-Enable-spi-to-be-compiled-into-mo.patch
@@ -14,7 +14,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
--- a/drivers/spi/spi-pl022.c
+++ b/drivers/spi/spi-pl022.c
-@@ -2365,7 +2365,11 @@ static int __init pl022_init(void)
+@@ -2370,7 +2370,11 @@ static int __init pl022_init(void)
{
return amba_driver_register(&pl022_driver);
}
@@ -26,7 +26,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
static void __exit pl022_exit(void)
{
-@@ -2452,7 +2456,9 @@ static struct platform_driver starfive_o
+@@ -2457,7 +2461,9 @@ static struct platform_driver starfive_o
.remove = starfive_of_pl022_remove,
};
diff --git a/target/linux/starfive/patches-6.12/0025-spi-pl022-Fix-spi-overlay-falut.patch b/target/linux/starfive/patches-6.12/0025-spi-pl022-Fix-spi-overlay-falut.patch
index 4d0f276230..ee273b8942 100644
--- a/target/linux/starfive/patches-6.12/0025-spi-pl022-Fix-spi-overlay-falut.patch
+++ b/target/linux/starfive/patches-6.12/0025-spi-pl022-Fix-spi-overlay-falut.patch
@@ -22,7 +22,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
host->handle_err = pl022_handle_err;
host->unprepare_transfer_hardware = pl022_unprepare_transfer_hardware;
host->rt = platform_info->rt;
-@@ -2435,8 +2434,6 @@ static void starfive_of_pl022_remove(str
+@@ -2440,8 +2439,6 @@ static void starfive_of_pl022_remove(str
if (pl022->host_info->enable_dma)
pl022_dma_remove(pl022);
diff --git a/target/linux/starfive/patches-6.12/0031-spi-pl022-starfive-fix-controller-deregistration.patch b/target/linux/starfive/patches-6.12/0031-spi-pl022-starfive-fix-controller-deregistration.patch
new file mode 100644
index 0000000000..18eec88769
--- /dev/null
+++ b/target/linux/starfive/patches-6.12/0031-spi-pl022-starfive-fix-controller-deregistration.patch
@@ -0,0 +1,40 @@
+From: Zhihao Xu <ngc7331@outlook.com>
+Date: Mon, 18 May 2026 14:03:55 +0800
+Subject: [PATCH] spi-pl022-starfive: fix controller deregistration
+
+Use manually managed spi_register_controller instead of device managed.
+
+Link: https://lore.kernel.org/all/20260410081757.503099-1-johan@kernel.org/
+
+Signed-off-by: Zhihao Xu <ngc7331@outlook.com>
+--- a/drivers/spi/spi-pl022.c
++++ b/drivers/spi/spi-pl022.c
+@@ -1994,7 +1994,7 @@ static int pl022_platform_probe(struct p
+ /* Register with the SPI framework */
+ dev_set_drvdata(dev, pl022);
+
+- status = devm_spi_register_controller(dev, host);
++ status = spi_register_controller(host);
+ if (status != 0) {
+ dev_err(dev,
+ "probe - problem registering spi host\n");
+@@ -2432,6 +2432,10 @@ static void starfive_of_pl022_remove(str
+ if (!pl022)
+ return;
+
++ spi_controller_get(pl022->host);
++
++ spi_unregister_controller(pl022->host);
++
+ pm_runtime_get_sync(&pdev->dev);
+ pm_runtime_get_noresume(&pdev->dev);
+
+@@ -2444,6 +2448,8 @@ static void starfive_of_pl022_remove(str
+ pm_runtime_set_suspended(&pdev->dev);
+ pm_runtime_put_noidle(&pdev->dev);
+ dev_pm_domain_detach(&pdev->dev, true);
++
++ spi_controller_put(pl022->host);
+ }
+
+ static const struct of_device_id starfive_of_pl022_match[] = {