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>
This commit is contained in:
Russell King 2011-11-05 10:23:27 +00:00
Родитель a1c1cee9ad
Коммит 125c4033f0
4 изменённых файлов: 9 добавлений и 8 удалений

Просмотреть файл

@ -16,6 +16,7 @@ extern struct sys_timer sirfsoc_timer;
extern void __init sirfsoc_of_irq_init(void); extern void __init sirfsoc_of_irq_init(void);
extern void __init sirfsoc_of_clk_init(void); extern void __init sirfsoc_of_clk_init(void);
extern void sirfsoc_restart(char, const char *);
#ifndef CONFIG_DEBUG_LL #ifndef CONFIG_DEBUG_LL
static inline void sirfsoc_map_lluart(void) {} static inline void sirfsoc_map_lluart(void) {}

Просмотреть файл

@ -9,13 +9,6 @@
#ifndef __MACH_SYSTEM_H__ #ifndef __MACH_SYSTEM_H__
#define __MACH_SYSTEM_H__ #define __MACH_SYSTEM_H__
#include <linux/bitops.h>
#include <mach/hardware.h>
#define SIRFSOC_SYS_RST_BIT BIT(31)
extern void __iomem *sirfsoc_rstc_base;
static inline void arch_idle(void) static inline void arch_idle(void)
{ {
cpu_do_idle(); cpu_do_idle();
@ -23,7 +16,6 @@ static inline void arch_idle(void)
static inline void arch_reset(char mode, const char *cmd) static inline void arch_reset(char mode, const char *cmd)
{ {
writel(SIRFSOC_SYS_RST_BIT, sirfsoc_rstc_base);
} }
#endif #endif

Просмотреть файл

@ -40,4 +40,5 @@ MACHINE_START(PRIMA2_EVB, "prima2cb")
.dma_zone_size = SZ_256M, .dma_zone_size = SZ_256M,
.init_machine = sirfsoc_mach_init, .init_machine = sirfsoc_mach_init,
.dt_compat = prima2cb_dt_match, .dt_compat = prima2cb_dt_match,
.restart = sirfsoc_restart,
MACHINE_END MACHINE_END

Просмотреть файл

@ -68,3 +68,10 @@ int sirfsoc_reset_device(struct device *dev)
return 0; 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);
}