Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b56a7c6b authored by Russell King's avatar Russell King
Browse files

ARM: restart: versatile: use new restart hook



Hook these platforms restart code into the new restart hook rather
than using arch_reset().

Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 7e3974b2
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -745,6 +745,19 @@ static void versatile_leds_event(led_event_t ledevt)
}
#endif	/* CONFIG_LEDS */

void versatile_restart(char mode, const char *cmd)
{
	void __iomem *sys = __io_address(VERSATILE_SYS_BASE);
	u32 val;

	val = __raw_readl(sys + VERSATILE_SYS_RESETCTL_OFFSET);
	val |= 0x105;

	__raw_writel(0xa05f, sys + VERSATILE_SYS_LOCK_OFFSET);
	__raw_writel(val, sys + VERSATILE_SYS_RESETCTL_OFFSET);
	__raw_writel(0, sys + VERSATILE_SYS_LOCK_OFFSET);
}

/* Early initializations */
void __init versatile_init_early(void)
{
+1 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ extern void __init versatile_init_early(void);
extern void __init versatile_init_irq(void);
extern void __init versatile_map_io(void);
extern struct sys_timer versatile_timer;
extern void versatile_restart(char, const char *);
extern unsigned int mmc_status(struct device *dev);
#ifdef CONFIG_OF
extern struct of_dev_auxdata versatile_auxdata_lookup[];
+0 −12
Original line number Diff line number Diff line
@@ -21,10 +21,6 @@
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H

#include <linux/io.h>
#include <mach/hardware.h>
#include <mach/platform.h>

static inline void arch_idle(void)
{
	/*
@@ -36,14 +32,6 @@ static inline void arch_idle(void)

static inline void arch_reset(char mode, const char *cmd)
{
	u32 val;

	val = __raw_readl(IO_ADDRESS(VERSATILE_SYS_RESETCTL)) & ~0x7;
	val |= 0x105;

	__raw_writel(0xa05f, IO_ADDRESS(VERSATILE_SYS_LOCK));
	__raw_writel(val, IO_ADDRESS(VERSATILE_SYS_RESETCTL));
	__raw_writel(0, IO_ADDRESS(VERSATILE_SYS_LOCK));
}

#endif
+1 −0
Original line number Diff line number Diff line
@@ -41,4 +41,5 @@ MACHINE_START(VERSATILE_AB, "ARM-Versatile AB")
	.init_irq	= versatile_init_irq,
	.timer		= &versatile_timer,
	.init_machine	= versatile_init,
	.restart	= versatile_restart,
MACHINE_END
+1 −0
Original line number Diff line number Diff line
@@ -48,4 +48,5 @@ DT_MACHINE_START(VERSATILE_PB, "ARM-Versatile (Device Tree Support)")
	.timer		= &versatile_timer,
	.init_machine	= versatile_dt_init,
	.dt_compat	= versatile_dt_match,
	.restart	= versatile_restart,
MACHINE_END
Loading