diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/ppc/kernel/setup.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/arch/ppc/kernel/setup.c b/arch/ppc/kernel/setup.c index a74f46d9826f..5458ac5da7c3 100644 --- a/arch/ppc/kernel/setup.c +++ b/arch/ppc/kernel/setup.c | |||
@@ -127,11 +127,8 @@ void machine_restart(char *cmd) | |||
127 | ppc_md.restart(cmd); | 127 | ppc_md.restart(cmd); |
128 | } | 128 | } |
129 | 129 | ||
130 | void machine_power_off(void) | 130 | static void ppc_generic_power_off(void) |
131 | { | 131 | { |
132 | #ifdef CONFIG_NVRAM | ||
133 | nvram_sync(); | ||
134 | #endif | ||
135 | ppc_md.power_off(); | 132 | ppc_md.power_off(); |
136 | } | 133 | } |
137 | 134 | ||
@@ -143,7 +140,17 @@ void machine_halt(void) | |||
143 | ppc_md.halt(); | 140 | ppc_md.halt(); |
144 | } | 141 | } |
145 | 142 | ||
146 | void (*pm_power_off)(void) = machine_power_off; | 143 | void (*pm_power_off)(void) = ppc_generic_power_off; |
144 | |||
145 | void machine_power_off(void) | ||
146 | { | ||
147 | #ifdef CONFIG_NVRAM | ||
148 | nvram_sync(); | ||
149 | #endif | ||
150 | if (pm_power_off) | ||
151 | pm_power_off(); | ||
152 | ppc_generic_power_off(); | ||
153 | } | ||
147 | 154 | ||
148 | #ifdef CONFIG_TAU | 155 | #ifdef CONFIG_TAU |
149 | extern u32 cpu_temp(unsigned long cpu); | 156 | extern u32 cpu_temp(unsigned long cpu); |