diff options
author | Kumar Gala <galak@gate.crashing.org> | 2006-01-13 11:15:17 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-01-13 19:12:23 -0500 |
commit | b8e383d592daaa35c944a9083ee92c995dce66ca (patch) | |
tree | c6ca29847f47f3a5cbb77b6529d8982c837d1029 /arch/powerpc/kernel/setup-common.c | |
parent | 7a45fb19cef93574230827e6e2c97ad5760ddecd (diff) |
[PATCH] powerpc: Allow for ppc_md restart, power_off, and halt to be NULL
On a number of embedded reference boards there isn't always a
way to reset, power_off, or halt the board. Rather than having
each board implement a spin loop just let the generic code do
it.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
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 |