diff options
Diffstat (limited to 'arch/powerpc/kernel/setup-common.c')
| -rw-r--r-- | arch/powerpc/kernel/setup-common.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c index d5c52fae023a..be12041c0fc5 100644 --- a/arch/powerpc/kernel/setup-common.c +++ b/arch/powerpc/kernel/setup-common.c | |||
| @@ -100,7 +100,8 @@ void machine_shutdown(void) | |||
| 100 | void machine_restart(char *cmd) | 100 | void machine_restart(char *cmd) |
| 101 | { | 101 | { |
| 102 | machine_shutdown(); | 102 | machine_shutdown(); |
| 103 | ppc_md.restart(cmd); | 103 | if (ppc_md.restart) |
| 104 | ppc_md.restart(cmd); | ||
| 104 | #ifdef CONFIG_SMP | 105 | #ifdef CONFIG_SMP |
| 105 | smp_send_stop(); | 106 | smp_send_stop(); |
| 106 | #endif | 107 | #endif |
| @@ -112,7 +113,8 @@ void machine_restart(char *cmd) | |||
| 112 | void machine_power_off(void) | 113 | void machine_power_off(void) |
| 113 | { | 114 | { |
| 114 | machine_shutdown(); | 115 | machine_shutdown(); |
| 115 | ppc_md.power_off(); | 116 | if (ppc_md.power_off) |
| 117 | ppc_md.power_off(); | ||
| 116 | #ifdef CONFIG_SMP | 118 | #ifdef CONFIG_SMP |
| 117 | smp_send_stop(); | 119 | smp_send_stop(); |
| 118 | #endif | 120 | #endif |
| @@ -129,7 +131,8 @@ EXPORT_SYMBOL_GPL(pm_power_off); | |||
| 129 | void machine_halt(void) | 131 | void machine_halt(void) |
| 130 | { | 132 | { |
| 131 | machine_shutdown(); | 133 | machine_shutdown(); |
| 132 | ppc_md.halt(); | 134 | if (ppc_md.halt) |
| 135 | ppc_md.halt(); | ||
| 133 | #ifdef CONFIG_SMP | 136 | #ifdef CONFIG_SMP |
| 134 | smp_send_stop(); | 137 | smp_send_stop(); |
| 135 | #endif | 138 | #endif |
