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

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

ARM: restart: lpc32xx: use new restart hook



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

Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 114c19b7
Loading
Loading
Loading
Loading
+21 −1
Original line number Diff line number Diff line
@@ -164,7 +164,7 @@ int clk_is_sysclk_mainosc(void)
/*
 * System reset via the watchdog timer
 */
void lpc32xx_watchdog_reset(void)
static void lpc32xx_watchdog_reset(void)
{
	/* Make sure WDT clocks are enabled */
	__raw_writel(LPC32XX_CLKPWR_PWMCLK_WDOG_EN,
@@ -311,3 +311,23 @@ void __init lpc32xx_map_io(void)
{
	iotable_init(lpc32xx_io_desc, ARRAY_SIZE(lpc32xx_io_desc));
}

void lpc23xx_restart(char mode, const char *cmd)
{
	switch (mode) {
	case 's':
	case 'h':
		printk(KERN_CRIT "RESET: Rebooting system\n");

		lpc32xx_watchdog_reset();
		break;

	default:
		/* Do nothing */
		break;
	}

	/* Wait for watchdog to reset system */
	while (1)
		;
}
+2 −0
Original line number Diff line number Diff line
@@ -39,6 +39,8 @@ extern void __init lpc32xx_init_irq(void);
extern void __init lpc32xx_map_io(void);
extern void __init lpc32xx_serial_init(void);
extern void __init lpc32xx_gpio_init(void);
extern void lpc23xx_restart(char, const char *);


/*
 * Structure used for setting up and querying the PLLS
+0 −18
Original line number Diff line number Diff line
@@ -26,24 +26,6 @@ static void arch_idle(void)

static inline void arch_reset(char mode, const char *cmd)
{
	extern void lpc32xx_watchdog_reset(void);

	switch (mode) {
	case 's':
	case 'h':
		printk(KERN_CRIT "RESET: Rebooting system\n");

		lpc32xx_watchdog_reset();
		break;

	default:
		/* Do nothing */
		break;
	}

	/* Wait for watchdog to reset system */
	while (1)
		;
}

#endif
+1 −0
Original line number Diff line number Diff line
@@ -388,4 +388,5 @@ MACHINE_START(PHY3250, "Phytec 3250 board with the LPC3250 Microcontroller")
	.init_irq	= lpc32xx_init_irq,
	.timer		= &lpc32xx_timer,
	.init_machine	= phy3250_board_init,
	.restart	= lpc23xx_restart,
MACHINE_END