aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-shmobile
diff options
context:
space:
mode:
authorMagnus Damm <damm@opensource.se>2012-12-13 22:43:12 -0500
committerSimon Horman <horms+renesas@verge.net.au>2013-01-24 22:43:44 -0500
commit6333ae1432039003c4d9c76f0ecec41bb982898a (patch)
tree12f9c6d439a8846dd074b98cd1acde34e12e3b57 /arch/arm/mach-shmobile
parentbf519bfb66019c06fc44413a90715f3f5b1d7e9f (diff)
ARM: mach-shmobile: sh73a0 external IRQ wake update
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>
Diffstat (limited to 'arch/arm/mach-shmobile')
-rw-r--r--arch/arm/mach-shmobile/intc-sh73a0.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/arch/arm/mach-shmobile/intc-sh73a0.c b/arch/arm/mach-shmobile/intc-sh73a0.c
index 978369973be4..45973b59dd58 100644
--- a/arch/arm/mach-shmobile/intc-sh73a0.c
+++ b/arch/arm/mach-shmobile/intc-sh73a0.c
@@ -315,11 +315,6 @@ static int intca_gic_set_type(struct irq_data *data, unsigned int type)
315 return irq_cbp(irq_set_type, to_intca_reloc_irq(data), type); 315 return irq_cbp(irq_set_type, to_intca_reloc_irq(data), type);
316} 316}
317 317
318static int intca_gic_set_wake(struct irq_data *data, unsigned int on)
319{
320 return irq_cbp(irq_set_wake, to_intca_reloc_irq(data), on);
321}
322
323#ifdef CONFIG_SMP 318#ifdef CONFIG_SMP
324static int intca_gic_set_affinity(struct irq_data *data, 319static int intca_gic_set_affinity(struct irq_data *data,
325 const struct cpumask *cpumask, 320 const struct cpumask *cpumask,
@@ -339,7 +334,7 @@ struct irq_chip intca_gic_irq_chip = {
339 .irq_disable = intca_gic_disable, 334 .irq_disable = intca_gic_disable,
340 .irq_shutdown = intca_gic_disable, 335 .irq_shutdown = intca_gic_disable,
341 .irq_set_type = intca_gic_set_type, 336 .irq_set_type = intca_gic_set_type,
342 .irq_set_wake = intca_gic_set_wake, 337 .irq_set_wake = sh73a0_set_wake,
343#ifdef CONFIG_SMP 338#ifdef CONFIG_SMP
344 .irq_set_affinity = intca_gic_set_affinity, 339 .irq_set_affinity = intca_gic_set_affinity,
345#endif 340#endif