diff options
author | Jens Axboe <jens.axboe@oracle.com> | 2008-06-10 14:52:59 -0400 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2008-06-26 05:22:58 -0400 |
commit | 490f5de52a87063fcb40e3b22f61b0779603ff6d (patch) | |
tree | 8decf32351fcd840a743d374c0cb7f924bcd9dea /include/asm-sh | |
parent | dbcf4787d816a4694ec83b5fde1a947c3ce74d57 (diff) |
sh: convert to generic helpers for IPI function calls
This converts sh to use the new helpers for smp_call_function() and
friends, and adds support for smp_call_function_single(). Not tested,
but it compiles.
Acked-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'include/asm-sh')
-rw-r--r-- | include/asm-sh/smp.h | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/include/asm-sh/smp.h b/include/asm-sh/smp.h index 9c8d34b07ebf..593343cd26ee 100644 --- a/include/asm-sh/smp.h +++ b/include/asm-sh/smp.h | |||
@@ -26,18 +26,10 @@ extern int __cpu_logical_map[NR_CPUS]; | |||
26 | 26 | ||
27 | #define NO_PROC_ID (-1) | 27 | #define NO_PROC_ID (-1) |
28 | 28 | ||
29 | struct smp_fn_call_struct { | ||
30 | spinlock_t lock; | ||
31 | atomic_t finished; | ||
32 | void (*fn)(void *); | ||
33 | void *data; | ||
34 | }; | ||
35 | |||
36 | extern struct smp_fn_call_struct smp_fn_call; | ||
37 | |||
38 | #define SMP_MSG_FUNCTION 0 | 29 | #define SMP_MSG_FUNCTION 0 |
39 | #define SMP_MSG_RESCHEDULE 1 | 30 | #define SMP_MSG_RESCHEDULE 1 |
40 | #define SMP_MSG_NR 2 | 31 | #define SMP_MSG_FUNCTION_SINGLE 2 |
32 | #define SMP_MSG_NR 3 | ||
41 | 33 | ||
42 | void plat_smp_setup(void); | 34 | void plat_smp_setup(void); |
43 | void plat_prepare_cpus(unsigned int max_cpus); | 35 | void plat_prepare_cpus(unsigned int max_cpus); |
@@ -46,6 +38,8 @@ void plat_start_cpu(unsigned int cpu, unsigned long entry_point); | |||
46 | void plat_send_ipi(unsigned int cpu, unsigned int message); | 38 | void plat_send_ipi(unsigned int cpu, unsigned int message); |
47 | int plat_register_ipi_handler(unsigned int message, | 39 | int plat_register_ipi_handler(unsigned int message, |
48 | void (*handler)(void *), void *arg); | 40 | void (*handler)(void *), void *arg); |
41 | extern void arch_send_call_function_single_ipi(int cpu); | ||
42 | extern void arch_send_call_function_ipi(cpumask_t mask); | ||
49 | 43 | ||
50 | #else | 44 | #else |
51 | 45 | ||