aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorMilton Miller <miltonm@bga.com>2011-05-10 15:29:35 -0400
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2011-05-19 01:31:01 -0400
commit17f9c8a73bac2c7dfe28a520516ea6b8bbbe977e (patch)
treefc198e4fe670f23639e16dda81e6962fc323aa0e /arch/powerpc
parentd4fc8fe1f66f46493d3c56436685eef3b5b32b07 (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.h21
-rw-r--r--arch/powerpc/include/asm/smp.h15
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;
29struct pci_controller; 29struct pci_controller;
30struct kimage; 30struct kimage;
31 31
32#ifdef CONFIG_SMP
33struct 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
47struct machdep_calls { 32struct 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 */
317extern void __devinit smp_generic_give_timebase(void);
318extern 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
38struct 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
38extern void smp_send_debugger_break(void); 51extern void smp_send_debugger_break(void);
39extern void smp_message_recv(int); 52extern void smp_message_recv(int);
40extern void start_secondary_resume(void); 53extern void start_secondary_resume(void);
54extern void __devinit smp_generic_give_timebase(void);
55extern void __devinit smp_generic_take_timebase(void);
41 56
42DECLARE_PER_CPU(unsigned int, cpu_pvr); 57DECLARE_PER_CPU(unsigned int, cpu_pvr);
43 58