diff options
author | Olof Johansson <olof@lixom.net> | 2013-02-11 09:05:29 -0800 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2013-02-11 09:05:29 -0800 |
commit | 4f5c1c04f8623387ce4af942b2bf547d3bba40ae (patch) | |
tree | feb06499fb920d0fe0eaa6673e5cd630b3b7775f /arch/arm/kernel | |
parent | 37a42fca282cb37c14d997ca9299bdc6617815bb (diff) | |
parent | 9e47b8bf9815523a5816f2f83e73b13812d74014 (diff) | |
download | linux-4f5c1c04f8623387ce4af942b2bf547d3bba40ae.tar.bz2 |
Merge branch 'irqchip/gic-vic-move' into next/virt
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r-- | arch/arm/kernel/irq.c | 10 | ||||
-rw-r--r-- | arch/arm/kernel/smp.c | 3 | ||||
-rw-r--r-- | arch/arm/kernel/smp_twd.c | 1 |
3 files changed, 12 insertions, 2 deletions
diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c index 896165096d6a..8e4ef4c83a74 100644 --- a/arch/arm/kernel/irq.c +++ b/arch/arm/kernel/irq.c @@ -117,6 +117,16 @@ void __init init_IRQ(void) machine_desc->init_irq(); } +#ifdef CONFIG_MULTI_IRQ_HANDLER +void __init set_handle_irq(void (*handle_irq)(struct pt_regs *)) +{ + if (handle_arch_irq) + return; + + handle_arch_irq = handle_irq; +} +#endif + #ifdef CONFIG_SPARSE_IRQ int __init arch_probe_nr_irqs(void) { diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c index b7e3b506219b..a77b0532f97e 100644 --- a/arch/arm/kernel/smp.c +++ b/arch/arm/kernel/smp.c @@ -416,7 +416,8 @@ static void (*smp_cross_call)(const struct cpumask *, unsigned int); void __init set_smp_cross_call(void (*fn)(const struct cpumask *, unsigned int)) { - smp_cross_call = fn; + if (!smp_cross_call) + smp_cross_call = fn; } void arch_send_call_function_ipi_mask(const struct cpumask *mask) diff --git a/arch/arm/kernel/smp_twd.c b/arch/arm/kernel/smp_twd.c index 49f335d301ba..dc9bb0146665 100644 --- a/arch/arm/kernel/smp_twd.c +++ b/arch/arm/kernel/smp_twd.c @@ -24,7 +24,6 @@ #include <asm/smp_twd.h> #include <asm/localtimer.h> -#include <asm/hardware/gic.h> /* set up by the platform code */ static void __iomem *twd_base; |