diff options
author | Andi Shyti <andi.shyti@kernel.org> | 2023-06-06 03:20:50 +0200 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2023-06-06 14:53:38 +0200 |
commit | 76fbad410c0fed0c203c22e7e5ef8455725f3338 (patch) | |
tree | c72d8a3ff94376ea39cb932b897e638fe965da4b /drivers/spi | |
parent | spi: spl022: Probe defer is no error (diff) | |
download | linux-76fbad410c0fed0c203c22e7e5ef8455725f3338.tar.xz linux-76fbad410c0fed0c203c22e7e5ef8455725f3338.zip |
spi: s3c64xx: Use the managed spi master allocation function
Use devm_spi_alloc_master() and get rid of one goto error path
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Link: https://lore.kernel.org/r/20230606012051.2139333-2-andi.shyti@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/spi')
-rw-r--r-- | drivers/spi/spi-s3c64xx.c | 26 |
1 files changed, 8 insertions, 18 deletions
diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c index d5ec32bda158..787a89c04686 100644 --- a/drivers/spi/spi-s3c64xx.c +++ b/drivers/spi/spi-s3c64xx.c @@ -1177,8 +1177,7 @@ static int s3c64xx_spi_probe(struct platform_device *pdev) return irq; } - master = spi_alloc_master(&pdev->dev, - sizeof(struct s3c64xx_spi_driver_data)); + master = devm_spi_alloc_master(&pdev->dev, sizeof(*sdd)); if (master == NULL) { dev_err(&pdev->dev, "Unable to allocate SPI Master\n"); return -ENOMEM; @@ -1197,7 +1196,7 @@ static int s3c64xx_spi_probe(struct platform_device *pdev) if (ret < 0) { dev_err(&pdev->dev, "failed to get alias id, errno %d\n", ret); - goto err_deref_master; + return ret; } sdd->port_id = ret; } else { @@ -1232,23 +1231,19 @@ static int s3c64xx_spi_probe(struct platform_device *pdev) master->can_dma = s3c64xx_spi_can_dma; sdd->regs = devm_ioremap_resource(&pdev->dev, mem_res); - if (IS_ERR(sdd->regs)) { - ret = PTR_ERR(sdd->regs); - goto err_deref_master; - } + if (IS_ERR(sdd->regs)) + return PTR_ERR(sdd->regs); if (sci->cfg_gpio && sci->cfg_gpio()) { dev_err(&pdev->dev, "Unable to config gpio\n"); - ret = -EBUSY; - goto err_deref_master; + return -EBUSY; } /* Setup clocks */ sdd->clk = devm_clk_get_enabled(&pdev->dev, "spi"); if (IS_ERR(sdd->clk)) { dev_err(&pdev->dev, "Unable to acquire clock 'spi'\n"); - ret = PTR_ERR(sdd->clk); - goto err_deref_master; + return PTR_ERR(sdd->clk); } sprintf(clk_name, "spi_busclk%d", sci->src_clk_nr); @@ -1256,16 +1251,14 @@ static int s3c64xx_spi_probe(struct platform_device *pdev) if (IS_ERR(sdd->src_clk)) { dev_err(&pdev->dev, "Unable to acquire clock '%s'\n", clk_name); - ret = PTR_ERR(sdd->src_clk); - goto err_deref_master; + return PTR_ERR(sdd->src_clk); } if (sdd->port_conf->clk_ioclk) { sdd->ioclk = devm_clk_get_enabled(&pdev->dev, "spi_ioclk"); if (IS_ERR(sdd->ioclk)) { dev_err(&pdev->dev, "Unable to acquire 'ioclk'\n"); - ret = PTR_ERR(sdd->ioclk); - goto err_deref_master; + return PTR_ERR(sdd->ioclk); } } @@ -1314,9 +1307,6 @@ err_pm_put: pm_runtime_disable(&pdev->dev); pm_runtime_set_suspended(&pdev->dev); -err_deref_master: - spi_master_put(master); - return ret; } |