MLK-14541 dmaengine: fsl-edma: remove the duplicated code
authorAndy Duan <fugang.duan@nxp.com>
Wed, 29 Mar 2017 05:26:26 +0000 (13:26 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 20:21:44 +0000 (15:21 -0500)
The function .fsl_edma_irq_init() has been called twice in .probe(), which
cause all dma controller registered failed.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
drivers/dma/fsl-edma.c

index 795f98f..0951bce 100644 (file)
@@ -1079,6 +1079,7 @@ static int fsl_edma_probe(struct platform_device *pdev)
 
        }
 
+       edma_writel(fsl_edma, ~0, fsl_edma->membase + EDMA_INTR);
        if (fsl_edma->version == 1)
                ret = fsl_edma_irq_init(pdev, fsl_edma);
        else
@@ -1105,11 +1106,6 @@ static int fsl_edma_probe(struct platform_device *pdev)
                fsl_chan->vchan.chan.chan_id = 0;
        }
 
-       edma_writel(fsl_edma, ~0, fsl_edma->membase + EDMA_INTR);
-       ret = fsl_edma_irq_init(pdev, fsl_edma);
-       if (ret)
-               return ret;
-
        dma_cap_set(DMA_PRIVATE, fsl_edma->dma_dev.cap_mask);
        dma_cap_set(DMA_SLAVE, fsl_edma->dma_dev.cap_mask);
        dma_cap_set(DMA_CYCLIC, fsl_edma->dma_dev.cap_mask);