summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDoug Brown <doug@schmorgal.com>2022-09-06 02:07:09 +0200
committerVinod Koul <vkoul@kernel.org>2022-11-08 06:12:51 +0100
commitb3d726cb8497c6b12106fd617d46eef11763ea86 (patch)
tree8ffbee211394059a66b2923a2117125342658733
parentdmaengine: idxd: Do not enable user type Work Queue without Shared Virtual Ad... (diff)
downloadlinux-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.c4
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,