forked from Minki/linux
e879c862fb
We only need to set the system up for a soft-restart if we're going to be doing a soft-restart. Provide a new function (soft_restart()) which does the setup and final call for this, and make platforms use it. Eliminate the call to setup_restart() from the default handler. This means that platforms arch_reset() function is no longer called with the page tables prepared for a soft-restart, and caches will still be enabled. Acked-by: Nicolas Pitre <nico@linaro.org> Acked-by: Will Deacon <will.deacon@arm.com> Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com> Acked-by: Kukjin Kim <kgene.kim@samsung.com> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Viresh Kumar <viresh.kumar@st.com> Acked-by: Krzysztof Ha■asa <khc@pm.waw.pl> Acked-by: Paul Mundt <lethal@linux-sh.org> Acked-by: Richard Purdie <richard.purdie@linuxfoundation.org> Acked-by: Wan ZongShun <mcuos.com@gmail.com> Acked-by: Eric Miao <eric.y.miao@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
31 lines
602 B
C
31 lines
602 B
C
/* linux/arch/arm/mach-s3c6400/include/mach/system.h
|
|
*
|
|
* Copyright 2008 Openmoko, Inc.
|
|
* Copyright 2008 Simtec Electronics
|
|
* Ben Dooks <ben@simtec.co.uk>
|
|
* http://armlinux.simtec.co.uk/
|
|
*
|
|
* S3C6400 - system implementation
|
|
*/
|
|
|
|
#ifndef __ASM_ARCH_SYSTEM_H
|
|
#define __ASM_ARCH_SYSTEM_H __FILE__
|
|
|
|
#include <plat/watchdog-reset.h>
|
|
|
|
static void arch_idle(void)
|
|
{
|
|
/* nothing here yet */
|
|
}
|
|
|
|
static void arch_reset(char mode, const char *cmd)
|
|
{
|
|
if (mode != 's')
|
|
arch_wdt_reset();
|
|
|
|
/* if all else fails, or mode was for soft, jump to 0 */
|
|
soft_restart(0);
|
|
}
|
|
|
|
#endif /* __ASM_ARCH_IRQ_H */
|