aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-s3c24xx/cpu.c
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2009-03-19 16:20:24 +0000
committerRussell King <rmk+kernel@arm.linux.org.uk>2009-03-19 16:20:24 +0000
commitbe093beb608edf821b45fe00a8a080fb5c6ed4af (patch)
tree05751248a909761dab9ccb29fd08bf2c5683ef0d /arch/arm/plat-s3c24xx/cpu.c
parent14b6848bc0134b8838d374c423df3edda9b1490e (diff)
downloadkernel_samsung_smdk4412-be093beb608edf821b45fe00a8a080fb5c6ed4af.zip
kernel_samsung_smdk4412-be093beb608edf821b45fe00a8a080fb5c6ed4af.tar.gz
kernel_samsung_smdk4412-be093beb608edf821b45fe00a8a080fb5c6ed4af.tar.bz2
[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/plat-s3c24xx/cpu.c')
-rw-r--r--arch/arm/plat-s3c24xx/cpu.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/arm/plat-s3c24xx/cpu.c b/arch/arm/plat-s3c24xx/cpu.c
index 542062f..1932b7e 100644
--- a/arch/arm/plat-s3c24xx/cpu.c
+++ b/arch/arm/plat-s3c24xx/cpu.c
@@ -182,7 +182,7 @@ static unsigned long s3c24xx_read_idcode_v4(void)
* with the caches enabled. It seems at least the S3C2440 has a problem
* resetting if there is bus activity interrupted by the reset.
*/
-static void s3c24xx_pm_restart(char mode)
+static void s3c24xx_pm_restart(char mode, const char *cmd)
{
if (mode != 's') {
unsigned long flags;
@@ -191,12 +191,12 @@ static void s3c24xx_pm_restart(char mode)
__cpuc_flush_kern_all();
__cpuc_flush_user_all();
- arch_reset(mode);
+ arch_reset(mode, cmd);
local_irq_restore(flags);
}
/* fallback, or unhandled */
- arm_machine_restart(mode);
+ arm_machine_restart(mode, cmd);
}
void __init s3c24xx_init_io(struct map_desc *mach_desc, int size)