summaryrefslogtreecommitdiffstats
path: root/drivers/of/irq.c
diff options
context:
space:
mode:
authorPeter Crosthwaite <peter.crosthwaite@xilinx.com>2013-11-28 08:26:12 +0100
committerRob Herring <rob.herring@calxeda.com>2013-12-04 20:12:50 +0100
commit1ca56e7dcadd865ae2c235789cbdbfebae719ffb (patch)
treee7a42e0216db97efd5f360bd64adae59d1dad2f6 /drivers/of/irq.c
parentof: irq: Ignore disabled interrupt controllers (diff)
downloadlinux-1ca56e7dcadd865ae2c235789cbdbfebae719ffb.tar.xz
linux-1ca56e7dcadd865ae2c235789cbdbfebae719ffb.zip
of: irq: Ignore disabled intc's when searching map
When searching the interrupt map, if a matched parent is disabled, just ignore it and move on with the search. This allows for specifying connection of a single device IRQ to multiple interrupt controllers via the interrupt map schema. This change allows for selection of the active interrupt controller via the already existing status = "disabled" mechanism. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Acked-by: Michal Simek <michal.simek@xilinx.com> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Diffstat (limited to 'drivers/of/irq.c')
-rw-r--r--drivers/of/irq.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/of/irq.c b/drivers/of/irq.c
index 9876963ed7b3..bf8026895c5e 100644
--- a/drivers/of/irq.c
+++ b/drivers/of/irq.c
@@ -217,6 +217,9 @@ int of_irq_parse_raw(const __be32 *addr, struct of_phandle_args *out_irq)
goto fail;
}
+ if (!of_device_is_available(newpar))
+ match = 0;
+
/* Get #interrupt-cells and #address-cells of new
* parent
*/