ARM: restart: only perform setup for restart when soft-restarting
authorRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 1 Nov 2011 13:16:26 +0000 (13:16 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 21 Nov 2011 09:47:48 +0000 (09:47 +0000)
commite879c862fb81b986095ae7a4676b2281c2f97957
treebd7793e9e9924ff4b5826d14267125e8dc22afdd
parent5aafec15bdc54cf0722696c95091d7bd674bfcad
ARM: restart: only perform setup for restart when soft-restarting

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>
21 files changed:
arch/arm/include/asm/system.h
arch/arm/kernel/process.c
arch/arm/mach-clps711x/include/mach/system.h
arch/arm/mach-ebsa110/include/mach/system.h
arch/arm/mach-footbridge/include/mach/system.h
arch/arm/mach-iop32x/include/mach/system.h
arch/arm/mach-iop33x/include/mach/system.h
arch/arm/mach-ixp4xx/include/mach/system.h
arch/arm/mach-ks8695/include/mach/system.h
arch/arm/mach-mmp/include/mach/system.h
arch/arm/mach-mxs/system.c
arch/arm/mach-pnx4008/include/mach/system.h
arch/arm/mach-pxa/reset.c
arch/arm/mach-rpc/include/mach/system.h
arch/arm/mach-s3c2410/include/mach/system-reset.h
arch/arm/mach-s3c64xx/include/mach/system.h
arch/arm/mach-sa1100/include/mach/system.h
arch/arm/mach-shmobile/include/mach/system.h
arch/arm/mach-w90x900/include/mach/system.h
arch/arm/plat-mxc/system.c
arch/arm/plat-spear/include/plat/system.h