From: Russell King Date: Sat, 5 Nov 2011 10:23:27 +0000 (+0000) Subject: ARM: restart: prima2: use new restart hook X-Git-Tag: next-20111202~91^2~1^3~14 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=dabcb2e91c3c63eb053e7500a33374dbb84c8cdf;p=karo-tx-linux.git ARM: restart: prima2: use new restart hook Hook these platforms restart code into the new restart hook rather than using arch_reset(). Reviewed-by: Barry Song Signed-off-by: Russell King --- diff --git a/arch/arm/mach-prima2/common.h b/arch/arm/mach-prima2/common.h index 83e5d2128118..b28a930d4f8a 100644 --- a/arch/arm/mach-prima2/common.h +++ b/arch/arm/mach-prima2/common.h @@ -16,6 +16,7 @@ extern struct sys_timer sirfsoc_timer; extern void __init sirfsoc_of_irq_init(void); extern void __init sirfsoc_of_clk_init(void); +extern void sirfsoc_restart(char, const char *); #ifndef CONFIG_DEBUG_LL static inline void sirfsoc_map_lluart(void) {} diff --git a/arch/arm/mach-prima2/include/mach/system.h b/arch/arm/mach-prima2/include/mach/system.h index 0dbd257ad16d..eb16b4bf570b 100644 --- a/arch/arm/mach-prima2/include/mach/system.h +++ b/arch/arm/mach-prima2/include/mach/system.h @@ -9,13 +9,6 @@ #ifndef __MACH_SYSTEM_H__ #define __MACH_SYSTEM_H__ -#include -#include - -#define SIRFSOC_SYS_RST_BIT BIT(31) - -extern void __iomem *sirfsoc_rstc_base; - static inline void arch_idle(void) { cpu_do_idle(); @@ -23,7 +16,6 @@ static inline void arch_idle(void) static inline void arch_reset(char mode, const char *cmd) { - writel(SIRFSOC_SYS_RST_BIT, sirfsoc_rstc_base); } #endif diff --git a/arch/arm/mach-prima2/prima2.c b/arch/arm/mach-prima2/prima2.c index ef555c041962..8609aad5c569 100644 --- a/arch/arm/mach-prima2/prima2.c +++ b/arch/arm/mach-prima2/prima2.c @@ -39,4 +39,5 @@ MACHINE_START(PRIMA2_EVB, "prima2cb") .dma_zone_size = SZ_256M, .init_machine = sirfsoc_mach_init, .dt_compat = prima2cb_dt_match, + .restart = sirfsoc_restart, MACHINE_END diff --git a/arch/arm/mach-prima2/rstc.c b/arch/arm/mach-prima2/rstc.c index 492cfa8d2610..762adb73ab7c 100644 --- a/arch/arm/mach-prima2/rstc.c +++ b/arch/arm/mach-prima2/rstc.c @@ -68,3 +68,10 @@ int sirfsoc_reset_device(struct device *dev) return 0; } + +#define SIRFSOC_SYS_RST_BIT BIT(31) + +void sirfsoc_restart(char mode, const char *cmd) +{ + writel(SIRFSOC_SYS_RST_BIT, sirfsoc_rstc_base); +}