Use dmaenginem_async_device_register to simplify the code:
   remove xgene_dma_async_register
   remove dma_async_device_unregister

Signed-off-by: Huang Shijie <[email protected]>
---
 drivers/dma/xgene-dma.c | 16 ++--------------
 1 file changed, 2 insertions(+), 14 deletions(-)

diff --git a/drivers/dma/xgene-dma.c b/drivers/dma/xgene-dma.c
index 1d5988849aa6..192322bbdc29 100644
--- a/drivers/dma/xgene-dma.c
+++ b/drivers/dma/xgene-dma.c
@@ -1564,7 +1564,7 @@ static int xgene_dma_async_register(struct xgene_dma 
*pdma, int id)
        list_add_tail(&chan->dma_chan.device_node, &dma_dev->channels);
 
        /* Register with Linux async DMA framework*/
-       ret = dma_async_device_register(dma_dev);
+       ret = dmaenginem_async_device_register(dma_dev);
        if (ret) {
                chan_err(chan, "Failed to register async device %d", ret);
                tasklet_kill(&chan->tasklet);
@@ -1588,10 +1588,8 @@ static int xgene_dma_init_async(struct xgene_dma *pdma)
        for (i = 0; i < XGENE_DMA_MAX_CHANNEL ; i++) {
                ret = xgene_dma_async_register(pdma, i);
                if (ret) {
-                       for (j = 0; j < i; j++) {
-                               dma_async_device_unregister(&pdma->dma_dev[j]);
+                       for (j = 0; j < i; j++)
                                tasklet_kill(&pdma->chan[j].tasklet);
-                       }
 
                        return ret;
                }
@@ -1600,14 +1598,6 @@ static int xgene_dma_init_async(struct xgene_dma *pdma)
        return ret;
 }
 
-static void xgene_dma_async_unregister(struct xgene_dma *pdma)
-{
-       int i;
-
-       for (i = 0; i < XGENE_DMA_MAX_CHANNEL; i++)
-               dma_async_device_unregister(&pdma->dma_dev[i]);
-}
-
 static void xgene_dma_init_channels(struct xgene_dma *pdma)
 {
        struct xgene_dma_chan *chan;
@@ -1796,8 +1786,6 @@ static int xgene_dma_remove(struct platform_device *pdev)
        struct xgene_dma_chan *chan;
        int i;
 
-       xgene_dma_async_unregister(pdma);
-
        /* Mask interrupts and disable DMA engine */
        xgene_dma_mask_interrupts(pdma);
        xgene_dma_disable(pdma);
-- 
2.17.1

Reply via email to