mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 14:42:24 +00:00
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>
This commit is contained in:
parent
e3ddc97946
commit
f0b5077744
@ -867,8 +867,8 @@ static int mmp_pdma_chan_init(struct mmp_pdma_device *pdev, int idx, int irq)
|
|||||||
phy->base = pdev->base;
|
phy->base = pdev->base;
|
||||||
|
|
||||||
if (irq) {
|
if (irq) {
|
||||||
ret = devm_request_irq(pdev->dev, irq, mmp_pdma_chan_handler, 0,
|
ret = devm_request_irq(pdev->dev, irq, mmp_pdma_chan_handler,
|
||||||
"pdma", phy);
|
IRQF_SHARED, "pdma", phy);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(pdev->dev, "channel request irq fail!\n");
|
dev_err(pdev->dev, "channel request irq fail!\n");
|
||||||
return ret;
|
return ret;
|
||||||
@ -957,8 +957,8 @@ static int mmp_pdma_probe(struct platform_device *op)
|
|||||||
if (irq_num != dma_channels) {
|
if (irq_num != dma_channels) {
|
||||||
/* all chan share one irq, demux inside */
|
/* all chan share one irq, demux inside */
|
||||||
irq = platform_get_irq(op, 0);
|
irq = platform_get_irq(op, 0);
|
||||||
ret = devm_request_irq(pdev->dev, irq, mmp_pdma_int_handler, 0,
|
ret = devm_request_irq(pdev->dev, irq, mmp_pdma_int_handler,
|
||||||
"pdma", pdev);
|
IRQF_SHARED, "pdma", pdev);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user