]> Pileus Git - ~andy/linux/commitdiff
ARM: mach-shmobile: sh73a0 external IRQ wake update
authorMagnus Damm <damm@opensource.se>
Fri, 14 Dec 2012 03:43:12 +0000 (12:43 +0900)
committerSimon Horman <horms+renesas@verge.net.au>
Fri, 25 Jan 2013 03:43:44 +0000 (12:43 +0900)
Use sh73a0_set_wake() for external IRQ signals on sh73a0.

The sh73a0 IRQ hardware for external IRQ pins consists of
the INTCA interrupt controller and the GIC together doing
their best to limp along. These external IRQ pins are
treated as a special case where interrupts need to be
managed in both interrupt controllers in parallel.

The ->irq_set_wake() callback for the external IRQ pins
can be dealt with in the same way as INTCA-only without
involving the GIC. So this patch updates the external
IRQ pin code for sh73a0 to no longer involve the GIC.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
arch/arm/mach-shmobile/intc-sh73a0.c

index 978369973be49e8e296104f165c3acad85f4ee3d..45973b59dd589dc473a01fa9f396c635543c8dca 100644 (file)
@@ -315,11 +315,6 @@ static int intca_gic_set_type(struct irq_data *data, unsigned int type)
        return irq_cbp(irq_set_type, to_intca_reloc_irq(data), type);
 }
 
-static int intca_gic_set_wake(struct irq_data *data, unsigned int on)
-{
-       return irq_cbp(irq_set_wake, to_intca_reloc_irq(data), on);
-}
-
 #ifdef CONFIG_SMP
 static int intca_gic_set_affinity(struct irq_data *data,
                                  const struct cpumask *cpumask,
@@ -339,7 +334,7 @@ struct irq_chip intca_gic_irq_chip = {
        .irq_disable            = intca_gic_disable,
        .irq_shutdown           = intca_gic_disable,
        .irq_set_type           = intca_gic_set_type,
-       .irq_set_wake           = intca_gic_set_wake,
+       .irq_set_wake           = sh73a0_set_wake,
 #ifdef CONFIG_SMP
        .irq_set_affinity       = intca_gic_set_affinity,
 #endif