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 |