mirror of
https://github.com/openwrt/openwrt.git
synced 2026-06-17 12:40:16 +04:00
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 979bad2629)
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>
This commit is contained in:
committed by
Hauke Mehrtens
parent
ddcf755363
commit
0eaee44870
@@ -1,2 +1,2 @@
|
|||||||
LINUX_VERSION-6.12 = .89
|
LINUX_VERSION-6.12 = .90
|
||||||
LINUX_KERNEL_HASH-6.12.89 = 585afd804a9d2853a353dba5e3ac05627a8186cb1274668f151c0b10250799a0
|
LINUX_KERNEL_HASH-6.12.90 = 1f1a1ff057468b8a6284d3ce1d181278259beb5670ea16724c46dbf8820fa2a8
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
--- a/Makefile
|
--- a/Makefile
|
||||||
+++ b/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.
|
# Allows finding `.clippy.toml` in out-of-srctree builds.
|
||||||
export CLIPPY_CONF_DIR := $(srctree)
|
export CLIPPY_CONF_DIR := $(srctree)
|
||||||
|
|
||||||
|
|||||||
+2
-14
@@ -106,19 +106,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
|
|||||||
0, "pl022", pl022);
|
0, "pl022", pl022);
|
||||||
if (status < 0) {
|
if (status < 0) {
|
||||||
dev_err(&adev->dev, "probe - cannot get IRQ (%d)\n", status);
|
dev_err(&adev->dev, "probe - cannot get IRQ (%d)\n", status);
|
||||||
@@ -1975,7 +2009,10 @@ static int pl022_probe(struct amba_devic
|
@@ -2000,13 +2034,24 @@ 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
|
|
||||||
if (platform_info->enable_dma)
|
if (platform_info->enable_dma)
|
||||||
pl022_dma_remove(pl022);
|
pl022_dma_remove(pl022);
|
||||||
err_no_irq:
|
err_no_irq:
|
||||||
@@ -143,7 +131,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
|
|||||||
return status;
|
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);
|
module_exit(pl022_exit);
|
||||||
|
|
||||||
|
|||||||
+4
-4
@@ -26,7 +26,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* This macro is used to define some register default values.
|
* 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;
|
goto err_spi_register;
|
||||||
}
|
}
|
||||||
dev_dbg(dev, "probe succeeded\n");
|
dev_dbg(dev, "probe succeeded\n");
|
||||||
@@ -36,7 +36,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
|
|||||||
/* let runtime pm put suspend */
|
/* let runtime pm put suspend */
|
||||||
if (platform_info->autosuspend_delay > 0) {
|
if (platform_info->autosuspend_delay > 0) {
|
||||||
dev_info(&adev->dev,
|
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);
|
platform_info->autosuspend_delay);
|
||||||
pm_runtime_use_autosuspend(dev);
|
pm_runtime_use_autosuspend(dev);
|
||||||
}
|
}
|
||||||
@@ -48,7 +48,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
|
|||||||
|
|
||||||
return 0;
|
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;
|
ret = -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -82,7 +82,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
|
|||||||
return ret;
|
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);
|
size = resource_size(pdev->resource);
|
||||||
release_mem_region(pdev->resource->start, size);
|
release_mem_region(pdev->resource->start, size);
|
||||||
|
|||||||
+6
-18
@@ -250,19 +250,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
|
|||||||
0, "pl022", pl022);
|
0, "pl022", pl022);
|
||||||
if (status < 0) {
|
if (status < 0) {
|
||||||
dev_err(&adev->dev, "probe - cannot get IRQ (%d)\n", status);
|
dev_err(&adev->dev, "probe - cannot get IRQ (%d)\n", status);
|
||||||
@@ -2011,18 +2138,16 @@ static int pl022_probe(struct amba_devic
|
@@ -2018,8 +2145,8 @@ 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");
|
|
||||||
goto err_spi_register;
|
goto err_spi_register;
|
||||||
}
|
}
|
||||||
dev_dbg(dev, "probe succeeded\n");
|
dev_dbg(dev, "probe succeeded\n");
|
||||||
@@ -273,7 +261,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
|
|||||||
/* let runtime pm put suspend */
|
/* let runtime pm put suspend */
|
||||||
if (platform_info->autosuspend_delay > 0) {
|
if (platform_info->autosuspend_delay > 0) {
|
||||||
dev_info(&adev->dev,
|
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);
|
platform_info->autosuspend_delay);
|
||||||
pm_runtime_use_autosuspend(dev);
|
pm_runtime_use_autosuspend(dev);
|
||||||
}
|
}
|
||||||
@@ -286,7 +274,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
|
|||||||
|
|
||||||
return 0;
|
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)
|
if (platform_info->enable_dma)
|
||||||
pl022_dma_remove(pl022);
|
pl022_dma_remove(pl022);
|
||||||
err_no_irq:
|
err_no_irq:
|
||||||
@@ -312,7 +300,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
|
|||||||
return status;
|
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,
|
.mask = 0x000fffff,
|
||||||
.data = &vendor_arm
|
.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);
|
ret = of_clk_set_defaults(dev->of_node, false);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto err_probe;
|
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)
|
if (ret)
|
||||||
goto err_probe;
|
goto err_probe;
|
||||||
|
|
||||||
@@ -357,7 +345,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
|
|||||||
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
pm_runtime_disable(dev);
|
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)
|
static void starfive_of_pl022_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
|
|||||||
+2
-2
@@ -14,7 +14,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
|
|||||||
|
|
||||||
--- a/drivers/spi/spi-pl022.c
|
--- a/drivers/spi/spi-pl022.c
|
||||||
+++ b/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);
|
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)
|
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,
|
.remove = starfive_of_pl022_remove,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
|
|||||||
host->handle_err = pl022_handle_err;
|
host->handle_err = pl022_handle_err;
|
||||||
host->unprepare_transfer_hardware = pl022_unprepare_transfer_hardware;
|
host->unprepare_transfer_hardware = pl022_unprepare_transfer_hardware;
|
||||||
host->rt = platform_info->rt;
|
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)
|
if (pl022->host_info->enable_dma)
|
||||||
pl022_dma_remove(pl022);
|
pl022_dma_remove(pl022);
|
||||||
|
|
||||||
|
|||||||
+40
@@ -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[] = {
|
||||||
Reference in New Issue
Block a user