summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBinbin Zhou <zhoubinbin@loongson.cn>2026-03-07 06:25:11 +0300
committerVinod Koul <vkoul@kernel.org>2026-03-17 14:18:55 +0300
commit7d348227f4961bbf21255281438ee3aebe12830f (patch)
treefb932d4baf68fcd6273e2ae287e8cc81fce233f0
parentffee2dc04e7e06534aaa4fd51ef89645b809b6b8 (diff)
downloadlinux-7d348227f4961bbf21255281438ee3aebe12830f.tar.xz
dmaengine: loongson: loongson2-apb: Convert to dmaenginem_async_device_register()
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>
-rw-r--r--drivers/dma/loongson/loongson2-apb-dma.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/dma/loongson/loongson2-apb-dma.c b/drivers/dma/loongson/loongson2-apb-dma.c
index fc7d9f4a96ec..2d16842e1658 100644
--- a/drivers/dma/loongson/loongson2-apb-dma.c
+++ b/drivers/dma/loongson/loongson2-apb-dma.c
@@ -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);
}