]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
spi: meson-spifc: switch to managed controller allocation
authorJohan Hovold <johan@kernel.org>
Mon, 11 May 2026 15:04:06 +0000 (17:04 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 18 May 2026 09:19:50 +0000 (10:19 +0100)
Switch to device managed controller allocation for consistency and to
simplify error handling.

Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://patch.msgid.link/20260511150408.796155-11-johan@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-meson-spifc.c

index b818950a8cb7d1aee2ba82e418d84753ef9d7717..d700fa3152231afecdd255091a6a49540230f786 100644 (file)
@@ -288,9 +288,9 @@ static int meson_spifc_probe(struct platform_device *pdev)
        struct meson_spifc *spifc;
        void __iomem *base;
        unsigned int rate;
-       int ret = 0;
+       int ret;
 
-       host = spi_alloc_host(&pdev->dev, sizeof(struct meson_spifc));
+       host = devm_spi_alloc_host(&pdev->dev, sizeof(struct meson_spifc));
        if (!host)
                return -ENOMEM;
 
@@ -300,23 +300,18 @@ static int meson_spifc_probe(struct platform_device *pdev)
        spifc->dev = &pdev->dev;
 
        base = devm_platform_ioremap_resource(pdev, 0);
-       if (IS_ERR(base)) {
-               ret = PTR_ERR(base);
-               goto out_err;
-       }
+       if (IS_ERR(base))
+               return PTR_ERR(base);
 
        spifc->regmap = devm_regmap_init_mmio(spifc->dev, base,
                                              &spifc_regmap_config);
-       if (IS_ERR(spifc->regmap)) {
-               ret = PTR_ERR(spifc->regmap);
-               goto out_err;
-       }
+       if (IS_ERR(spifc->regmap))
+               return PTR_ERR(spifc->regmap);
 
        spifc->clk = devm_clk_get_enabled(spifc->dev, NULL);
        if (IS_ERR(spifc->clk)) {
                dev_err(spifc->dev, "missing clock\n");
-               ret = PTR_ERR(spifc->clk);
-               goto out_err;
+               return PTR_ERR(spifc->clk);
        }
 
        rate = clk_get_rate(spifc->clk);
@@ -342,8 +337,7 @@ static int meson_spifc_probe(struct platform_device *pdev)
        return 0;
 out_pm:
        pm_runtime_disable(spifc->dev);
-out_err:
-       spi_controller_put(host);
+
        return ret;
 }