[PATCH -next 24/25] spi: spl022: Use helper function devm_clk_get_enabled()

Li Zetao
2023-08-22T13:16:22Z

Moreover, the label "err_no_clk_en" is no used, drop it for clean code.

Signed-off-by: Li Zetao <lizetao1@huawei.com>
---
drivers/spi/spi-pl022.c | 21 ++++++---------------
1 file changed, 6 insertions(+), 15 deletions(-)

diff --git a/drivers/spi/spi-pl022.c b/drivers/spi/spi-pl022.c
index 1af75eff26b6..468a7fea9091 100644
--- a/drivers/spi/spi-pl022.c
+++ b/drivers/spi/spi-pl022.c
@@ -2168,19 +2168,13 @@ static int pl022_probe(struct amba_device *adev, const struct amba_id *id)
dev_info(&adev->dev, "mapped registers from %pa to %p\n",
&adev->res.start, pl022->virtbase);

- pl022->clk = devm_clk_get(&adev->dev, NULL);
+ pl022->clk = devm_clk_get_enabled(&adev->dev, NULL);
if (IS_ERR(pl022->clk)) {
status = PTR_ERR(pl022->clk);
dev_err(&adev->dev, "could not retrieve SSP/SPI bus clock\n");
goto err_no_clk;
}

- status = clk_prepare_enable(pl022->clk);
- if (status) {
- dev_err(&adev->dev, "could not enable SSP/SPI bus clock\n");
- goto err_no_clk_en;
- }
-
/* Initialize transfer pump */
tasklet_init(&pl022->pump_transfers, pump_transfers,
(unsigned long)pl022);
@@ -2236,16 +2230,14 @@ static int pl022_probe(struct amba_device *adev, const struct amba_id *id)

return 0;

- err_spi_register:
+err_spi_register:
if (platform_info->enable_dma)
pl022_dma_remove(pl022);
- err_no_irq:
- clk_disable_unprepare(pl022->clk);
- err_no_clk_en:
- err_no_clk:
- err_no_ioremap:
+err_no_irq:
+err_no_clk:
+err_no_ioremap:
amba_release_regions(adev);
- err_no_ioregion:
+err_no_ioregion:
spi_master_put(master);
return status;
}
@@ -2268,7 +2260,6 @@ pl022_remove(struct amba_device *adev)
if (pl022->master_info->enable_dma)
pl022_dma_remove(pl022);

- clk_disable_unprepare(pl022->clk);
amba_release_regions(adev);
tasklet_disable(&pl022->pump_transfers);