Commit ec37d4e9 authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by Joerg Roedel
Browse files

iommu/ipmmu-vmsa: Only call platform_get_irq() when interrupt is mandatory



As platform_get_irq() now prints an error when the interrupt does not
exist, calling it gratuitously causes scary messages like:

    ipmmu-vmsa e6740000.mmu: IRQ index 0 not found

Fix this by moving the call to platform_get_irq() down, where the
existence of the interrupt is mandatory.

Fixes: 7723f4c5 ("driver core: platform: Add an error message to platform_get_irq*()")
Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: default avatarYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Tested-by: default avatarYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Reviewed-by: default avatarStephen Boyd <swboyd@chromium.org>
Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
parent f9258156
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -1086,8 +1086,6 @@ static int ipmmu_probe(struct platform_device *pdev)

	mmu->num_ctx = min(IPMMU_CTX_MAX, mmu->features->number_of_contexts);

	irq = platform_get_irq(pdev, 0);

	/*
	 * Determine if this IPMMU instance is a root device by checking for
	 * the lack of has_cache_leaf_nodes flag or renesas,ipmmu-main property.
@@ -1106,6 +1104,7 @@ static int ipmmu_probe(struct platform_device *pdev)

	/* Root devices have mandatory IRQs */
	if (ipmmu_is_root(mmu)) {
		irq = platform_get_irq(pdev, 0);
		if (irq < 0) {
			dev_err(&pdev->dev, "no IRQ found\n");
			return irq;