]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
dmaengine: loongson: loongson2-apb: Convert to dmaenginem_async_device_register()
authorBinbin Zhou <zhoubinbin@loongson.cn>
Sat, 7 Mar 2026 03:25:11 +0000 (11:25 +0800)
committerVinod Koul <vkoul@kernel.org>
Tue, 17 Mar 2026 11:18:55 +0000 (16:48 +0530)
Use the dmaenginem_async_device_register() helper function to simplify
the probe routine.

Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn>
Reviewed-by: Huacai Chen <chenhuacai@loongson.cn>
Link: https://patch.msgid.link/c56e67ecde38e9a3bda5f88ea3fc20b97a5cba6c.1772853681.git.zhoubinbin@loongson.cn
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/loongson/loongson2-apb-dma.c

index fc7d9f4a96ecfab5dc2b17fa4e27f3923beb9772..2d16842e1658fa8290a197bd62116646930298f5 100644 (file)
@@ -650,21 +650,19 @@ static int ls2x_dma_probe(struct platform_device *pdev)
        ddev->dst_addr_widths = LDMA_SLAVE_BUSWIDTHS;
        ddev->directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV);
 
-       ret = dma_async_device_register(&priv->ddev);
+       ret = dmaenginem_async_device_register(&priv->ddev);
        if (ret < 0)
                goto disable_clk;
 
        ret = of_dma_controller_register(dev->of_node, of_dma_xlate_by_chan_id, priv);
        if (ret < 0)
-               goto unregister_dmac;
+               goto disable_clk;
 
        platform_set_drvdata(pdev, priv);
 
        dev_info(dev, "Loongson LS2X APB DMA driver registered successfully.\n");
        return 0;
 
-unregister_dmac:
-       dma_async_device_unregister(&priv->ddev);
 disable_clk:
        clk_disable_unprepare(priv->dma_clk);
 
@@ -680,7 +678,6 @@ static void ls2x_dma_remove(struct platform_device *pdev)
        struct ls2x_dma_priv *priv = platform_get_drvdata(pdev);
 
        of_dma_controller_free(pdev->dev.of_node);
-       dma_async_device_unregister(&priv->ddev);
        clk_disable_unprepare(priv->dma_clk);
 }