From b23fcd9035a35b032c624ac2f23f40ea941d5355 Mon Sep 17 00:00:00 2001 From: Russell King Date: Sat, 5 Nov 2011 12:17:40 +0000 Subject: 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 --- arch/arm/mach-lpc32xx/common.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'arch/arm/mach-lpc32xx/common.c') diff --git a/arch/arm/mach-lpc32xx/common.c b/arch/arm/mach-lpc32xx/common.c index 205b2dbb565b..b049fd1eb8e1 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) + ; +} -- cgit v1.2.3 From e6849374f3fcec5a51ab6df40ae4d8034ba1c5e0 Mon Sep 17 00:00:00 2001 From: Russell King Date: Sat, 5 Nov 2011 12:18:20 +0000 Subject: ARM: restart: lpc32xx & u300: remove unnecessary printk Remove the: KERN_CRIT "RESET: Rebooting system\n" (lpc32xx) KERN_CRIT "RESET: shutting down/rebooting system\n" (u300) printk from the restart handler; we already print such a message from kernel_restart() in kernel/sys.c: KERN_EMERG "Restarting system.\n" so this is unnecessary. Acked-by: Linus Walleij Signed-off-by: Russell King --- arch/arm/mach-lpc32xx/common.c | 2 -- arch/arm/mach-u300/core.c | 1 - 2 files changed, 3 deletions(-) (limited to 'arch/arm/mach-lpc32xx/common.c') diff --git a/arch/arm/mach-lpc32xx/common.c b/arch/arm/mach-lpc32xx/common.c index b049fd1eb8e1..369b152896cd 100644 --- a/arch/arm/mach-lpc32xx/common.c +++ b/arch/arm/mach-lpc32xx/common.c @@ -317,8 +317,6 @@ 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; diff --git a/arch/arm/mach-u300/core.c b/arch/arm/mach-u300/core.c index 27be5a794f62..697930761b3e 100644 --- a/arch/arm/mach-u300/core.c +++ b/arch/arm/mach-u300/core.c @@ -1897,7 +1897,6 @@ void u300_restart(char mode, const char *cmd) switch (mode) { case 's': case 'h': - printk(KERN_CRIT "RESET: shutting down/rebooting system\n"); #ifdef CONFIG_COH901327_WATCHDOG coh901327_watchdog_reset(); #endif -- cgit v1.2.3