diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c index eecac125307aab707d11e8546235b0182d7abf47..6f567a4d85190791fa21cf712621ef81681b7479 100644 --- a/arch/arm/mach-exynos/common.c +++ b/arch/arm/mach-exynos/common.c @@ -32,7 +32,6 @@ #include #include #include -#include #include #include #include @@ -214,7 +213,7 @@ static void exynos_idle(void) local_irq_enable(); } -static void exynos4_sw_reset(void) +void exynos4_restart(char mode, const char *cmd) { __raw_writel(0x1, S5P_SWRESET); } @@ -476,10 +475,6 @@ int __init exynos_init(void) /* set idle function */ pm_idle = exynos_idle; - /* set sw_reset function */ - if (soc_is_exynos4210() || soc_is_exynos4212() || soc_is_exynos4412()) - s5p_reset_hook = exynos4_sw_reset; - return sysdev_register(&exynos4_sysdev); } diff --git a/arch/arm/mach-exynos/common.h b/arch/arm/mach-exynos/common.h index 0476c5f0887107537591a1bcb2dbe5b77751a3fc..1ac49de0f39803a257b4a5a82a7e5bbaf70619e8 100644 --- a/arch/arm/mach-exynos/common.h +++ b/arch/arm/mach-exynos/common.h @@ -21,6 +21,8 @@ void exynos4_setup_clocks(void); void exynos4210_register_clocks(void); void exynos4212_register_clocks(void); +void exynos4_restart(char mode, const char *cmd); + extern struct sys_timer exynos4_timer; #ifdef CONFIG_ARCH_EXYNOS diff --git a/arch/arm/mach-exynos/mach-armlex4210.c b/arch/arm/mach-exynos/mach-armlex4210.c index eeba808625ad063352ef9b24f9b39978eb4fe8ae..9a2b99646d267cb857d0bdb3556c4743dfbb474d 100644 --- a/arch/arm/mach-exynos/mach-armlex4210.c +++ b/arch/arm/mach-exynos/mach-armlex4210.c @@ -213,4 +213,5 @@ MACHINE_START(ARMLEX4210, "ARMLEX4210") .map_io = armlex4210_map_io, .init_machine = armlex4210_machine_init, .timer = &exynos4_timer, + .restart = exynos4_restart, MACHINE_END diff --git a/arch/arm/mach-exynos/mach-nuri.c b/arch/arm/mach-exynos/mach-nuri.c index 97cd5af15055e182b330c1bea7e0fa1819bceb27..5f6b97f04b70d60fadb0139acc4604a64e3d509a 100644 --- a/arch/arm/mach-exynos/mach-nuri.c +++ b/arch/arm/mach-exynos/mach-nuri.c @@ -1337,4 +1337,5 @@ MACHINE_START(NURI, "NURI") .init_machine = nuri_machine_init, .timer = &exynos4_timer, .reserve = &nuri_reserve, + .restart = exynos4_restart, MACHINE_END diff --git a/arch/arm/mach-exynos/mach-origen.c b/arch/arm/mach-exynos/mach-origen.c index cc2c670827691a2d4e37a07e1085799fd92aabe3..9536b3356919516ac13cfd831ecfcd44b3014ad7 100644 --- a/arch/arm/mach-exynos/mach-origen.c +++ b/arch/arm/mach-exynos/mach-origen.c @@ -698,4 +698,5 @@ MACHINE_START(ORIGEN, "ORIGEN") .init_machine = origen_machine_init, .timer = &exynos4_timer, .reserve = &origen_reserve, + .restart = exynos4_restart, MACHINE_END diff --git a/arch/arm/mach-exynos/mach-smdk4x12.c b/arch/arm/mach-exynos/mach-smdk4x12.c index 2f4cb89aadbb084d02dd6b6e863005e10ded8f53..375b5aa5e163828202cbfb70da5a8c6ab9bde2b7 100644 --- a/arch/arm/mach-exynos/mach-smdk4x12.c +++ b/arch/arm/mach-exynos/mach-smdk4x12.c @@ -290,6 +290,7 @@ MACHINE_START(SMDK4212, "SMDK4212") .map_io = smdk4x12_map_io, .init_machine = smdk4x12_machine_init, .timer = &exynos4_timer, + .restart = exynos4_restart, MACHINE_END MACHINE_START(SMDK4412, "SMDK4412") @@ -300,4 +301,5 @@ MACHINE_START(SMDK4412, "SMDK4412") .map_io = smdk4x12_map_io, .init_machine = smdk4x12_machine_init, .timer = &exynos4_timer, + .restart = exynos4_restart, MACHINE_END diff --git a/arch/arm/mach-exynos/mach-smdkv310.c b/arch/arm/mach-exynos/mach-smdkv310.c index cf21d666d1244b53769723367b10486a38d574dc..f2552ff5ddb018b7a192a7bf2f6ddeb97d4fbff9 100644 --- a/arch/arm/mach-exynos/mach-smdkv310.c +++ b/arch/arm/mach-exynos/mach-smdkv310.c @@ -379,6 +379,7 @@ MACHINE_START(SMDKV310, "SMDKV310") .init_machine = smdkv310_machine_init, .timer = &exynos4_timer, .reserve = &smdkv310_reserve, + .restart = exynos4_restart, MACHINE_END MACHINE_START(SMDKC210, "SMDKC210") @@ -388,4 +389,5 @@ MACHINE_START(SMDKC210, "SMDKC210") .map_io = smdkv310_map_io, .init_machine = smdkv310_machine_init, .timer = &exynos4_timer, + .restart = exynos4_restart, MACHINE_END diff --git a/arch/arm/mach-exynos/mach-universal_c210.c b/arch/arm/mach-exynos/mach-universal_c210.c index 4826eabf9be610253f1684765c76c69ba5a1273a..0078d062616e5fd0bdf1bd7c735059b7006a5016 100644 --- a/arch/arm/mach-exynos/mach-universal_c210.c +++ b/arch/arm/mach-exynos/mach-universal_c210.c @@ -1062,4 +1062,5 @@ MACHINE_START(UNIVERSAL_C210, "UNIVERSAL_C210") .init_machine = universal_machine_init, .timer = &exynos4_timer, .reserve = &universal_reserve, + .restart = exynos4_restart, MACHINE_END