Skip to content

Commit

Permalink
ARM: S3C24XX: Fix restart on S3C2442
Browse files Browse the repository at this point in the history
Commit b27b072 (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>
  • Loading branch information
Heiko Stuebner authored and Kukjin Kim committed Mar 1, 2012
1 parent c65d8ef commit c1ba544
Show file tree
Hide file tree
Showing 12 changed files with 21 additions and 23 deletions.
2 changes: 1 addition & 1 deletion arch/arm/mach-s3c2440/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@
#ifndef __ARCH_ARM_MACH_S3C2440_COMMON_H
#define __ARCH_ARM_MACH_S3C2440_COMMON_H

void s3c2440_restart(char mode, const char *cmd);
void s3c244x_restart(char mode, const char *cmd);

#endif /* __ARCH_ARM_MACH_S3C2440_COMMON_H */
2 changes: 1 addition & 1 deletion arch/arm/mach-s3c2440/mach-anubis.c
Original file line number Diff line number Diff line change
Expand Up @@ -487,5 +487,5 @@ MACHINE_START(ANUBIS, "Simtec-Anubis")
.init_machine = anubis_init,
.init_irq = s3c24xx_init_irq,
.timer = &s3c24xx_timer,
.restart = s3c2440_restart,
.restart = s3c244x_restart,
MACHINE_END
2 changes: 1 addition & 1 deletion arch/arm/mach-s3c2440/mach-at2440evb.c
Original file line number Diff line number Diff line change
Expand Up @@ -222,5 +222,5 @@ MACHINE_START(AT2440EVB, "AT2440EVB")
.init_machine = at2440evb_init,
.init_irq = s3c24xx_init_irq,
.timer = &s3c24xx_timer,
.restart = s3c2440_restart,
.restart = s3c244x_restart,
MACHINE_END
2 changes: 1 addition & 1 deletion arch/arm/mach-s3c2440/mach-gta02.c
Original file line number Diff line number Diff line change
Expand Up @@ -601,5 +601,5 @@ MACHINE_START(NEO1973_GTA02, "GTA02")
.init_irq = s3c24xx_init_irq,
.init_machine = gta02_machine_init,
.timer = &s3c24xx_timer,
.restart = s3c2440_restart,
.restart = s3c244x_restart,
MACHINE_END
2 changes: 1 addition & 1 deletion arch/arm/mach-s3c2440/mach-mini2440.c
Original file line number Diff line number Diff line change
Expand Up @@ -701,5 +701,5 @@ MACHINE_START(MINI2440, "MINI2440")
.init_machine = mini2440_init,
.init_irq = s3c24xx_init_irq,
.timer = &s3c24xx_timer,
.restart = s3c2440_restart,
.restart = s3c244x_restart,
MACHINE_END
2 changes: 1 addition & 1 deletion arch/arm/mach-s3c2440/mach-nexcoder.c
Original file line number Diff line number Diff line change
Expand Up @@ -158,5 +158,5 @@ MACHINE_START(NEXCODER_2440, "NexVision - Nexcoder 2440")
.init_machine = nexcoder_init,
.init_irq = s3c24xx_init_irq,
.timer = &s3c24xx_timer,
.restart = s3c2440_restart,
.restart = s3c244x_restart,
MACHINE_END
2 changes: 1 addition & 1 deletion arch/arm/mach-s3c2440/mach-osiris.c
Original file line number Diff line number Diff line change
Expand Up @@ -436,5 +436,5 @@ MACHINE_START(OSIRIS, "Simtec-OSIRIS")
.init_irq = s3c24xx_init_irq,
.init_machine = osiris_init,
.timer = &s3c24xx_timer,
.restart = s3c2440_restart,
.restart = s3c244x_restart,
MACHINE_END
2 changes: 1 addition & 1 deletion arch/arm/mach-s3c2440/mach-rx1950.c
Original file line number Diff line number Diff line change
Expand Up @@ -822,5 +822,5 @@ MACHINE_START(RX1950, "HP iPAQ RX1950")
.init_irq = s3c24xx_init_irq,
.init_machine = rx1950_init_machine,
.timer = &s3c24xx_timer,
.restart = s3c2440_restart,
.restart = s3c244x_restart,
MACHINE_END
2 changes: 1 addition & 1 deletion arch/arm/mach-s3c2440/mach-rx3715.c
Original file line number Diff line number Diff line change
Expand Up @@ -213,5 +213,5 @@ MACHINE_START(RX3715, "IPAQ-RX3715")
.init_irq = rx3715_init_irq,
.init_machine = rx3715_init_machine,
.timer = &s3c24xx_timer,
.restart = s3c2440_restart,
.restart = s3c244x_restart,
MACHINE_END
2 changes: 1 addition & 1 deletion arch/arm/mach-s3c2440/mach-smdk2440.c
Original file line number Diff line number Diff line change
Expand Up @@ -183,5 +183,5 @@ MACHINE_START(S3C2440, "SMDK2440")
.map_io = smdk2440_map_io,
.init_machine = smdk2440_machine_init,
.timer = &s3c24xx_timer,
.restart = s3c2440_restart,
.restart = s3c244x_restart,
MACHINE_END
13 changes: 0 additions & 13 deletions arch/arm/mach-s3c2440/s3c2440.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@
#include <plat/cpu.h>
#include <plat/s3c244x.h>
#include <plat/pm.h>
#include <plat/watchdog-reset.h>

#include <plat/gpio-core.h>
#include <plat/gpio-cfg.h>
Expand Down Expand Up @@ -74,15 +73,3 @@ void __init s3c2440_map_io(void)
s3c24xx_gpiocfg_default.set_pull = s3c24xx_gpio_setpull_1up;
s3c24xx_gpiocfg_default.get_pull = s3c24xx_gpio_getpull_1up;
}

void s3c2440_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);
}
11 changes: 11 additions & 0 deletions arch/arm/mach-s3c2440/s3c244x.c
Original file line number Diff line number Diff line change
Expand Up @@ -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),
Expand Down Expand Up @@ -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);

0 comments on commit c1ba544

Please sign in to comment.