Commit ff84ded2 authored by Kukjin Kim's avatar Kukjin Kim Committed by Russell King

ARM: 7266/1: restart: S3C64XX: use new restart hook

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: default avatarKukjin Kim <kgene.kim@samsung.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent b27b0727
...@@ -44,6 +44,7 @@ ...@@ -44,6 +44,7 @@
#include <plat/irq-vic-timer.h> #include <plat/irq-vic-timer.h>
#include <plat/regs-irqtype.h> #include <plat/regs-irqtype.h>
#include <plat/regs-serial.h> #include <plat/regs-serial.h>
#include <plat/watchdog-reset.h>
#include "common.h" #include "common.h"
...@@ -373,3 +374,12 @@ static int __init s3c64xx_init_irq_eint(void) ...@@ -373,3 +374,12 @@ static int __init s3c64xx_init_irq_eint(void)
return 0; return 0;
} }
arch_initcall(s3c64xx_init_irq_eint); arch_initcall(s3c64xx_init_irq_eint);
void s3c64xx_restart(char mode, const char *cmd)
{
if (mode != 's')
arch_wdt_reset();
/* if all else fails, or mode was for soft, jump to 0 */
soft_restart(0);
}
...@@ -23,6 +23,8 @@ void s3c64xx_init_io(struct map_desc *mach_desc, int size); ...@@ -23,6 +23,8 @@ void s3c64xx_init_io(struct map_desc *mach_desc, int size);
void s3c64xx_register_clocks(unsigned long xtal, unsigned armclk_limit); void s3c64xx_register_clocks(unsigned long xtal, unsigned armclk_limit);
void s3c64xx_setup_clocks(void); void s3c64xx_setup_clocks(void);
void s3c64xx_restart(char mode, const char *cmd);
extern struct syscore_ops s3c64xx_irq_syscore_ops; extern struct syscore_ops s3c64xx_irq_syscore_ops;
extern struct sysdev_class s3c64xx_sysclass; extern struct sysdev_class s3c64xx_sysclass;
......
...@@ -11,8 +11,6 @@ ...@@ -11,8 +11,6 @@
#ifndef __ASM_ARCH_SYSTEM_H #ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H __FILE__ #define __ASM_ARCH_SYSTEM_H __FILE__
#include <plat/watchdog-reset.h>
static void arch_idle(void) static void arch_idle(void)
{ {
/* nothing here yet */ /* nothing here yet */
...@@ -20,11 +18,6 @@ static void arch_idle(void) ...@@ -20,11 +18,6 @@ static void arch_idle(void)
static void arch_reset(char mode, const char *cmd) static void arch_reset(char mode, const char *cmd)
{ {
if (mode != 's')
arch_wdt_reset();
/* if all else fails, or mode was for soft, jump to 0 */
soft_restart(0);
} }
#endif /* __ASM_ARCH_IRQ_H */ #endif /* __ASM_ARCH_IRQ_H */
...@@ -240,4 +240,5 @@ MACHINE_START(ANW6410, "A&W6410") ...@@ -240,4 +240,5 @@ MACHINE_START(ANW6410, "A&W6410")
.map_io = anw6410_map_io, .map_io = anw6410_map_io,
.init_machine = anw6410_machine_init, .init_machine = anw6410_machine_init,
.timer = &s3c24xx_timer, .timer = &s3c24xx_timer,
.restart = s3c64xx_restart,
MACHINE_END MACHINE_END
...@@ -715,4 +715,5 @@ MACHINE_START(WLF_CRAGG_6410, "Wolfson Cragganmore 6410") ...@@ -715,4 +715,5 @@ MACHINE_START(WLF_CRAGG_6410, "Wolfson Cragganmore 6410")
.map_io = crag6410_map_io, .map_io = crag6410_map_io,
.init_machine = crag6410_machine_init, .init_machine = crag6410_machine_init,
.timer = &s3c24xx_timer, .timer = &s3c24xx_timer,
.restart = s3c64xx_restart,
MACHINE_END MACHINE_END
...@@ -271,4 +271,5 @@ MACHINE_START(HMT, "Airgoo-HMT") ...@@ -271,4 +271,5 @@ MACHINE_START(HMT, "Airgoo-HMT")
.map_io = hmt_map_io, .map_io = hmt_map_io,
.init_machine = hmt_machine_init, .init_machine = hmt_machine_init,
.timer = &s3c24xx_timer, .timer = &s3c24xx_timer,
.restart = s3c64xx_restart,
MACHINE_END MACHINE_END
...@@ -349,4 +349,5 @@ MACHINE_START(MINI6410, "MINI6410") ...@@ -349,4 +349,5 @@ MACHINE_START(MINI6410, "MINI6410")
.map_io = mini6410_map_io, .map_io = mini6410_map_io,
.init_machine = mini6410_machine_init, .init_machine = mini6410_machine_init,
.timer = &s3c24xx_timer, .timer = &s3c24xx_timer,
.restart = s3c64xx_restart,
MACHINE_END MACHINE_END
...@@ -103,4 +103,5 @@ MACHINE_START(NCP, "NCP") ...@@ -103,4 +103,5 @@ MACHINE_START(NCP, "NCP")
.map_io = ncp_map_io, .map_io = ncp_map_io,
.init_machine = ncp_machine_init, .init_machine = ncp_machine_init,
.timer = &s3c24xx_timer, .timer = &s3c24xx_timer,
.restart = s3c64xx_restart,
MACHINE_END MACHINE_END
...@@ -330,4 +330,5 @@ MACHINE_START(REAL6410, "REAL6410") ...@@ -330,4 +330,5 @@ MACHINE_START(REAL6410, "REAL6410")
.map_io = real6410_map_io, .map_io = real6410_map_io,
.init_machine = real6410_machine_init, .init_machine = real6410_machine_init,
.timer = &s3c24xx_timer, .timer = &s3c24xx_timer,
.restart = s3c64xx_restart,
MACHINE_END MACHINE_END
...@@ -151,4 +151,5 @@ MACHINE_START(SMARTQ5, "SmartQ 5") ...@@ -151,4 +151,5 @@ MACHINE_START(SMARTQ5, "SmartQ 5")
.map_io = smartq_map_io, .map_io = smartq_map_io,
.init_machine = smartq5_machine_init, .init_machine = smartq5_machine_init,
.timer = &s3c24xx_timer, .timer = &s3c24xx_timer,
.restart = s3c64xx_restart,
MACHINE_END MACHINE_END
...@@ -167,4 +167,5 @@ MACHINE_START(SMARTQ7, "SmartQ 7") ...@@ -167,4 +167,5 @@ MACHINE_START(SMARTQ7, "SmartQ 7")
.map_io = smartq_map_io, .map_io = smartq_map_io,
.init_machine = smartq7_machine_init, .init_machine = smartq7_machine_init,
.timer = &s3c24xx_timer, .timer = &s3c24xx_timer,
.restart = s3c64xx_restart,
MACHINE_END MACHINE_END
...@@ -92,4 +92,5 @@ MACHINE_START(SMDK6400, "SMDK6400") ...@@ -92,4 +92,5 @@ MACHINE_START(SMDK6400, "SMDK6400")
.map_io = smdk6400_map_io, .map_io = smdk6400_map_io,
.init_machine = smdk6400_machine_init, .init_machine = smdk6400_machine_init,
.timer = &s3c24xx_timer, .timer = &s3c24xx_timer,
.restart = s3c64xx_restart,
MACHINE_END MACHINE_END
...@@ -704,4 +704,5 @@ MACHINE_START(SMDK6410, "SMDK6410") ...@@ -704,4 +704,5 @@ MACHINE_START(SMDK6410, "SMDK6410")
.map_io = smdk6410_map_io, .map_io = smdk6410_map_io,
.init_machine = smdk6410_machine_init, .init_machine = smdk6410_machine_init,
.timer = &s3c24xx_timer, .timer = &s3c24xx_timer,
.restart = s3c64xx_restart,
MACHINE_END MACHINE_END
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include <linux/clk.h> #include <linux/clk.h>
#include <linux/err.h> #include <linux/err.h>
#include <linux/io.h> #include <linux/io.h>
#include <linux/delay.h>
static inline void arch_wdt_reset(void) static inline void arch_wdt_reset(void)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment