]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
spi: atcspi200: switch to devm functions
authorFelix Gu <ustc.gu@gmail.com>
Thu, 16 Apr 2026 16:27:55 +0000 (00:27 +0800)
committerMark Brown <broonie@kernel.org>
Sun, 26 Apr 2026 23:32:55 +0000 (08:32 +0900)
Switch to use devm_spi_alloc_host and devm_mutex_init to make code clean.

Signed-off-by: Felix Gu <ustc.gu@gmail.com>
Link: https://patch.msgid.link/20260417-atcspi-v1-2-854831667d63@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-atcspi200.c

index c5cf1aa2d6743878ffb8cf08b33fe7c5877ec711..6d4b6aeb3f5b1209d07915a1b0e3673bb2dce31b 100644 (file)
@@ -550,7 +550,7 @@ static int atcspi_probe(struct platform_device *pdev)
        struct resource *mem_res;
        int ret;
 
-       host = spi_alloc_host(&pdev->dev, sizeof(*spi));
+       host = devm_spi_alloc_host(&pdev->dev, sizeof(*spi));
        if (!host)
                return -ENOMEM;
 
@@ -559,21 +559,23 @@ static int atcspi_probe(struct platform_device *pdev)
        spi->dev = &pdev->dev;
        dev_set_drvdata(&pdev->dev, host);
 
-       mutex_init(&spi->mutex_lock);
+       ret = devm_mutex_init(&pdev->dev, &spi->mutex_lock);
+       if (ret)
+               return ret;
 
        ret = atcspi_init_resources(pdev, spi, &mem_res);
        if (ret)
-               goto free_controller;
+               return ret;
 
        ret = atcspi_enable_clk(spi);
        if (ret)
-               goto free_controller;
+               return ret;
 
        atcspi_init_controller(pdev, spi, host, mem_res);
 
        ret = atcspi_setup(spi);
        if (ret)
-               goto free_controller;
+               return ret;
 
        spi->use_dma = false;
        if (ATCSPI_DMA_SUPPORT) {
@@ -586,18 +588,11 @@ static int atcspi_probe(struct platform_device *pdev)
        }
 
        ret = devm_spi_register_controller(&pdev->dev, host);
-       if (ret) {
-               dev_err_probe(spi->dev, ret,
-                             "Failed to register SPI controller\n");
-               goto free_controller;
-       }
+       if (ret)
+               return dev_err_probe(spi->dev, ret,
+                                    "Failed to register SPI controller\n");
 
        return 0;
-
-free_controller:
-       mutex_destroy(&spi->mutex_lock);
-       spi_controller_put(host);
-       return ret;
 }
 
 static int atcspi_suspend(struct device *dev)