diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-11-05 06:23:27 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-01-05 07:57:17 -0500 |
commit | 125c4033f0187d7264f08d7cf1474252df4f4c17 (patch) | |
tree | 95056d3c895c9b1245a9a340ec4dd7cd1cb48c06 /arch/arm/mach-prima2 | |
parent | a1c1cee9adac4d2ab2d989cf83ada063cbd426d0 (diff) |
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 <Baohua.Song@csr.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-prima2')
-rw-r--r-- | arch/arm/mach-prima2/common.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-prima2/include/mach/system.h | 8 | ||||
-rw-r--r-- | arch/arm/mach-prima2/prima2.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-prima2/rstc.c | 7 |
4 files changed, 9 insertions, 8 deletions
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; | |||
16 | 16 | ||
17 | extern void __init sirfsoc_of_irq_init(void); | 17 | extern void __init sirfsoc_of_irq_init(void); |
18 | extern void __init sirfsoc_of_clk_init(void); | 18 | extern void __init sirfsoc_of_clk_init(void); |
19 | extern void sirfsoc_restart(char, const char *); | ||
19 | 20 | ||
20 | #ifndef CONFIG_DEBUG_LL | 21 | #ifndef CONFIG_DEBUG_LL |
21 | static inline void sirfsoc_map_lluart(void) {} | 22 | 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 @@ | |||
9 | #ifndef __MACH_SYSTEM_H__ | 9 | #ifndef __MACH_SYSTEM_H__ |
10 | #define __MACH_SYSTEM_H__ | 10 | #define __MACH_SYSTEM_H__ |
11 | 11 | ||
12 | #include <linux/bitops.h> | ||
13 | #include <mach/hardware.h> | ||
14 | |||
15 | #define SIRFSOC_SYS_RST_BIT BIT(31) | ||
16 | |||
17 | extern void __iomem *sirfsoc_rstc_base; | ||
18 | |||
19 | static inline void arch_idle(void) | 12 | static inline void arch_idle(void) |
20 | { | 13 | { |
21 | cpu_do_idle(); | 14 | cpu_do_idle(); |
@@ -23,7 +16,6 @@ static inline void arch_idle(void) | |||
23 | 16 | ||
24 | static inline void arch_reset(char mode, const char *cmd) | 17 | static inline void arch_reset(char mode, const char *cmd) |
25 | { | 18 | { |
26 | writel(SIRFSOC_SYS_RST_BIT, sirfsoc_rstc_base); | ||
27 | } | 19 | } |
28 | 20 | ||
29 | #endif | 21 | #endif |
diff --git a/arch/arm/mach-prima2/prima2.c b/arch/arm/mach-prima2/prima2.c index a12b689a8702..02b9c05ff990 100644 --- a/arch/arm/mach-prima2/prima2.c +++ b/arch/arm/mach-prima2/prima2.c | |||
@@ -40,4 +40,5 @@ MACHINE_START(PRIMA2_EVB, "prima2cb") | |||
40 | .dma_zone_size = SZ_256M, | 40 | .dma_zone_size = SZ_256M, |
41 | .init_machine = sirfsoc_mach_init, | 41 | .init_machine = sirfsoc_mach_init, |
42 | .dt_compat = prima2cb_dt_match, | 42 | .dt_compat = prima2cb_dt_match, |
43 | .restart = sirfsoc_restart, | ||
43 | MACHINE_END | 44 | 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) | |||
68 | 68 | ||
69 | return 0; | 69 | return 0; |
70 | } | 70 | } |
71 | |||
72 | #define SIRFSOC_SYS_RST_BIT BIT(31) | ||
73 | |||
74 | void sirfsoc_restart(char mode, const char *cmd) | ||
75 | { | ||
76 | writel(SIRFSOC_SYS_RST_BIT, sirfsoc_rstc_base); | ||
77 | } | ||