Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 17f9c8a7 authored by Milton Miller's avatar Milton Miller Committed by Benjamin Herrenschmidt
Browse files

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: default avatarMilton Miller <miltonm@bga.com>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent d4fc8fe1
Loading
Loading
Loading
Loading
+0 −21
Original line number Original line Diff line number Diff line
@@ -29,21 +29,6 @@ struct file;
struct pci_controller;
struct pci_controller;
struct kimage;
struct kimage;


#ifdef CONFIG_SMP
struct smp_ops_t {
	void  (*message_pass)(int cpu, int msg);
	int   (*probe)(void);
	int   (*kick_cpu)(int nr);
	void  (*setup_cpu)(int nr);
	void  (*bringup_done)(void);
	void  (*take_timebase)(void);
	void  (*give_timebase)(void);
	int   (*cpu_disable)(void);
	void  (*cpu_die)(unsigned int nr);
	int   (*cpu_bootable)(unsigned int nr);
};
#endif

struct machdep_calls {
struct machdep_calls {
	char		*name;
	char		*name;
#ifdef CONFIG_PPC64
#ifdef CONFIG_PPC64
@@ -312,12 +297,6 @@ extern sys_ctrler_t sys_ctrler;


#endif /* CONFIG_PPC_PMAC */
#endif /* CONFIG_PPC_PMAC */


#ifdef CONFIG_SMP
/* Poor default implementations */
extern void __devinit smp_generic_give_timebase(void);
extern void __devinit smp_generic_take_timebase(void);
#endif /* CONFIG_SMP */



/* Functions to produce codes on the leds.
/* Functions to produce codes on the leds.
 * The SRC code should be unique for the message category and should
 * The SRC code should be unique for the message category and should
+15 −0
Original line number Original line Diff line number Diff line
@@ -35,9 +35,24 @@ extern void cpu_die(void);


#ifdef CONFIG_SMP
#ifdef CONFIG_SMP


struct smp_ops_t {
	void  (*message_pass)(int cpu, int msg);
	int   (*probe)(void);
	int   (*kick_cpu)(int nr);
	void  (*setup_cpu)(int nr);
	void  (*bringup_done)(void);
	void  (*take_timebase)(void);
	void  (*give_timebase)(void);
	int   (*cpu_disable)(void);
	void  (*cpu_die)(unsigned int nr);
	int   (*cpu_bootable)(unsigned int nr);
};

extern void smp_send_debugger_break(void);
extern void smp_send_debugger_break(void);
extern void smp_message_recv(int);
extern void smp_message_recv(int);
extern void start_secondary_resume(void);
extern void start_secondary_resume(void);
extern void __devinit smp_generic_give_timebase(void);
extern void __devinit smp_generic_take_timebase(void);


DECLARE_PER_CPU(unsigned int, cpu_pvr);
DECLARE_PER_CPU(unsigned int, cpu_pvr);