diff options
author | Chao Xie <chao.xie@marvell.com> | 2014-01-27 02:44:07 +0100 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2014-03-06 10:17:47 +0100 |
commit | f0b507774449ec35fbfd7173e5fc7dd4df71a81c (patch) | |
tree | 5ffb9cada851902e1d06cfc517dfaf57d747929e /drivers | |
parent | dma: edma: Fix memory leak in edma_prep_dma_cyclic() (diff) | |
download | linux-f0b507774449ec35fbfd7173e5fc7dd4df71a81c.tar.xz linux-f0b507774449ec35fbfd7173e5fc7dd4df71a81c.zip |
dma: mmp_pdma: add IRQF_SHARED when request irq
For some SOCes use mmp_pdma, they have several dma controllers
sharing same irq.
So add IRQF_SHARED to flag when request irq. It can make multiple
controllers share the same irq.
Signed-off-by: Chao Xie <chao.xie@marvell.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/dma/mmp_pdma.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/dma/mmp_pdma.c b/drivers/dma/mmp_pdma.c index b439679f4126..bf02e7beb51a 100644 --- a/drivers/dma/mmp_pdma.c +++ b/drivers/dma/mmp_pdma.c @@ -867,8 +867,8 @@ static int mmp_pdma_chan_init(struct mmp_pdma_device *pdev, int idx, int irq) phy->base = pdev->base; if (irq) { - ret = devm_request_irq(pdev->dev, irq, mmp_pdma_chan_handler, 0, - "pdma", phy); + ret = devm_request_irq(pdev->dev, irq, mmp_pdma_chan_handler, + IRQF_SHARED, "pdma", phy); if (ret) { dev_err(pdev->dev, "channel request irq fail!\n"); return ret; @@ -957,8 +957,8 @@ static int mmp_pdma_probe(struct platform_device *op) if (irq_num != dma_channels) { /* all chan share one irq, demux inside */ irq = platform_get_irq(op, 0); - ret = devm_request_irq(pdev->dev, irq, mmp_pdma_int_handler, 0, - "pdma", pdev); + ret = devm_request_irq(pdev->dev, irq, mmp_pdma_int_handler, + IRQF_SHARED, "pdma", pdev); if (ret) return ret; } |