| From 79650bd0b43538c0ceed83d3ebfd64756594e5e5 Mon Sep 17 00:00:00 2001 |
| From: John Garry <john.garry@huawei.com> |
| Date: Tue, 11 Feb 2020 00:50:17 +0800 |
| Subject: [PATCH] perf/smmuv3: Use platform_get_irq_optional() for wired |
| interrupt |
| |
| commit 0ca2c0319a7bce0e152b51b866979d62dc261e48 upstream. |
| |
| Even though a SMMUv3 PMCG implementation may use an MSI as the form of |
| interrupt source, the kernel would still complain that it does not find |
| the wired (GSIV) interrupt in this case: |
| |
| root@(none)$ dmesg | grep arm-smmu-v3-pmcg | grep "not found" |
| [ 59.237219] arm-smmu-v3-pmcg arm-smmu-v3-pmcg.8.auto: IRQ index 0 not found |
| [ 59.322841] arm-smmu-v3-pmcg arm-smmu-v3-pmcg.9.auto: IRQ index 0 not found |
| [ 59.422155] arm-smmu-v3-pmcg arm-smmu-v3-pmcg.10.auto: IRQ index 0 not found |
| [ 59.539014] arm-smmu-v3-pmcg arm-smmu-v3-pmcg.11.auto: IRQ index 0 not found |
| [ 59.640329] arm-smmu-v3-pmcg arm-smmu-v3-pmcg.12.auto: IRQ index 0 not found |
| [ 59.743112] arm-smmu-v3-pmcg arm-smmu-v3-pmcg.13.auto: IRQ index 0 not found |
| [ 59.880577] arm-smmu-v3-pmcg arm-smmu-v3-pmcg.14.auto: IRQ index 0 not found |
| [ 60.017528] arm-smmu-v3-pmcg arm-smmu-v3-pmcg.15.auto: IRQ index 0 not found |
| |
| Use platform_get_irq_optional() to silence the warning. |
| |
| If neither interrupt source is found, then the driver will still warn that |
| IRQ setup errored and the probe will fail. |
| |
| Reviewed-by: Robin Murphy <robin.murphy@arm.com> |
| Signed-off-by: John Garry <john.garry@huawei.com> |
| Signed-off-by: Will Deacon <will@kernel.org> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/perf/arm_smmuv3_pmu.c b/drivers/perf/arm_smmuv3_pmu.c |
| index f360a50e6264..a6c518a3d063 100644 |
| --- a/drivers/perf/arm_smmuv3_pmu.c |
| +++ b/drivers/perf/arm_smmuv3_pmu.c |
| @@ -745,7 +745,7 @@ static int smmu_pmu_probe(struct platform_device *pdev) |
| smmu_pmu->reloc_base = smmu_pmu->reg_base; |
| } |
| |
| - irq = platform_get_irq(pdev, 0); |
| + irq = platform_get_irq_optional(pdev, 0); |
| if (irq > 0) |
| smmu_pmu->irq = irq; |
| |
| -- |
| 2.7.4 |
| |