diff options
author | Paul Mundt <lethal@linux-sh.org> | 2011-01-06 20:51:35 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2011-01-06 20:51:35 -0500 |
commit | e9d728f528f9548c8dd013899b23e662fa7b6bca (patch) | |
tree | d88a5df6e5a2b33ebe088ad0223fe54679a59df3 /arch/arm/mach-shmobile/include | |
parent | 018a3fc7e3824ffcc80ad0160f9782c7d577c0c1 (diff) | |
parent | 6155f77d09b968f591876f368d4843168910449e (diff) |
Merge branch 'rmobile/smp' into rmobile-latest
Conflicts:
arch/arm/Kconfig
arch/arm/mach-shmobile/include/mach/entry-macro-intc.S
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/arm/mach-shmobile/include')
-rw-r--r-- | arch/arm/mach-shmobile/include/mach/common.h | 6 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/include/mach/smp.h | 16 |
2 files changed, 22 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/include/mach/common.h b/arch/arm/mach-shmobile/include/mach/common.h index 9f46cf5ca75f..013ac0ee8256 100644 --- a/arch/arm/mach-shmobile/include/mach/common.h +++ b/arch/arm/mach-shmobile/include/mach/common.h | |||
@@ -3,6 +3,7 @@ | |||
3 | 3 | ||
4 | extern struct sys_timer shmobile_timer; | 4 | extern struct sys_timer shmobile_timer; |
5 | extern void shmobile_setup_console(void); | 5 | extern void shmobile_setup_console(void); |
6 | extern void shmobile_secondary_vector(void); | ||
6 | struct clk; | 7 | struct clk; |
7 | extern int clk_init(void); | 8 | extern int clk_init(void); |
8 | extern void shmobile_handle_irq_intc(struct pt_regs *); | 9 | extern void shmobile_handle_irq_intc(struct pt_regs *); |
@@ -40,4 +41,9 @@ extern void sh73a0_pinmux_init(void); | |||
40 | extern struct clk sh73a0_extal1_clk; | 41 | extern struct clk sh73a0_extal1_clk; |
41 | extern struct clk sh73a0_extal2_clk; | 42 | extern struct clk sh73a0_extal2_clk; |
42 | 43 | ||
44 | extern unsigned int sh73a0_get_core_count(void); | ||
45 | extern void sh73a0_secondary_init(unsigned int cpu); | ||
46 | extern int sh73a0_boot_secondary(unsigned int cpu); | ||
47 | extern void sh73a0_smp_prepare_cpus(void); | ||
48 | |||
43 | #endif /* __ARCH_MACH_COMMON_H */ | 49 | #endif /* __ARCH_MACH_COMMON_H */ |
diff --git a/arch/arm/mach-shmobile/include/mach/smp.h b/arch/arm/mach-shmobile/include/mach/smp.h new file mode 100644 index 000000000000..f4a35ff82c67 --- /dev/null +++ b/arch/arm/mach-shmobile/include/mach/smp.h | |||
@@ -0,0 +1,16 @@ | |||
1 | #ifndef __MACH_SMP_H | ||
2 | #define __MACH_SMP_H | ||
3 | |||
4 | #include <asm/hardware/gic.h> | ||
5 | #include <asm/smp_mpidr.h> | ||
6 | |||
7 | /* | ||
8 | * We use IRQ1 as the IPI | ||
9 | */ | ||
10 | static inline void smp_cross_call(const struct cpumask *mask) | ||
11 | { | ||
12 | #if defined(CONFIG_ARM_GIC) | ||
13 | gic_raise_softirq(mask, 1); | ||
14 | #endif | ||
15 | } | ||
16 | #endif | ||