]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
kernel: bump 6.18 to 6.18.32
authorJohn Audia <therealgraysky@proton.me>
Sun, 17 May 2026 19:59:06 +0000 (15:59 -0400)
committerHauke Mehrtens <hauke@hauke-m.de>
Mon, 25 May 2026 19:04:53 +0000 (21:04 +0200)
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.32

Manually refreshed[1]:
  starfive/patches-6.18/0020-spi-pl022-starfive-Add-platform-bus-register-to-adap.patch
  starfive/patches-6.18/0022-spi-pl022-starfive-fix-the-problem-of-spi-overlay-re.patch
  starfive/patches-6.18/0031-spi-pl022-starfive-fix-controller-deregistration.patch

No patches automatically rebased via update_kernel.sh

Build system: x86/64
Build-tested: x86/64-glibc
Run-tested: x86/64-glibc

1. https://github.com/ngc7331/openwrt/commit/72360971c18d29b069871f744067e53ca51541ce

Co-authored-by: Zhihao Xu <ngc7331@outlook.com>
Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/23419
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
target/linux/generic/kernel-6.18
target/linux/starfive/patches-6.18/0020-spi-pl022-starfive-Add-platform-bus-register-to-adap.patch
target/linux/starfive/patches-6.18/0021-spi-pl022-starfive-Avoid-power-device-error-when-CON.patch
target/linux/starfive/patches-6.18/0022-spi-pl022-starfive-fix-the-problem-of-spi-overlay-re.patch
target/linux/starfive/patches-6.18/0023-spi-pl022-starfive-Enable-spi-to-be-compiled-into-mo.patch
target/linux/starfive/patches-6.18/0025-spi-pl022-Fix-spi-overlay-falut.patch
target/linux/starfive/patches-6.18/0031-spi-pl022-starfive-fix-controller-deregistration.patch [new file with mode: 0644]

index 87cfaee22de20260e0751370f9f27d54f35728fb..65211c6073b39ca9a0f396421cab045ba733e53e 100644 (file)
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.18 = .31
-LINUX_KERNEL_HASH-6.18.31 = a0a0b86d485d409cfcc6be3fe85cdf23b8a5996b78d7a232c0e03d2a8bf258b6
+LINUX_VERSION-6.18 = .32
+LINUX_KERNEL_HASH-6.18.32 = 067dadd445578284ea6158f312f7970d8940fed3e094dbe49cff66d188d3bda4
index 4e8d2f81fab58de61d0d89ae3cea546cb22e26f4..b50e9c737a640a5edfb30adb5f9108bacfe01f83 100644 (file)
@@ -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);
-@@ -1972,7 +2006,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");
-@@ -1997,13 +2034,24 @@ static int pl022_probe(struct amba_devic
+@@ -1997,13 +2031,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;
  }
  
-@@ -2202,6 +2250,89 @@ static void __exit pl022_exit(void)
+@@ -2208,6 +2253,89 @@ static void __exit pl022_exit(void)
  }
  module_exit(pl022_exit);
  
index 256cc276782028fd09fc78b6171920c20a6e358f..291e2ac137cb9202bed1e94f31d45e75316cb889 100644 (file)
@@ -26,7 +26,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
  
  /*
   * This macro is used to define some register default values.
-@@ -2016,7 +2018,8 @@ static int pl022_probe(struct amba_devic
+@@ -2013,7 +2015,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,
-@@ -2026,7 +2029,10 @@ static int pl022_probe(struct amba_devic
+@@ -2023,7 +2026,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;
  
-@@ -2280,8 +2286,33 @@ static int starfive_of_pl022_probe(struc
+@@ -2283,8 +2289,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;
  }
  
-@@ -2311,6 +2342,7 @@ static void starfive_of_pl022_remove(str
+@@ -2314,6 +2345,7 @@ static void starfive_of_pl022_remove(str
  
        size = resource_size(pdev->resource);
        release_mem_region(pdev->resource->start, size);
index 9fb5e91fb1a04370ee19becd769173be742fe38a..a237fe24a935c501e8264ce7088b00959f06ab95 100644 (file)
@@ -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);
-@@ -2008,18 +2135,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");
+@@ -2015,8 +2142,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,
-@@ -2029,10 +2154,8 @@ static int pl022_probe(struct amba_devic
+@@ -2026,10 +2153,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;
  
-@@ -2040,24 +2163,15 @@ static int pl022_probe(struct amba_devic
+@@ -2037,24 +2162,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;
  }
  
-@@ -2269,23 +2383,8 @@ static int starfive_of_pl022_probe(struc
+@@ -2272,23 +2388,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;
-@@ -2294,16 +2393,11 @@ static int starfive_of_pl022_probe(struc
+@@ -2297,16 +2398,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);
-@@ -2318,31 +2412,25 @@ err_probe:
+@@ -2321,31 +2417,25 @@ err_probe:
  
  static void starfive_of_pl022_remove(struct platform_device *pdev)
  {
index 00f8ae879bd17b0dd7accaf63fa2eab60e1bbccd..95a9ce3d3196d2bbc1c2558cafaa9db517de2e63 100644 (file)
@@ -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
-@@ -2362,7 +2362,11 @@ static int __init pl022_init(void)
+@@ -2367,7 +2367,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)
  {
-@@ -2449,7 +2453,9 @@ static struct platform_driver starfive_o
+@@ -2454,7 +2458,9 @@ static struct platform_driver starfive_o
        .remove = starfive_of_pl022_remove,
  };
  
index 906cec0911ddc9248949a7f77362260b49ea7e61..e69bd770dd804398d78666d11c3389ff65124678 100644 (file)
@@ -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;
-@@ -2432,8 +2431,6 @@ static void starfive_of_pl022_remove(str
+@@ -2437,8 +2436,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.18/0031-spi-pl022-starfive-fix-controller-deregistration.patch b/target/linux/starfive/patches-6.18/0031-spi-pl022-starfive-fix-controller-deregistration.patch
new file mode 100644 (file)
index 0000000..925c53f
--- /dev/null
@@ -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
+@@ -1991,7 +1991,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");
+@@ -2429,6 +2429,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);
+@@ -2441,6 +2445,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[] = {