Commit b3d726cb authored by Doug Brown's avatar Doug Brown Committed by Vinod Koul
Browse files

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: 7723f4c5 ("driver core: platform: Add an error message to platform_get_irq*()")
Signed-off-by: default avatarDoug Brown <doug@schmorgal.com>
Link: https://lore.kernel.org/r/20220906000709.52705-1-doug@schmorgal.com


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 0ec8ce07
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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,