mirror of
https://github.com/torvalds/linux.git
synced 2026-05-12 16:18:45 +02:00
dmaengine: imx-sdma: Use devm_clk_get_prepared() to simplify code
Use devm_clk_get_prepared() to simplify code. No functional change. Signed-off-by: Frank Li <Frank.Li@nxp.com> Link: https://patch.msgid.link/20260225-mxsdma-module-v3-8-8f798b13baa6@nxp.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
parent
67adf1f664
commit
5daee52d7c
|
|
@ -2265,34 +2265,24 @@ static int sdma_probe(struct platform_device *pdev)
|
|||
if (IS_ERR(sdma->regs))
|
||||
return PTR_ERR(sdma->regs);
|
||||
|
||||
sdma->clk_ipg = devm_clk_get(&pdev->dev, "ipg");
|
||||
sdma->clk_ipg = devm_clk_get_prepared(&pdev->dev, "ipg");
|
||||
if (IS_ERR(sdma->clk_ipg))
|
||||
return PTR_ERR(sdma->clk_ipg);
|
||||
|
||||
sdma->clk_ahb = devm_clk_get(&pdev->dev, "ahb");
|
||||
sdma->clk_ahb = devm_clk_get_prepared(&pdev->dev, "ahb");
|
||||
if (IS_ERR(sdma->clk_ahb))
|
||||
return PTR_ERR(sdma->clk_ahb);
|
||||
|
||||
ret = clk_prepare(sdma->clk_ipg);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = clk_prepare(sdma->clk_ahb);
|
||||
if (ret)
|
||||
goto err_clk;
|
||||
|
||||
ret = devm_request_irq(&pdev->dev, irq, sdma_int_handler, 0,
|
||||
dev_name(&pdev->dev), sdma);
|
||||
if (ret)
|
||||
goto err_irq;
|
||||
return ret;
|
||||
|
||||
sdma->irq = irq;
|
||||
|
||||
sdma->script_addrs = kzalloc_obj(*sdma->script_addrs);
|
||||
if (!sdma->script_addrs) {
|
||||
ret = -ENOMEM;
|
||||
goto err_irq;
|
||||
}
|
||||
if (!sdma->script_addrs)
|
||||
return -ENOMEM;
|
||||
|
||||
/* initially no scripts available */
|
||||
saddr_arr = (s32 *)sdma->script_addrs;
|
||||
|
|
@ -2406,10 +2396,6 @@ static int sdma_probe(struct platform_device *pdev)
|
|||
dma_async_device_unregister(&sdma->dma_device);
|
||||
err_init:
|
||||
kfree(sdma->script_addrs);
|
||||
err_irq:
|
||||
clk_unprepare(sdma->clk_ahb);
|
||||
err_clk:
|
||||
clk_unprepare(sdma->clk_ipg);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
@ -2421,8 +2407,6 @@ static void sdma_remove(struct platform_device *pdev)
|
|||
devm_free_irq(&pdev->dev, sdma->irq, sdma);
|
||||
dma_async_device_unregister(&sdma->dma_device);
|
||||
kfree(sdma->script_addrs);
|
||||
clk_unprepare(sdma->clk_ahb);
|
||||
clk_unprepare(sdma->clk_ipg);
|
||||
/* Kill the tasklet */
|
||||
for (i = 0; i < MAX_DMA_CHANNELS; i++) {
|
||||
struct sdma_channel *sdmac = &sdma->channel[i];
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user