[tip: irq/core] irqchip/gic: Skip DT quirks when evaluating IIDR-based quirks

From: tip-bot2 for Marc Zyngier
Date: Fri Sep 06 2019 - 07:09:49 EST


The following commit has been merged into the irq/core branch of tip:

Commit-ID: 25edaed6c7feca8fded25348732c628283304364
Gitweb: https://git.kernel.org/tip/25edaed6c7feca8fded25348732c628283304364
Author: Marc Zyngier <maz@xxxxxxxxxx>
AuthorDate: Wed, 31 Jul 2019 17:28:49 +01:00
Committer: Marc Zyngier <maz@xxxxxxxxxx>
CommitterDate: Tue, 20 Aug 2019 10:23:35 +01:00

irqchip/gic: Skip DT quirks when evaluating IIDR-based quirks

When evaluating potential quirks matched by reads of the IIDR
register, skip the quirk entries that use a "compatible"
property attached to them, as these are DT based.

Signed-off-by: Marc Zyngier <maz@xxxxxxxxxx>
---
drivers/irqchip/irq-gic-common.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/irqchip/irq-gic-common.c b/drivers/irqchip/irq-gic-common.c
index 14110db..8252000 100644
--- a/drivers/irqchip/irq-gic-common.c
+++ b/drivers/irqchip/irq-gic-common.c
@@ -41,6 +41,8 @@ void gic_enable_quirks(u32 iidr, const struct gic_quirk *quirks,
void *data)
{
for (; quirks->desc; quirks++) {
+ if (quirks->compatible)
+ continue;
if (quirks->iidr != (quirks->mask & iidr))
continue;
if (quirks->init(data))