of: irq: Ignore disabled interrupt controllers
authorPeter Crosthwaite <peter.crosthwaite@xilinx.com>
Thu, 28 Nov 2013 07:26:13 +0000 (23:26 -0800)
committerRob Herring <rob.herring@calxeda.com>
Wed, 4 Dec 2013 19:12:49 +0000 (13:12 -0600)
When searching the system for interrupt controllers, skip over any
that are explicitly disabled.

This makes interrupt controllers consistent with regular devices,
which can be marked as do-not-probe via the status = "disabled" dts
property.

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>
drivers/of/irq.c

index 786b0b4..9876963 100644 (file)
@@ -438,7 +438,8 @@ void __init of_irq_init(const struct of_device_id *matches)
        INIT_LIST_HEAD(&intc_parent_list);
 
        for_each_matching_node(np, matches) {
-               if (!of_find_property(np, "interrupt-controller", NULL))
+               if (!of_find_property(np, "interrupt-controller", NULL) ||
+                               !of_device_is_available(np))
                        continue;
                /*
                 * Here, we allocate and populate an intc_desc with the node