Commit 884c65e4 authored by Jean-Philippe Brucker's avatar Jean-Philippe Brucker Committed by Jakub Kicinski
Browse files

amd-xgbe: Use platform_irq_count()



The AMD XGbE driver currently counts the number of interrupts assigned
to the device by inspecting the pdev->resource array. Since commit
a1a2b712 ("of/platform: Drop static setup of IRQ resource from DT
core") removed IRQs from this array, the driver now attempts to get all
interrupts from 1 to -1U and gives up probing once it reaches an invalid
interrupt index.

Obtain the number of IRQs with platform_irq_count() instead.

Fixes: a1a2b712 ("of/platform: Drop static setup of IRQ resource from DT core")
Signed-off-by: default avatarJean-Philippe Brucker <jean-philippe@linaro.org>
Acked-by: default avatarRob Herring <robh@kernel.org>
Acked-by: default avatarTom Lendacky <thomas.lendacky@amd.com>
Link: https://lore.kernel.org/r/20220609161457.69614-1-jean-philippe@linaro.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 619c010a
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -338,7 +338,7 @@ static int xgbe_platform_probe(struct platform_device *pdev)
		 *   the PHY resources listed last
		 */
		phy_memnum = xgbe_resource_count(pdev, IORESOURCE_MEM) - 3;
		phy_irqnum = xgbe_resource_count(pdev, IORESOURCE_IRQ) - 1;
		phy_irqnum = platform_irq_count(pdev) - 1;
		dma_irqnum = 1;
		dma_irqend = phy_irqnum;
	} else {
@@ -348,7 +348,7 @@ static int xgbe_platform_probe(struct platform_device *pdev)
		phy_memnum = 0;
		phy_irqnum = 0;
		dma_irqnum = 1;
		dma_irqend = xgbe_resource_count(pdev, IORESOURCE_IRQ);
		dma_irqend = platform_irq_count(pdev);
	}

	/* Obtain the mmio areas for the device */