[PATCH 2/2] spi: atcspi200: switch to devm functions

From: Felix Gu

Date: Thu Apr 16 2026 - 12:28:19 EST


Switch to use devm_spi_alloc_host and devm_mutex_init to make code clean.

Signed-off-by: Felix Gu <ustc.gu@xxxxxxxxx>
---
drivers/spi/spi-atcspi200.c | 25 ++++++++++---------------
1 file changed, 10 insertions(+), 15 deletions(-)

diff --git a/drivers/spi/spi-atcspi200.c b/drivers/spi/spi-atcspi200.c
index c5cf1aa2d674..6d4b6aeb3f5b 100644
--- a/drivers/spi/spi-atcspi200.c
+++ b/drivers/spi/spi-atcspi200.c
@@ -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)

--
2.43.0