irqchip/gic: Skip DT quirks when evaluating IIDR-based quirks
authorMarc Zyngier <maz@kernel.org>
Wed, 31 Jul 2019 16:28:49 +0000 (17:28 +0100)
committerMarc Zyngier <maz@kernel.org>
Tue, 20 Aug 2019 09:23:35 +0000 (10:23 +0100)
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@kernel.org>
drivers/irqchip/irq-gic-common.c

index 14110db..8252000 100644 (file)
@@ -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))