diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2009-03-19 12:20:24 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-03-19 12:20:24 -0400 |
commit | be093beb608edf821b45fe00a8a080fb5c6ed4af (patch) | |
tree | 05751248a909761dab9ccb29fd08bf2c5683ef0d /arch/arm/plat-s3c24xx/cpu.c | |
parent | 14b6848bc0134b8838d374c423df3edda9b1490e (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/plat-s3c24xx/cpu.c')
-rw-r--r-- | arch/arm/plat-s3c24xx/cpu.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/arm/plat-s3c24xx/cpu.c b/arch/arm/plat-s3c24xx/cpu.c index 542062f8cbc1..1932b7e0da15 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) | |||
182 | * with the caches enabled. It seems at least the S3C2440 has a problem | 182 | * with the caches enabled. It seems at least the S3C2440 has a problem |
183 | * resetting if there is bus activity interrupted by the reset. | 183 | * resetting if there is bus activity interrupted by the reset. |
184 | */ | 184 | */ |
185 | static void s3c24xx_pm_restart(char mode) | 185 | static void s3c24xx_pm_restart(char mode, const char *cmd) |
186 | { | 186 | { |
187 | if (mode != 's') { | 187 | if (mode != 's') { |
188 | unsigned long flags; | 188 | unsigned long flags; |
@@ -191,12 +191,12 @@ static void s3c24xx_pm_restart(char mode) | |||
191 | __cpuc_flush_kern_all(); | 191 | __cpuc_flush_kern_all(); |
192 | __cpuc_flush_user_all(); | 192 | __cpuc_flush_user_all(); |
193 | 193 | ||
194 | arch_reset(mode); | 194 | arch_reset(mode, cmd); |
195 | local_irq_restore(flags); | 195 | local_irq_restore(flags); |
196 | } | 196 | } |
197 | 197 | ||
198 | /* fallback, or unhandled */ | 198 | /* fallback, or unhandled */ |
199 | arm_machine_restart(mode); | 199 | arm_machine_restart(mode, cmd); |
200 | } | 200 | } |
201 | 201 | ||
202 | void __init s3c24xx_init_io(struct map_desc *mach_desc, int size) | 202 | void __init s3c24xx_init_io(struct map_desc *mach_desc, int size) |