mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-29 23:24:11 +08:00
ARM: SAMSUNG: Let platforms use the new watchdog reset driver
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>
This commit is contained in:
parent
a4658e57a7
commit
88f5973838
@ -729,6 +729,7 @@ config ARCH_S3C64XX
|
|||||||
select SAMSUNG_CLKSRC
|
select SAMSUNG_CLKSRC
|
||||||
select SAMSUNG_GPIOLIB_4BIT
|
select SAMSUNG_GPIOLIB_4BIT
|
||||||
select SAMSUNG_IRQ_VIC_TIMER
|
select SAMSUNG_IRQ_VIC_TIMER
|
||||||
|
select SAMSUNG_WDT_RESET
|
||||||
select USB_ARCH_HAS_OHCI
|
select USB_ARCH_HAS_OHCI
|
||||||
help
|
help
|
||||||
Samsung S3C64XX series based systems
|
Samsung S3C64XX series based systems
|
||||||
@ -744,6 +745,7 @@ config ARCH_S5P64X0
|
|||||||
select HAVE_S3C2410_WATCHDOG if WATCHDOG
|
select HAVE_S3C2410_WATCHDOG if WATCHDOG
|
||||||
select HAVE_S3C_RTC if RTC_CLASS
|
select HAVE_S3C_RTC if RTC_CLASS
|
||||||
select NEED_MACH_GPIO_H
|
select NEED_MACH_GPIO_H
|
||||||
|
select SAMSUNG_WDT_RESET
|
||||||
help
|
help
|
||||||
Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440,
|
Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440,
|
||||||
SMDK6450.
|
SMDK6450.
|
||||||
@ -760,6 +762,7 @@ config ARCH_S5PC100
|
|||||||
select HAVE_S3C2410_WATCHDOG if WATCHDOG
|
select HAVE_S3C2410_WATCHDOG if WATCHDOG
|
||||||
select HAVE_S3C_RTC if RTC_CLASS
|
select HAVE_S3C_RTC if RTC_CLASS
|
||||||
select NEED_MACH_GPIO_H
|
select NEED_MACH_GPIO_H
|
||||||
|
select SAMSUNG_WDT_RESET
|
||||||
help
|
help
|
||||||
Samsung S5PC100 series based systems
|
Samsung S5PC100 series based systems
|
||||||
|
|
||||||
|
@ -31,6 +31,7 @@ config CPU_S3C2410
|
|||||||
select S3C2410_CPUFREQ if CPU_FREQ_S3C24XX
|
select S3C2410_CPUFREQ if CPU_FREQ_S3C24XX
|
||||||
select S3C2410_PM if PM
|
select S3C2410_PM if PM
|
||||||
select SAMSUNG_HRT
|
select SAMSUNG_HRT
|
||||||
|
select SAMSUNG_WDT_RESET
|
||||||
help
|
help
|
||||||
Support for S3C2410 and S3C2410A family from the S3C24XX line
|
Support for S3C2410 and S3C2410A family from the S3C24XX line
|
||||||
of Samsung Mobile CPUs.
|
of Samsung Mobile CPUs.
|
||||||
@ -81,6 +82,7 @@ config CPU_S3C2442
|
|||||||
config CPU_S3C244X
|
config CPU_S3C244X
|
||||||
def_bool y
|
def_bool y
|
||||||
depends on CPU_S3C2440 || CPU_S3C2442
|
depends on CPU_S3C2440 || CPU_S3C2442
|
||||||
|
select SAMSUNG_WDT_RESET
|
||||||
|
|
||||||
config CPU_S3C2443
|
config CPU_S3C2443
|
||||||
bool "SAMSUNG S3C2443"
|
bool "SAMSUNG S3C2443"
|
||||||
|
@ -138,6 +138,7 @@ void __init s3c2410_init_clocks(int xtal)
|
|||||||
s3c2410_baseclk_add();
|
s3c2410_baseclk_add();
|
||||||
s3c24xx_register_clock(&s3c2410_armclk);
|
s3c24xx_register_clock(&s3c2410_armclk);
|
||||||
clkdev_add_table(s3c2410_clk_lookup, ARRAY_SIZE(s3c2410_clk_lookup));
|
clkdev_add_table(s3c2410_clk_lookup, ARRAY_SIZE(s3c2410_clk_lookup));
|
||||||
|
samsung_wdt_reset_init(S3C24XX_VA_WATCHDOG);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct bus_type s3c2410_subsys = {
|
struct bus_type s3c2410_subsys = {
|
||||||
@ -201,7 +202,7 @@ void s3c2410_restart(char mode, const char *cmd)
|
|||||||
soft_restart(0);
|
soft_restart(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
arch_wdt_reset();
|
samsung_wdt_reset();
|
||||||
|
|
||||||
/* we'll take a jump through zero as a poor second */
|
/* we'll take a jump through zero as a poor second */
|
||||||
soft_restart(0);
|
soft_restart(0);
|
||||||
|
@ -133,6 +133,7 @@ void __init s3c244x_init_clocks(int xtal)
|
|||||||
s3c24xx_register_baseclocks(xtal);
|
s3c24xx_register_baseclocks(xtal);
|
||||||
s3c244x_setup_clocks();
|
s3c244x_setup_clocks();
|
||||||
s3c2410_baseclk_add();
|
s3c2410_baseclk_add();
|
||||||
|
samsung_wdt_reset_init(S3C24XX_VA_WATCHDOG);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Since the S3C2442 and S3C2440 share items, put both subsystems here */
|
/* Since the S3C2442 and S3C2440 share items, put both subsystems here */
|
||||||
@ -202,7 +203,7 @@ void s3c244x_restart(char mode, const char *cmd)
|
|||||||
if (mode == 's')
|
if (mode == 's')
|
||||||
soft_restart(0);
|
soft_restart(0);
|
||||||
|
|
||||||
arch_wdt_reset();
|
samsung_wdt_reset();
|
||||||
|
|
||||||
/* we'll take a jump through zero as a poor second */
|
/* we'll take a jump through zero as a poor second */
|
||||||
soft_restart(0);
|
soft_restart(0);
|
||||||
|
@ -183,6 +183,12 @@ core_initcall(s3c64xx_dev_init);
|
|||||||
|
|
||||||
void __init s3c64xx_init_irq(u32 vic0_valid, u32 vic1_valid)
|
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__);
|
printk(KERN_DEBUG "%s: initialising interrupts\n", __func__);
|
||||||
|
|
||||||
/* initialise the pair of VICs */
|
/* initialise the pair of VICs */
|
||||||
@ -378,7 +384,7 @@ arch_initcall(s3c64xx_init_irq_eint);
|
|||||||
void s3c64xx_restart(char mode, const char *cmd)
|
void s3c64xx_restart(char mode, const char *cmd)
|
||||||
{
|
{
|
||||||
if (mode != 's')
|
if (mode != 's')
|
||||||
arch_wdt_reset();
|
samsung_wdt_reset();
|
||||||
|
|
||||||
/* if all else fails, or mode was for soft, jump to 0 */
|
/* if all else fails, or mode was for soft, jump to 0 */
|
||||||
soft_restart(0);
|
soft_restart(0);
|
||||||
|
@ -173,6 +173,8 @@ void __init s5p64x0_init_io(struct map_desc *mach_desc, int size)
|
|||||||
s5p_init_cpu(S5P64X0_SYS_ID);
|
s5p_init_cpu(S5P64X0_SYS_ID);
|
||||||
|
|
||||||
s3c_init_cpu(samsung_cpu_id, cpu_ids, ARRAY_SIZE(cpu_ids));
|
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)
|
void __init s5p6440_map_io(void)
|
||||||
@ -440,7 +442,7 @@ arch_initcall(s5p64x0_init_irq_eint);
|
|||||||
void s5p64x0_restart(char mode, const char *cmd)
|
void s5p64x0_restart(char mode, const char *cmd)
|
||||||
{
|
{
|
||||||
if (mode != 's')
|
if (mode != 's')
|
||||||
arch_wdt_reset();
|
samsung_wdt_reset();
|
||||||
|
|
||||||
soft_restart(0);
|
soft_restart(0);
|
||||||
}
|
}
|
||||||
|
@ -178,6 +178,7 @@ void __init s5pc100_init_clocks(int xtal)
|
|||||||
s5p_register_clocks(xtal);
|
s5p_register_clocks(xtal);
|
||||||
s5pc100_register_clocks();
|
s5pc100_register_clocks();
|
||||||
s5pc100_setup_clocks();
|
s5pc100_setup_clocks();
|
||||||
|
samsung_wdt_reset_init(S3C_VA_WATCHDOG);
|
||||||
}
|
}
|
||||||
|
|
||||||
void __init s5pc100_init_irq(void)
|
void __init s5pc100_init_irq(void)
|
||||||
@ -219,7 +220,7 @@ void __init s5pc100_init_uarts(struct s3c2410_uartcfg *cfg, int no)
|
|||||||
void s5pc100_restart(char mode, const char *cmd)
|
void s5pc100_restart(char mode, const char *cmd)
|
||||||
{
|
{
|
||||||
if (mode != 's')
|
if (mode != 's')
|
||||||
arch_wdt_reset();
|
samsung_wdt_reset();
|
||||||
|
|
||||||
soft_restart(0);
|
soft_restart(0);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user