of/irq: Add a quirk for controllers with their own definition of interrupt-map
authorMarc Zyngier <maz@kernel.org>
Wed, 1 Dec 2021 11:41:02 +0000 (11:41 +0000)
committerRob Herring <robh@kernel.org>
Fri, 3 Dec 2021 17:30:22 +0000 (11:30 -0600)
commitde4adddcbcc25dcd82ffbf3a4bbd8db5f64da056
tree05466b08085af0d88283b656a2ad32210e039b19
parentcc5faf26decfcfd9edbafee9b7204ac9a9514c12
of/irq: Add a quirk for controllers with their own definition of interrupt-map

Since commit 041284181226 ("of/irq: Allow matching of an interrupt-map
local to an interrupt controller"), a handful of interrupt controllers
have stopped working correctly. This is due to the DT exposing a
non-sensical interrupt-map property, and their drivers relying on the
kernel ignoring this property.

Since we cannot realistically fix this terrible behaviour, add a quirk
for the limited set of devices that have implemented this monster,
and document that this is a pretty bad practice.

Fixes: 041284181226 ("of/irq: Allow matching of an interrupt-map local to an interrupt controller")
Cc: Rob Herring <robh@kernel.org>
Cc: John Crispin <john@phrozen.org>
Cc: Biwen Li <biwen.li@nxp.com>
Cc: Chris Brandt <chris.brandt@renesas.com>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Sander Vanheule <sander@svanheule.net>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20211201114102.13446-1-maz@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
drivers/of/irq.c