diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-04-03 08:01:30 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-05-23 11:53:17 -0400 |
commit | 0f7b332f9777819a39a3b325690379a7efef89d1 (patch) | |
tree | abc9dc45eb604cc4af88a5ab8c4a6c0cbdaa0596 /arch/arm/mach-realview | |
parent | 43b3e1898206a1e385c9cb06f6040ea83a58b638 (diff) |
ARM: consolidate SMP cross call implementation
Rather than having each platform class provide a mach/smp.h header for
smp_cross_call(), arrange for them to register the function with the
core ARM SMP code instead.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-realview')
-rw-r--r-- | arch/arm/mach-realview/include/mach/smp.h | 14 | ||||
-rw-r--r-- | arch/arm/mach-realview/platsmp.c | 3 |
2 files changed, 3 insertions, 14 deletions
diff --git a/arch/arm/mach-realview/include/mach/smp.h b/arch/arm/mach-realview/include/mach/smp.h deleted file mode 100644 index c8221b38ee7c..000000000000 --- a/arch/arm/mach-realview/include/mach/smp.h +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | #ifndef ASMARM_ARCH_SMP_H | ||
2 | #define ASMARM_ARCH_SMP_H | ||
3 | |||
4 | #include <asm/hardware/gic.h> | ||
5 | |||
6 | /* | ||
7 | * We use IRQ1 as the IPI | ||
8 | */ | ||
9 | static inline void smp_cross_call(const struct cpumask *mask, int ipi) | ||
10 | { | ||
11 | gic_raise_softirq(mask, ipi); | ||
12 | } | ||
13 | |||
14 | #endif | ||
diff --git a/arch/arm/mach-realview/platsmp.c b/arch/arm/mach-realview/platsmp.c index 23919229e12d..963bf0d8119a 100644 --- a/arch/arm/mach-realview/platsmp.c +++ b/arch/arm/mach-realview/platsmp.c | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <linux/io.h> | 14 | #include <linux/io.h> |
15 | 15 | ||
16 | #include <mach/hardware.h> | 16 | #include <mach/hardware.h> |
17 | #include <asm/hardware/gic.h> | ||
17 | #include <asm/mach-types.h> | 18 | #include <asm/mach-types.h> |
18 | #include <asm/smp_scu.h> | 19 | #include <asm/smp_scu.h> |
19 | #include <asm/unified.h> | 20 | #include <asm/unified.h> |
@@ -61,6 +62,8 @@ void __init smp_init_cpus(void) | |||
61 | 62 | ||
62 | for (i = 0; i < ncores; i++) | 63 | for (i = 0; i < ncores; i++) |
63 | set_cpu_possible(i, true); | 64 | set_cpu_possible(i, true); |
65 | |||
66 | set_smp_cross_call(gic_raise_softirq); | ||
64 | } | 67 | } |
65 | 68 | ||
66 | void __init platform_smp_prepare_cpus(unsigned int max_cpus) | 69 | void __init platform_smp_prepare_cpus(unsigned int max_cpus) |