diff options
author | Tudor Ambarus <tudor.ambarus@microchip.com> | 2022-10-25 12:02:58 +0300 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2022-11-11 12:15:08 +0530 |
commit | 4c15a4c7f693f1f45ef534ddc428f2a9aa67bd13 (patch) | |
tree | 6d60ea58e38ccd83aba820c80dfa827fd3a7f2c7 /drivers/dma | |
parent | 8bfe4a61d40df2ddb707bf7d0b278907de2dd4f6 (diff) | |
download | linux-stable-4c15a4c7f693f1f45ef534ddc428f2a9aa67bd13.tar.gz linux-stable-4c15a4c7f693f1f45ef534ddc428f2a9aa67bd13.tar.bz2 linux-stable-4c15a4c7f693f1f45ef534ddc428f2a9aa67bd13.zip |
dmaengine: at_hdmac: Use devm_clk_get()
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>
Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Link: https://lore.kernel.org/r/20221025090306.297886-1-tudor.ambarus@microchip.com
Link: https://lore.kernel.org/r/20221025090306.297886-25-tudor.ambarus@microchip.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/dma')
-rw-r--r-- | drivers/dma/at_hdmac.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c index 10c250618a33..444aa7d75ff5 100644 --- a/drivers/dma/at_hdmac.c +++ b/drivers/dma/at_hdmac.c @@ -1803,13 +1803,13 @@ static int __init at_dma_probe(struct platform_device *pdev) atdma->dma_common.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); @@ -1942,8 +1942,6 @@ err_desc_pool_create: free_irq(platform_get_irq(pdev, 0), atdma); err_irq: clk_disable_unprepare(atdma->clk); -err_clk_prepare: - clk_put(atdma->clk); return err; } @@ -1973,7 +1971,6 @@ static int at_dma_remove(struct platform_device *pdev) } clk_disable_unprepare(atdma->clk); - clk_put(atdma->clk); return 0; } |