[PATCH 07/12] spi: jcore: switch to managed controller allocation

From: Johan Hovold

Date: Mon May 11 2026 - 11:25:32 EST


Switch to device managed controller allocation for consistency and to
simplify error handling.

Signed-off-by: Johan Hovold <johan@xxxxxxxxxx>
---
drivers/spi/spi-jcore.c | 23 ++++++-----------------
1 file changed, 6 insertions(+), 17 deletions(-)

diff --git a/drivers/spi/spi-jcore.c b/drivers/spi/spi-jcore.c
index e37ca22e04ba..a75cd61ec7a3 100644
--- a/drivers/spi/spi-jcore.c
+++ b/drivers/spi/spi-jcore.c
@@ -146,11 +146,10 @@ static int jcore_spi_probe(struct platform_device *pdev)
struct resource *res;
u32 clock_freq;
struct clk *clk;
- int err = -ENODEV;

- host = spi_alloc_host(&pdev->dev, sizeof(struct jcore_spi));
+ host = devm_spi_alloc_host(&pdev->dev, sizeof(struct jcore_spi));
if (!host)
- return err;
+ return -ENOMEM;

/* Setup the host state. */
host->num_chipselect = 3;
@@ -167,14 +166,14 @@ static int jcore_spi_probe(struct platform_device *pdev)
/* Find and map our resources */
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!res)
- goto exit_busy;
+ return -EBUSY;
if (!devm_request_mem_region(&pdev->dev, res->start,
resource_size(res), pdev->name))
- goto exit_busy;
+ return -EBUSY;
hw->base = devm_ioremap(&pdev->dev, res->start,
resource_size(res));
if (!hw->base)
- goto exit_busy;
+ return -EBUSY;

/*
* The SPI clock rate controlled via a configurable clock divider
@@ -200,17 +199,7 @@ static int jcore_spi_probe(struct platform_device *pdev)
jcore_spi_baudrate(hw, 400000);

/* Register our spi controller */
- err = devm_spi_register_controller(&pdev->dev, host);
- if (err)
- goto exit;
-
- return 0;
-
-exit_busy:
- err = -EBUSY;
-exit:
- spi_controller_put(host);
- return err;
+ return devm_spi_register_controller(&pdev->dev, host);
}

static const struct of_device_id jcore_spi_of_match[] = {
--
2.53.0