summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2026-04-27 08:32:56 +0900
committerMark Brown <broonie@kernel.org>2026-04-27 08:32:56 +0900
commit43b0b44b31632d285327bbc9fa8d64ba8f328d48 (patch)
tree0550a4441ef5632fc78195d38551a5066c3db41f
parent8ef578fd33d05b34739e5db01db9d950a546339e (diff)
parentaaea50c3bd768d03ee791b7428ac9b264777b6d7 (diff)
downloadlinux-43b0b44b31632d285327bbc9fa8d64ba8f328d48.tar.gz
linux-43b0b44b31632d285327bbc9fa8d64ba8f328d48.zip
spi: atcspi200: two cleanup
Link: https://patch.msgid.link/20260417-atcspi-v1-0-854831667d63@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--drivers/spi/spi-atcspi200.c28
1 files changed, 12 insertions, 16 deletions
diff --git a/drivers/spi/spi-atcspi200.c b/drivers/spi/spi-atcspi200.c
index 3832d9db3cbf..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,28 +559,24 @@ 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;
- 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;
- }
spi->use_dma = false;
if (ATCSPI_DMA_SUPPORT) {
ret = atcspi_configure_dma(spi);
@@ -591,12 +587,12 @@ static int atcspi_probe(struct platform_device *pdev)
spi->use_dma = true;
}
- return 0;
+ ret = devm_spi_register_controller(&pdev->dev, host);
+ if (ret)
+ return dev_err_probe(spi->dev, ret,
+ "Failed to register SPI controller\n");
-free_controller:
- mutex_destroy(&spi->mutex_lock);
- spi_controller_put(host);
- return ret;
+ return 0;
}
static int atcspi_suspend(struct device *dev)