]> Git Repo - linux.git/commitdiff
mfd: ab8500: Fix dt irq mapping
authorGrygorii Strashko <[email protected]>
Mon, 2 Jun 2014 16:27:58 +0000 (19:27 +0300)
committerLee Jones <[email protected]>
Thu, 26 Jun 2014 12:34:15 +0000 (13:34 +0100)
The AD8500 defines itself as interrupt-controller in DT,
but it doesn't assign DT node to IRQ domain when creates it.
As result, of_irq_xx() helpers don't work because they can't
find necessary IRQ domain.

Hence, fix it by assigning AD8500 core device DT node to IRQ
domain when it's created.

This patch fixes STE u8500 Snowball boot failure reported by Kevin Hilman
https://lkml.org/lkml/2014/5/27/624

Reported-and-tested-by: Kevin Hilman <[email protected]>
Signed-off-by: Grygorii Strashko <[email protected]>
Reviewed-by: Linus Walleij <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
drivers/mfd/ab8500-core.c

index a8ee4a36a1d8fd0c63d3ef268d8cc316be1edef4..cf2e6a198c6bc9cea9fb814cfd4d7720955fd475 100644 (file)
@@ -591,7 +591,7 @@ static int ab8500_irq_init(struct ab8500 *ab8500, struct device_node *np)
                num_irqs = AB8500_NR_IRQS;
 
        /* If ->irq_base is zero this will give a linear mapping */
-       ab8500->domain = irq_domain_add_simple(NULL,
+       ab8500->domain = irq_domain_add_simple(ab8500->dev->of_node,
                        num_irqs, 0,
                        &ab8500_irq_ops, ab8500);
 
This page took 0.060467 seconds and 4 git commands to generate.