]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
dmaengine: fsl-edma: Use managed API dmaenginem_async_device_register()
authorFrank Li <Frank.Li@nxp.com>
Wed, 25 Feb 2026 21:41:47 +0000 (16:41 -0500)
committerVinod Koul <vkoul@kernel.org>
Mon, 9 Mar 2026 11:20:48 +0000 (12:20 +0100)
Use managed API dmaenginem_async_device_register() and
devm_of_dma_controller_register() to simple code.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20260225-mxsdma-module-v3-11-8f798b13baa6@nxp.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/fsl-edma-main.c

index dbcdd1e68319005dfab85a6c28b4e3f929f29132..57a185bb4076db1257e761e1c1be523178a5ff04 100644 (file)
@@ -882,20 +882,19 @@ static int fsl_edma_probe(struct platform_device *pdev)
 
        platform_set_drvdata(pdev, fsl_edma);
 
-       ret = dma_async_device_register(&fsl_edma->dma_dev);
+       ret = dmaenginem_async_device_register(&fsl_edma->dma_dev);
        if (ret) {
                dev_err(&pdev->dev,
                        "Can't register Freescale eDMA engine. (%d)\n", ret);
                return ret;
        }
 
-       ret = of_dma_controller_register(np,
+       ret = devm_of_dma_controller_register(&pdev->dev, np,
                        drvdata->dmamuxs ? fsl_edma_xlate : fsl_edma3_xlate,
                        fsl_edma);
        if (ret) {
                dev_err(&pdev->dev,
                        "Can't register Freescale eDMA of_dma. (%d)\n", ret);
-               dma_async_device_unregister(&fsl_edma->dma_dev);
                return ret;
        }
 
@@ -908,12 +907,9 @@ static int fsl_edma_probe(struct platform_device *pdev)
 
 static void fsl_edma_remove(struct platform_device *pdev)
 {
-       struct device_node *np = pdev->dev.of_node;
        struct fsl_edma_engine *fsl_edma = platform_get_drvdata(pdev);
 
        fsl_edma_irq_exit(pdev, fsl_edma);
-       of_dma_controller_free(np);
-       dma_async_device_unregister(&fsl_edma->dma_dev);
        fsl_edma_cleanup_vchan(&fsl_edma->dma_dev);
 }