diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-11-05 12:17:40 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-01-05 12:57:15 +0000 |
commit | b23fcd9035a35b032c624ac2f23f40ea941d5355 (patch) | |
tree | a9727f35b03a98626ba235a0947a4e5d80002a1b /arch/arm/mach-lpc32xx/common.c | |
parent | 114c19b7b53523a6304c4b4fc51a22d006da3726 (diff) | |
download | op-kernel-dev-b23fcd9035a35b032c624ac2f23f40ea941d5355.zip op-kernel-dev-b23fcd9035a35b032c624ac2f23f40ea941d5355.tar.gz |
ARM: restart: lpc32xx: use new restart hook
Hook these platforms restart code into the arm_pm_restart hook rather
than using arch_reset().
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-lpc32xx/common.c')
-rw-r--r-- | arch/arm/mach-lpc32xx/common.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/arch/arm/mach-lpc32xx/common.c b/arch/arm/mach-lpc32xx/common.c index 205b2db..b049fd1 100644 --- a/arch/arm/mach-lpc32xx/common.c +++ b/arch/arm/mach-lpc32xx/common.c @@ -164,7 +164,7 @@ int clk_is_sysclk_mainosc(void) /* * System reset via the watchdog timer */ -void lpc32xx_watchdog_reset(void) +static void lpc32xx_watchdog_reset(void) { /* Make sure WDT clocks are enabled */ __raw_writel(LPC32XX_CLKPWR_PWMCLK_WDOG_EN, @@ -311,3 +311,23 @@ void __init lpc32xx_map_io(void) { iotable_init(lpc32xx_io_desc, ARRAY_SIZE(lpc32xx_io_desc)); } + +void lpc23xx_restart(char mode, const char *cmd) +{ + switch (mode) { + case 's': + case 'h': + printk(KERN_CRIT "RESET: Rebooting system\n"); + + lpc32xx_watchdog_reset(); + break; + + default: + /* Do nothing */ + break; + } + + /* Wait for watchdog to reset system */ + while (1) + ; +} |