Skip to content

Commit

Permalink
ARM: SAMSUNG: Let platforms use the new watchdog reset driver
Browse files Browse the repository at this point in the history
This patch moves all platforms using the legacy watchdog reset helper
function to the new watchdog reset driver.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
Tested-by: Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
  • Loading branch information
Tomasz Figa authored and Kukjin Kim committed Jun 18, 2013
1 parent a4658e5 commit 88f5973
Show file tree
Hide file tree
Showing 7 changed files with 21 additions and 5 deletions.
3 changes: 3 additions & 0 deletions arch/arm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -729,6 +729,7 @@ config ARCH_S3C64XX
select SAMSUNG_CLKSRC
select SAMSUNG_GPIOLIB_4BIT
select SAMSUNG_IRQ_VIC_TIMER
select SAMSUNG_WDT_RESET
select USB_ARCH_HAS_OHCI
help
Samsung S3C64XX series based systems
Expand All @@ -744,6 +745,7 @@ config ARCH_S5P64X0
select HAVE_S3C2410_WATCHDOG if WATCHDOG
select HAVE_S3C_RTC if RTC_CLASS
select NEED_MACH_GPIO_H
select SAMSUNG_WDT_RESET
help
Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440,
SMDK6450.
Expand All @@ -760,6 +762,7 @@ config ARCH_S5PC100
select HAVE_S3C2410_WATCHDOG if WATCHDOG
select HAVE_S3C_RTC if RTC_CLASS
select NEED_MACH_GPIO_H
select SAMSUNG_WDT_RESET
help
Samsung S5PC100 series based systems

Expand Down
2 changes: 2 additions & 0 deletions arch/arm/mach-s3c24xx/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ config CPU_S3C2410
select S3C2410_CPUFREQ if CPU_FREQ_S3C24XX
select S3C2410_PM if PM
select SAMSUNG_HRT
select SAMSUNG_WDT_RESET
help
Support for S3C2410 and S3C2410A family from the S3C24XX line
of Samsung Mobile CPUs.
Expand Down Expand Up @@ -81,6 +82,7 @@ config CPU_S3C2442
config CPU_S3C244X
def_bool y
depends on CPU_S3C2440 || CPU_S3C2442
select SAMSUNG_WDT_RESET

config CPU_S3C2443
bool "SAMSUNG S3C2443"
Expand Down
3 changes: 2 additions & 1 deletion arch/arm/mach-s3c24xx/s3c2410.c
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@ void __init s3c2410_init_clocks(int xtal)
s3c2410_baseclk_add();
s3c24xx_register_clock(&s3c2410_armclk);
clkdev_add_table(s3c2410_clk_lookup, ARRAY_SIZE(s3c2410_clk_lookup));
samsung_wdt_reset_init(S3C24XX_VA_WATCHDOG);
}

struct bus_type s3c2410_subsys = {
Expand Down Expand Up @@ -201,7 +202,7 @@ void s3c2410_restart(char mode, const char *cmd)
soft_restart(0);
}

arch_wdt_reset();
samsung_wdt_reset();

/* we'll take a jump through zero as a poor second */
soft_restart(0);
Expand Down
3 changes: 2 additions & 1 deletion arch/arm/mach-s3c24xx/s3c244x.c
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@ void __init s3c244x_init_clocks(int xtal)
s3c24xx_register_baseclocks(xtal);
s3c244x_setup_clocks();
s3c2410_baseclk_add();
samsung_wdt_reset_init(S3C24XX_VA_WATCHDOG);
}

/* Since the S3C2442 and S3C2440 share items, put both subsystems here */
Expand Down Expand Up @@ -202,7 +203,7 @@ void s3c244x_restart(char mode, const char *cmd)
if (mode == 's')
soft_restart(0);

arch_wdt_reset();
samsung_wdt_reset();

/* we'll take a jump through zero as a poor second */
soft_restart(0);
Expand Down
8 changes: 7 additions & 1 deletion arch/arm/mach-s3c64xx/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,12 @@ core_initcall(s3c64xx_dev_init);

void __init s3c64xx_init_irq(u32 vic0_valid, u32 vic1_valid)
{
/*
* FIXME: there is no better place to put this at the moment
* (samsung_wdt_reset_init needs clocks)
*/
samsung_wdt_reset_init(S3C_VA_WATCHDOG);

printk(KERN_DEBUG "%s: initialising interrupts\n", __func__);

/* initialise the pair of VICs */
Expand Down Expand Up @@ -378,7 +384,7 @@ arch_initcall(s3c64xx_init_irq_eint);
void s3c64xx_restart(char mode, const char *cmd)
{
if (mode != 's')
arch_wdt_reset();
samsung_wdt_reset();

/* if all else fails, or mode was for soft, jump to 0 */
soft_restart(0);
Expand Down
4 changes: 3 additions & 1 deletion arch/arm/mach-s5p64x0/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,8 @@ void __init s5p64x0_init_io(struct map_desc *mach_desc, int size)
s5p_init_cpu(S5P64X0_SYS_ID);

s3c_init_cpu(samsung_cpu_id, cpu_ids, ARRAY_SIZE(cpu_ids));
samsung_wdt_reset_init(S3C_VA_WATCHDOG);

}

void __init s5p6440_map_io(void)
Expand Down Expand Up @@ -440,7 +442,7 @@ arch_initcall(s5p64x0_init_irq_eint);
void s5p64x0_restart(char mode, const char *cmd)
{
if (mode != 's')
arch_wdt_reset();
samsung_wdt_reset();

soft_restart(0);
}
3 changes: 2 additions & 1 deletion arch/arm/mach-s5pc100/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,7 @@ void __init s5pc100_init_clocks(int xtal)
s5p_register_clocks(xtal);
s5pc100_register_clocks();
s5pc100_setup_clocks();
samsung_wdt_reset_init(S3C_VA_WATCHDOG);
}

void __init s5pc100_init_irq(void)
Expand Down Expand Up @@ -219,7 +220,7 @@ void __init s5pc100_init_uarts(struct s3c2410_uartcfg *cfg, int no)
void s5pc100_restart(char mode, const char *cmd)
{
if (mode != 's')
arch_wdt_reset();
samsung_wdt_reset();

soft_restart(0);
}

0 comments on commit 88f5973

Please sign in to comment.