ARM: 7250/1: restart: S5P64X0: use new restart hook
authorKukjin Kim <kgene.kim@samsung.com>
Thu, 22 Dec 2011 22:34:25 +0000 (23:34 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 5 Jan 2012 12:57:19 +0000 (12:57 +0000)
Hook these platforms restart code into the new restart hook rather
than using arch_reset().

Cc: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-s5p64x0/common.c
arch/arm/mach-s5p64x0/common.h
arch/arm/mach-s5p64x0/mach-smdk6440.c
arch/arm/mach-s5p64x0/mach-smdk6450.c

index af02dc3..b7555a0 100644 (file)
@@ -45,6 +45,7 @@
 #include <plat/gpio-cfg.h>
 #include <plat/regs-irqtype.h>
 #include <plat/regs-serial.h>
+#include <plat/watchdog-reset.h>
 
 #include "common.h"
 
@@ -457,3 +458,11 @@ static int __init s5p64x0_init_irq_eint(void)
        return ret;
 }
 arch_initcall(s5p64x0_init_irq_eint);
+
+void s5p64x0_restart(char mode, const char *cmd)
+{
+       if (mode != 's')
+               arch_wdt_reset();
+
+       soft_restart(0);
+}
index 8a1eca5..f8a60fd 100644 (file)
@@ -22,6 +22,8 @@ void s5p6440_setup_clocks(void);
 void s5p6450_register_clocks(void);
 void s5p6450_setup_clocks(void);
 
+void s5p64x0_restart(char mode, const char *cmd);
+
 #ifdef CONFIG_CPU_S5P6440
 
 extern  int s5p64x0_init(void);
index 646fc99..14ace6d 100644 (file)
@@ -246,4 +246,5 @@ MACHINE_START(SMDK6440, "SMDK6440")
        .map_io         = smdk6440_map_io,
        .init_machine   = smdk6440_machine_init,
        .timer          = &s5p_timer,
+       .restart        = s5p64x0_restart,
 MACHINE_END
index 90463dd..924478a 100644 (file)
@@ -266,4 +266,5 @@ MACHINE_START(SMDK6450, "SMDK6450")
        .map_io         = smdk6450_map_io,
        .init_machine   = smdk6450_machine_init,
        .timer          = &s5p_timer,
+       .restart        = s5p64x0_restart,
 MACHINE_END