[PATCH 29/33] dmaengine: at_hdmac: Use devm_clk_get()

Tudor Ambarus
2022-08-20T13:00:53Z

Clocks that are get with this method will be automatically put on driver
detach. Use devm_clk_get() and simplify the error handling.

Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
---
drivers/dma/at_hdmac.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c
index 96b885f83374..042c7cba74bb 100644
--- a/drivers/dma/at_hdmac.c
+++ b/drivers/dma/at_hdmac.c
@@ -2250,13 +2250,13 @@ static int __init at_dma_probe(struct platform_device *pdev)
atdma->dma_device.cap_mask = plat_dat->cap_mask;
atdma->all_chan_mask = (1 << plat_dat->nr_channels) - 1;

- atdma->clk = clk_get(&pdev->dev, "dma_clk");
+ atdma->clk = devm_clk_get(&pdev->dev, "dma_clk");
if (IS_ERR(atdma->clk))
return PTR_ERR(atdma->clk);

err = clk_prepare_enable(atdma->clk);
if (err)
- goto err_clk_prepare;
+ return err;

/* force dma off, just in case */
at_dma_off(atdma);
@@ -2378,8 +2378,6 @@ static int __init at_dma_probe(struct platform_device *pdev)
dma_pool_destroy(atdma->dma_desc_pool);
err_desc_pool_create:
clk_disable_unprepare(atdma->clk);
-err_clk_prepare:
- clk_put(atdma->clk);
return err;
}

@@ -2408,7 +2406,6 @@ static int at_dma_remove(struct platform_device *pdev)
}

clk_disable_unprepare(atdma->clk);
- clk_put(atdma->clk);

return 0;
}
--
2.25.1