aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/process.c
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2009-03-19 12:20:24 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2009-03-19 12:20:24 -0400
commitbe093beb608edf821b45fe00a8a080fb5c6ed4af (patch)
tree05751248a909761dab9ccb29fd08bf2c5683ef0d /arch/arm/kernel/process.c
parent14b6848bc0134b8838d374c423df3edda9b1490e (diff)
[ARM] pass reboot command line to arch_reset()
OMAP wishes to pass state to the boot loader upon reboot in order to instruct it whether to wait for USB-based reflashing or not. There is already a facility to do this via the reboot() syscall, except we ignore the string passed to machine_restart(). This patch fixes things to pass this string to arch_reset(). This means that we keep the reboot mode limited to telling the kernel _how_ to perform the reboot which should be independent of what we request the boot loader to do. Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel/process.c')
-rw-r--r--arch/arm/kernel/process.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
index af377c73d90b..2de14e2afdc5 100644
--- a/arch/arm/kernel/process.c
+++ b/arch/arm/kernel/process.c
@@ -83,7 +83,7 @@ static int __init hlt_setup(char *__unused)
83__setup("nohlt", nohlt_setup); 83__setup("nohlt", nohlt_setup);
84__setup("hlt", hlt_setup); 84__setup("hlt", hlt_setup);
85 85
86void arm_machine_restart(char mode) 86void arm_machine_restart(char mode, const char *cmd)
87{ 87{
88 /* 88 /*
89 * Clean and disable cache, and turn off interrupts 89 * Clean and disable cache, and turn off interrupts
@@ -100,7 +100,7 @@ void arm_machine_restart(char mode)
100 /* 100 /*
101 * Now call the architecture specific reboot code. 101 * Now call the architecture specific reboot code.
102 */ 102 */
103 arch_reset(mode); 103 arch_reset(mode, cmd);
104 104
105 /* 105 /*
106 * Whoops - the architecture was unable to reboot. 106 * Whoops - the architecture was unable to reboot.
@@ -120,7 +120,7 @@ EXPORT_SYMBOL(pm_idle);
120void (*pm_power_off)(void); 120void (*pm_power_off)(void);
121EXPORT_SYMBOL(pm_power_off); 121EXPORT_SYMBOL(pm_power_off);
122 122
123void (*arm_pm_restart)(char str) = arm_machine_restart; 123void (*arm_pm_restart)(char str, const char *cmd) = arm_machine_restart;
124EXPORT_SYMBOL_GPL(arm_pm_restart); 124EXPORT_SYMBOL_GPL(arm_pm_restart);
125 125
126 126
@@ -195,9 +195,9 @@ void machine_power_off(void)
195 pm_power_off(); 195 pm_power_off();
196} 196}
197 197
198void machine_restart(char * __unused) 198void machine_restart(char *cmd)
199{ 199{
200 arm_pm_restart(reboot_mode); 200 arm_pm_restart(reboot_mode, cmd);
201} 201}
202 202
203void __show_regs(struct pt_regs *regs) 203void __show_regs(struct pt_regs *regs)