diff options
author | Heiko Stuebner | 2012-03-01 05:23:32 +0100 |
---|---|---|
committer | Kukjin Kim | 2012-03-01 05:23:32 +0100 |
commit | c1ba544f81544ed9613ad5d058968533dbcef4b2 (patch) | |
tree | 4c2990910818ad4b1dc112b2eb05cf859cacbfd5 /arch/arm/mach-s3c2440/s3c244x.c | |
parent | ARM: SAMSUNG: Fix memory size for hsotg (diff) | |
download | kernel-qcow2-linux-c1ba544f81544ed9613ad5d058968533dbcef4b2.tar.gz kernel-qcow2-linux-c1ba544f81544ed9613ad5d058968533dbcef4b2.tar.xz kernel-qcow2-linux-c1ba544f81544ed9613ad5d058968533dbcef4b2.zip |
ARM: S3C24XX: Fix restart on S3C2442
Commit b27b072791dc (ARM: 7265/1: restart: S3C24XX: use new restart hook)
introduced the new restart hook also for the S3C244x cpus, but it
was only defined in the S3C2440 scope, i.e. when CPU_S3C2440 was
selected. Devices using the S3C2442 like the GTA02 normally don't select
this CPU which leads to compilation errors like:
LD .tmp_vmlinux1
arch/arm/mach-s3c2440/built-in.o:(.arch.info.init+0x3c): undefined reference
to `s3c2440_restart'
make: *** [.tmp_vmlinux1] Error 1
Therefore move the s3c2440_restart function to s3c244x.c which is
common to both cpus and also fix the naming to reflect this.
Reported-and-tested-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/mach-s3c2440/s3c244x.c')
-rw-r--r-- | arch/arm/mach-s3c2440/s3c244x.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c2440/s3c244x.c b/arch/arm/mach-s3c2440/s3c244x.c index 36bc60f61d0a..744930a870eb 100644 --- a/arch/arm/mach-s3c2440/s3c244x.c +++ b/arch/arm/mach-s3c2440/s3c244x.c @@ -46,6 +46,7 @@ #include <plat/pm.h> #include <plat/pll.h> #include <plat/nand-core.h> +#include <plat/watchdog-reset.h> static struct map_desc s3c244x_iodesc[] __initdata = { IODESC_ENT(CLKPWR), @@ -196,3 +197,13 @@ struct syscore_ops s3c244x_pm_syscore_ops = { .suspend = s3c244x_suspend, .resume = s3c244x_resume, }; + +void s3c244x_restart(char mode, const char *cmd) +{ + if (mode == 's') + soft_restart(0); + + arch_wdt_reset(); + + /* we'll take a jump through zero as a poor second */ + soft_restart(0); |