diff options
author | Milton Miller <miltonm@bga.com> | 2011-05-10 15:29:35 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2011-05-19 01:31:01 -0400 |
commit | 17f9c8a73bac2c7dfe28a520516ea6b8bbbe977e (patch) | |
tree | fc198e4fe670f23639e16dda81e6962fc323aa0e /arch/powerpc | |
parent | d4fc8fe1f66f46493d3c56436685eef3b5b32b07 (diff) |
powerpc: Move smp_ops_t from machdep.h to smp.h
I can't see any reason these functions are needed by machdep.h
and they are all hidden by CONFIG_SMP with no UP alternative.
Also move the declarations for the fallback timebase ops, which
are used to fill in the smp ops.
Signed-off-by: Milton Miller <miltonm@bga.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/include/asm/machdep.h | 21 | ||||
-rw-r--r-- | arch/powerpc/include/asm/smp.h | 15 |
2 files changed, 15 insertions, 21 deletions
diff --git a/arch/powerpc/include/asm/machdep.h b/arch/powerpc/include/asm/machdep.h index b0802a5bd744..47cacddb14cf 100644 --- a/arch/powerpc/include/asm/machdep.h +++ b/arch/powerpc/include/asm/machdep.h | |||
@@ -29,21 +29,6 @@ struct file; | |||
29 | struct pci_controller; | 29 | struct pci_controller; |
30 | struct kimage; | 30 | struct kimage; |
31 | 31 | ||
32 | #ifdef CONFIG_SMP | ||
33 | struct smp_ops_t { | ||
34 | void (*message_pass)(int cpu, int msg); | ||
35 | int (*probe)(void); | ||
36 | int (*kick_cpu)(int nr); | ||
37 | void (*setup_cpu)(int nr); | ||
38 | void (*bringup_done)(void); | ||
39 | void (*take_timebase)(void); | ||
40 | void (*give_timebase)(void); | ||
41 | int (*cpu_disable)(void); | ||
42 | void (*cpu_die)(unsigned int nr); | ||
43 | int (*cpu_bootable)(unsigned int nr); | ||
44 | }; | ||
45 | #endif | ||
46 | |||
47 | struct machdep_calls { | 32 | struct machdep_calls { |
48 | char *name; | 33 | char *name; |
49 | #ifdef CONFIG_PPC64 | 34 | #ifdef CONFIG_PPC64 |
@@ -312,12 +297,6 @@ extern sys_ctrler_t sys_ctrler; | |||
312 | 297 | ||
313 | #endif /* CONFIG_PPC_PMAC */ | 298 | #endif /* CONFIG_PPC_PMAC */ |
314 | 299 | ||
315 | #ifdef CONFIG_SMP | ||
316 | /* Poor default implementations */ | ||
317 | extern void __devinit smp_generic_give_timebase(void); | ||
318 | extern void __devinit smp_generic_take_timebase(void); | ||
319 | #endif /* CONFIG_SMP */ | ||
320 | |||
321 | 300 | ||
322 | /* Functions to produce codes on the leds. | 301 | /* Functions to produce codes on the leds. |
323 | * The SRC code should be unique for the message category and should | 302 | * The SRC code should be unique for the message category and should |
diff --git a/arch/powerpc/include/asm/smp.h b/arch/powerpc/include/asm/smp.h index 91472c56800f..6f7c95c0027a 100644 --- a/arch/powerpc/include/asm/smp.h +++ b/arch/powerpc/include/asm/smp.h | |||
@@ -35,9 +35,24 @@ extern void cpu_die(void); | |||
35 | 35 | ||
36 | #ifdef CONFIG_SMP | 36 | #ifdef CONFIG_SMP |
37 | 37 | ||
38 | struct smp_ops_t { | ||
39 | void (*message_pass)(int cpu, int msg); | ||
40 | int (*probe)(void); | ||
41 | int (*kick_cpu)(int nr); | ||
42 | void (*setup_cpu)(int nr); | ||
43 | void (*bringup_done)(void); | ||
44 | void (*take_timebase)(void); | ||
45 | void (*give_timebase)(void); | ||
46 | int (*cpu_disable)(void); | ||
47 | void (*cpu_die)(unsigned int nr); | ||
48 | int (*cpu_bootable)(unsigned int nr); | ||
49 | }; | ||
50 | |||
38 | extern void smp_send_debugger_break(void); | 51 | extern void smp_send_debugger_break(void); |
39 | extern void smp_message_recv(int); | 52 | extern void smp_message_recv(int); |
40 | extern void start_secondary_resume(void); | 53 | extern void start_secondary_resume(void); |
54 | extern void __devinit smp_generic_give_timebase(void); | ||
55 | extern void __devinit smp_generic_take_timebase(void); | ||
41 | 56 | ||
42 | DECLARE_PER_CPU(unsigned int, cpu_pvr); | 57 | DECLARE_PER_CPU(unsigned int, cpu_pvr); |
43 | 58 | ||