diff options
author | Marc Zyngier <marc.zyngier@arm.com> | 2018-03-16 17:35:17 +0300 |
---|---|---|
committer | Marc Zyngier <marc.zyngier@arm.com> | 2018-03-16 17:38:13 +0300 |
commit | 6ef6386ef7c15bea21afce06f951c87de7e2a562 (patch) | |
tree | 86c451bedaa4b30d4229aa64424e907e88f36e76 /drivers | |
parent | 83a86fbb5b56b5eed8a476cc3fe214077d7c4f49 (diff) | |
download | linux-6ef6386ef7c15bea21afce06f951c87de7e2a562.tar.xz |
irqchip/gic-v3: Loudly complain about the use of IRQ_TYPE_NONE
There is a huge number of broken device trees out there. Just
grepping through the tree for the use of IRQ_TYPE_NONE in conjunction
with the GIC is scary.
People just don't realise that IRQ_TYPE_NONE just doesn't exist, and
you just get whatever junk was there before. So let's make them aware
of the issue.
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/irqchip/irq-gic-v3.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c index 3e9eeb6cb294..5bb7bb22f1c1 100644 --- a/drivers/irqchip/irq-gic-v3.c +++ b/drivers/irqchip/irq-gic-v3.c @@ -916,6 +916,9 @@ static int gic_irq_domain_translate(struct irq_domain *d, } *type = fwspec->param[2] & IRQ_TYPE_SENSE_MASK; + + /* Make it clear that broken DTs are... broken */ + WARN_ON(*type == IRQ_TYPE_NONE); return 0; } @@ -925,6 +928,8 @@ static int gic_irq_domain_translate(struct irq_domain *d, *hwirq = fwspec->param[0]; *type = fwspec->param[1]; + + WARN_ON(*type == IRQ_TYPE_NONE); return 0; } |