diff options
author | Doug Brown <doug@schmorgal.com> | 2022-09-06 02:07:09 +0200 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2022-11-08 06:12:51 +0100 |
commit | b3d726cb8497c6b12106fd617d46eef11763ea86 (patch) | |
tree | 8ffbee211394059a66b2923a2117125342658733 | |
parent | dmaengine: idxd: Do not enable user type Work Queue without Shared Virtual Ad... (diff) | |
download | linux-b3d726cb8497c6b12106fd617d46eef11763ea86.tar.xz linux-b3d726cb8497c6b12106fd617d46eef11763ea86.zip |
dmaengine: pxa_dma: use platform_get_irq_optional
The first IRQ is required, but IRQs 1 through (nb_phy_chans - 1) are
optional, because on some platforms (e.g. PXA168) there is a single IRQ
shared between all channels.
This change inhibits a flood of "IRQ index # not found" messages at
startup. Tested on a PXA168-based device.
Fixes: 7723f4c5ecdb ("driver core: platform: Add an error message to platform_get_irq*()")
Signed-off-by: Doug Brown <doug@schmorgal.com>
Link: https://lore.kernel.org/r/20220906000709.52705-1-doug@schmorgal.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
-rw-r--r-- | drivers/dma/pxa_dma.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/dma/pxa_dma.c b/drivers/dma/pxa_dma.c index e7034f6f3994..22a392fe6d32 100644 --- a/drivers/dma/pxa_dma.c +++ b/drivers/dma/pxa_dma.c @@ -1247,14 +1247,14 @@ static int pxad_init_phys(struct platform_device *op, return -ENOMEM; for (i = 0; i < nb_phy_chans; i++) - if (platform_get_irq(op, i) > 0) + if (platform_get_irq_optional(op, i) > 0) nr_irq++; for (i = 0; i < nb_phy_chans; i++) { phy = &pdev->phys[i]; phy->base = pdev->base; phy->idx = i; - irq = platform_get_irq(op, i); + irq = platform_get_irq_optional(op, i); if ((nr_irq > 1) && (irq > 0)) ret = devm_request_irq(&op->dev, irq, pxad_chan_handler, |