of/irq: of_irq_init: add check for parent equal to child node
authorRob Herring <rob.herring@calxeda.com>
Mon, 28 Nov 2011 02:16:33 +0000 (20:16 -0600)
committerRob Herring <rob.herring@calxeda.com>
Tue, 29 Nov 2011 14:22:40 +0000 (08:22 -0600)
With the revert of "of/irq: of_irq_find_parent: check for parent equal to
child" (dc9372808412edb), we need another way to handle parent node equal
to the child node. This can simply be handled in of_irq_init by checking
for this condition.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Tested-by: Pawel Moll <pawel.moll@arm.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
drivers/of/irq.c

index 791270b8bd1ca755e27632c1b68f9f252662a3a0..19c0115092dd7a692c0d035063a3e83c111618a2 100644 (file)
@@ -424,6 +424,8 @@ void __init of_irq_init(const struct of_device_id *matches)
 
                desc->dev = np;
                desc->interrupt_parent = of_irq_find_parent(np);
+               if (desc->interrupt_parent == np)
+                       desc->interrupt_parent = NULL;
                list_add_tail(&desc->list, &intc_desc_list);
        }