diff options
Diffstat (limited to 'arch/arm/kernel/process.c')
-rw-r--r-- | arch/arm/kernel/process.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c index a0a691d1cbee..fe972a2f3df3 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c | |||
@@ -114,18 +114,13 @@ void soft_restart(unsigned long addr) | |||
114 | BUG(); | 114 | BUG(); |
115 | } | 115 | } |
116 | 116 | ||
117 | static void null_restart(enum reboot_mode reboot_mode, const char *cmd) | ||
118 | { | ||
119 | } | ||
120 | |||
121 | /* | 117 | /* |
122 | * Function pointers to optional machine specific functions | 118 | * Function pointers to optional machine specific functions |
123 | */ | 119 | */ |
124 | void (*pm_power_off)(void); | 120 | void (*pm_power_off)(void); |
125 | EXPORT_SYMBOL(pm_power_off); | 121 | EXPORT_SYMBOL(pm_power_off); |
126 | 122 | ||
127 | void (*arm_pm_restart)(enum reboot_mode reboot_mode, const char *cmd) = null_restart; | 123 | void (*arm_pm_restart)(enum reboot_mode reboot_mode, const char *cmd); |
128 | EXPORT_SYMBOL_GPL(arm_pm_restart); | ||
129 | 124 | ||
130 | /* | 125 | /* |
131 | * This is our default idle handler. | 126 | * This is our default idle handler. |
@@ -230,7 +225,10 @@ void machine_restart(char *cmd) | |||
230 | local_irq_disable(); | 225 | local_irq_disable(); |
231 | smp_send_stop(); | 226 | smp_send_stop(); |
232 | 227 | ||
233 | arm_pm_restart(reboot_mode, cmd); | 228 | if (arm_pm_restart) |
229 | arm_pm_restart(reboot_mode, cmd); | ||
230 | else | ||
231 | do_kernel_restart(cmd); | ||
234 | 232 | ||
235 | /* Give a grace period for failure to restart of 1s */ | 233 | /* Give a grace period for failure to restart of 1s */ |
236 | mdelay(1000); | 234 | mdelay(1000); |