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

Commit 3275166e authored by Russell King's avatar Russell King
Browse files

ARM: restart: ep93xx: use new restart hook



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

Acked-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent da908260
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -38,4 +38,5 @@ MACHINE_START(ADSSPHERE, "ADS Sphere board")
	.init_irq	= ep93xx_init_irq,
	.timer		= &ep93xx_timer,
	.init_machine	= adssphere_init_machine,
	.restart	= ep93xx_restart,
MACHINE_END
+12 −0
Original line number Diff line number Diff line
@@ -906,3 +906,15 @@ void __init ep93xx_init_devices(void)
	platform_device_register(&ep93xx_ohci_device);
	platform_device_register(&ep93xx_leds);
}

void ep93xx_restart(char mode, const char *cmd)
{
	/*
	 * Set then clear the SWRST bit to initiate a software reset
	 */
	ep93xx_devcfg_set_bits(EP93XX_SYSCON_DEVCFG_SWRST);
	ep93xx_devcfg_clear_bits(EP93XX_SYSCON_DEVCFG_SWRST);

	while (1)
		;
}
+8 −0
Original line number Diff line number Diff line
@@ -252,6 +252,7 @@ MACHINE_START(EDB9301, "Cirrus Logic EDB9301 Evaluation Board")
	.init_irq	= ep93xx_init_irq,
	.timer		= &ep93xx_timer,
	.init_machine	= edb93xx_init_machine,
	.restart	= ep93xx_restart,
MACHINE_END
#endif

@@ -263,6 +264,7 @@ MACHINE_START(EDB9302, "Cirrus Logic EDB9302 Evaluation Board")
	.init_irq	= ep93xx_init_irq,
	.timer		= &ep93xx_timer,
	.init_machine	= edb93xx_init_machine,
	.restart	= ep93xx_restart,
MACHINE_END
#endif

@@ -274,6 +276,7 @@ MACHINE_START(EDB9302A, "Cirrus Logic EDB9302A Evaluation Board")
	.init_irq	= ep93xx_init_irq,
	.timer		= &ep93xx_timer,
	.init_machine	= edb93xx_init_machine,
	.restart	= ep93xx_restart,
MACHINE_END
#endif

@@ -285,6 +288,7 @@ MACHINE_START(EDB9307, "Cirrus Logic EDB9307 Evaluation Board")
	.init_irq	= ep93xx_init_irq,
	.timer		= &ep93xx_timer,
	.init_machine	= edb93xx_init_machine,
	.restart	= ep93xx_restart,
MACHINE_END
#endif

@@ -296,6 +300,7 @@ MACHINE_START(EDB9307A, "Cirrus Logic EDB9307A Evaluation Board")
	.init_irq	= ep93xx_init_irq,
	.timer		= &ep93xx_timer,
	.init_machine	= edb93xx_init_machine,
	.restart	= ep93xx_restart,
MACHINE_END
#endif

@@ -307,6 +312,7 @@ MACHINE_START(EDB9312, "Cirrus Logic EDB9312 Evaluation Board")
	.init_irq	= ep93xx_init_irq,
	.timer		= &ep93xx_timer,
	.init_machine	= edb93xx_init_machine,
	.restart	= ep93xx_restart,
MACHINE_END
#endif

@@ -318,6 +324,7 @@ MACHINE_START(EDB9315, "Cirrus Logic EDB9315 Evaluation Board")
	.init_irq	= ep93xx_init_irq,
	.timer		= &ep93xx_timer,
	.init_machine	= edb93xx_init_machine,
	.restart	= ep93xx_restart,
MACHINE_END
#endif

@@ -329,5 +336,6 @@ MACHINE_START(EDB9315A, "Cirrus Logic EDB9315A Evaluation Board")
	.init_irq	= ep93xx_init_irq,
	.timer		= &ep93xx_timer,
	.init_machine	= edb93xx_init_machine,
	.restart	= ep93xx_restart,
MACHINE_END
#endif
+1 −0
Original line number Diff line number Diff line
@@ -38,4 +38,5 @@ MACHINE_START(GESBC9312, "Glomation GESBC-9312-sx")
	.init_irq	= ep93xx_init_irq,
	.timer		= &ep93xx_timer,
	.init_machine	= gesbc9312_init_machine,
	.restart	= ep93xx_restart,
MACHINE_END
+2 −0
Original line number Diff line number Diff line
@@ -66,4 +66,6 @@ void ep93xx_register_ac97(void);
void ep93xx_init_devices(void);
extern struct sys_timer ep93xx_timer;

void ep93xx_restart(char, const char *);

#endif
Loading