diff options
| author | Adam Lackorzynski <adam@os.inf.tu-dresden.de> | 2010-02-27 02:07:59 -0500 |
|---|---|---|
| committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2010-03-08 19:52:52 -0500 |
| commit | 5b72d74ce2fccca2a301de60f31b16ddf5c93984 (patch) | |
| tree | 52049d3ae4d69a2106e2bc4053e8c520506766fc | |
| parent | 1426d5a3bd07589534286375998c0c8c6fdc5260 (diff) | |
powerpc: Fix SMP build with disabled CPU hotplugging.
Compiling 2.6.33 with SMP enabled and HOTPLUG_CPU disabled gives me the
following link errors:
LD init/built-in.o
LD .tmp_vmlinux1
arch/powerpc/platforms/built-in.o: In function `.smp_xics_setup_cpu':
smp.c:(.devinit.text+0x88): undefined reference to `.set_cpu_current_state'
smp.c:(.devinit.text+0x94): undefined reference to `.set_default_offline_state'
arch/powerpc/platforms/built-in.o: In function `.smp_pSeries_kick_cpu':
smp.c:(.devinit.text+0x13c): undefined reference to `.set_preferred_offline_state'
smp.c:(.devinit.text+0x148): undefined reference to `.get_cpu_current_state'
smp.c:(.devinit.text+0x1a8): undefined reference to `.get_cpu_current_state'
make: *** [.tmp_vmlinux1] Error 1
The following change fixes that for me and seems to work as expected.
Signed-off-by: Adam Lackorzynski <adam@os.inf.tu-dresden.de>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
| -rw-r--r-- | arch/powerpc/platforms/pseries/offline_states.h | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/pseries/offline_states.h b/arch/powerpc/platforms/pseries/offline_states.h index 22574e0d9d91..202d8692c6a2 100644 --- a/arch/powerpc/platforms/pseries/offline_states.h +++ b/arch/powerpc/platforms/pseries/offline_states.h | |||
| @@ -9,10 +9,30 @@ enum cpu_state_vals { | |||
| 9 | CPU_MAX_OFFLINE_STATES | 9 | CPU_MAX_OFFLINE_STATES |
| 10 | }; | 10 | }; |
| 11 | 11 | ||
| 12 | #ifdef CONFIG_HOTPLUG_CPU | ||
| 12 | extern enum cpu_state_vals get_cpu_current_state(int cpu); | 13 | extern enum cpu_state_vals get_cpu_current_state(int cpu); |
| 13 | extern void set_cpu_current_state(int cpu, enum cpu_state_vals state); | 14 | extern void set_cpu_current_state(int cpu, enum cpu_state_vals state); |
| 14 | extern enum cpu_state_vals get_preferred_offline_state(int cpu); | ||
| 15 | extern void set_preferred_offline_state(int cpu, enum cpu_state_vals state); | 15 | extern void set_preferred_offline_state(int cpu, enum cpu_state_vals state); |
| 16 | extern void set_default_offline_state(int cpu); | 16 | extern void set_default_offline_state(int cpu); |
| 17 | #else | ||
| 18 | static inline enum cpu_state_vals get_cpu_current_state(int cpu) | ||
| 19 | { | ||
| 20 | return CPU_STATE_ONLINE; | ||
| 21 | } | ||
| 22 | |||
| 23 | static inline void set_cpu_current_state(int cpu, enum cpu_state_vals state) | ||
| 24 | { | ||
| 25 | } | ||
| 26 | |||
| 27 | static inline void set_preferred_offline_state(int cpu, enum cpu_state_vals state) | ||
| 28 | { | ||
| 29 | } | ||
| 30 | |||
| 31 | static inline void set_default_offline_state(int cpu) | ||
| 32 | { | ||
| 33 | } | ||
| 34 | #endif | ||
| 35 | |||
| 36 | extern enum cpu_state_vals get_preferred_offline_state(int cpu); | ||
| 17 | extern int start_secondary(void); | 37 | extern int start_secondary(void); |
| 18 | #endif | 38 | #endif |
