提交 bb13fabc 编写于 作者: S Shawn Guo

ARM: exynos: use machine specific hook for late init

Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
Acked-by: NKukjin Kim <kgene.kim@samsung.com>
上级 c914283f
...@@ -285,6 +285,11 @@ void exynos5_restart(char mode, const char *cmd) ...@@ -285,6 +285,11 @@ void exynos5_restart(char mode, const char *cmd)
__raw_writel(0x1, EXYNOS_SWRESET); __raw_writel(0x1, EXYNOS_SWRESET);
} }
void __init exynos_init_late(void)
{
exynos_pm_late_initcall();
}
/* /*
* exynos_map_io * exynos_map_io
* *
......
...@@ -19,6 +19,13 @@ void exynos4_init_irq(void); ...@@ -19,6 +19,13 @@ void exynos4_init_irq(void);
void exynos5_init_irq(void); void exynos5_init_irq(void);
void exynos4_restart(char mode, const char *cmd); void exynos4_restart(char mode, const char *cmd);
void exynos5_restart(char mode, const char *cmd); void exynos5_restart(char mode, const char *cmd);
void exynos_init_late(void);
#ifdef CONFIG_PM_GENERIC_DOMAINS
int exynos_pm_late_initcall(void);
#else
static int exynos_pm_late_initcall(void) { return 0; }
#endif
#ifdef CONFIG_ARCH_EXYNOS4 #ifdef CONFIG_ARCH_EXYNOS4
void exynos4_register_clocks(void); void exynos4_register_clocks(void);
......
...@@ -214,6 +214,7 @@ MACHINE_START(ARMLEX4210, "ARMLEX4210") ...@@ -214,6 +214,7 @@ MACHINE_START(ARMLEX4210, "ARMLEX4210")
.map_io = armlex4210_map_io, .map_io = armlex4210_map_io,
.handle_irq = gic_handle_irq, .handle_irq = gic_handle_irq,
.init_machine = armlex4210_machine_init, .init_machine = armlex4210_machine_init,
.init_late = exynos_init_late,
.timer = &exynos4_timer, .timer = &exynos4_timer,
.restart = exynos4_restart, .restart = exynos4_restart,
MACHINE_END MACHINE_END
...@@ -83,6 +83,7 @@ DT_MACHINE_START(EXYNOS4210_DT, "Samsung Exynos4 (Flattened Device Tree)") ...@@ -83,6 +83,7 @@ DT_MACHINE_START(EXYNOS4210_DT, "Samsung Exynos4 (Flattened Device Tree)")
.map_io = exynos4210_dt_map_io, .map_io = exynos4210_dt_map_io,
.handle_irq = gic_handle_irq, .handle_irq = gic_handle_irq,
.init_machine = exynos4210_dt_machine_init, .init_machine = exynos4210_dt_machine_init,
.init_late = exynos_init_late,
.timer = &exynos4_timer, .timer = &exynos4_timer,
.dt_compat = exynos4210_dt_compat, .dt_compat = exynos4210_dt_compat,
.restart = exynos4_restart, .restart = exynos4_restart,
......
...@@ -72,6 +72,7 @@ DT_MACHINE_START(EXYNOS5_DT, "SAMSUNG EXYNOS5 (Flattened Device Tree)") ...@@ -72,6 +72,7 @@ DT_MACHINE_START(EXYNOS5_DT, "SAMSUNG EXYNOS5 (Flattened Device Tree)")
.map_io = exynos5250_dt_map_io, .map_io = exynos5250_dt_map_io,
.handle_irq = gic_handle_irq, .handle_irq = gic_handle_irq,
.init_machine = exynos5250_dt_machine_init, .init_machine = exynos5250_dt_machine_init,
.init_late = exynos_init_late,
.timer = &exynos4_timer, .timer = &exynos4_timer,
.dt_compat = exynos5250_dt_compat, .dt_compat = exynos5250_dt_compat,
.restart = exynos5_restart, .restart = exynos5_restart,
......
...@@ -1350,6 +1350,7 @@ MACHINE_START(NURI, "NURI") ...@@ -1350,6 +1350,7 @@ MACHINE_START(NURI, "NURI")
.map_io = nuri_map_io, .map_io = nuri_map_io,
.handle_irq = gic_handle_irq, .handle_irq = gic_handle_irq,
.init_machine = nuri_machine_init, .init_machine = nuri_machine_init,
.init_late = exynos_init_late,
.timer = &exynos4_timer, .timer = &exynos4_timer,
.reserve = &nuri_reserve, .reserve = &nuri_reserve,
.restart = exynos4_restart, .restart = exynos4_restart,
......
...@@ -735,6 +735,7 @@ MACHINE_START(ORIGEN, "ORIGEN") ...@@ -735,6 +735,7 @@ MACHINE_START(ORIGEN, "ORIGEN")
.map_io = origen_map_io, .map_io = origen_map_io,
.handle_irq = gic_handle_irq, .handle_irq = gic_handle_irq,
.init_machine = origen_machine_init, .init_machine = origen_machine_init,
.init_late = exynos_init_late,
.timer = &exynos4_timer, .timer = &exynos4_timer,
.reserve = &origen_reserve, .reserve = &origen_reserve,
.restart = exynos4_restart, .restart = exynos4_restart,
......
...@@ -303,6 +303,7 @@ MACHINE_START(SMDK4412, "SMDK4412") ...@@ -303,6 +303,7 @@ MACHINE_START(SMDK4412, "SMDK4412")
.map_io = smdk4x12_map_io, .map_io = smdk4x12_map_io,
.handle_irq = gic_handle_irq, .handle_irq = gic_handle_irq,
.init_machine = smdk4x12_machine_init, .init_machine = smdk4x12_machine_init,
.init_late = exynos_init_late,
.timer = &exynos4_timer, .timer = &exynos4_timer,
.restart = exynos4_restart, .restart = exynos4_restart,
MACHINE_END MACHINE_END
...@@ -393,6 +393,7 @@ MACHINE_START(SMDKC210, "SMDKC210") ...@@ -393,6 +393,7 @@ MACHINE_START(SMDKC210, "SMDKC210")
.map_io = smdkv310_map_io, .map_io = smdkv310_map_io,
.handle_irq = gic_handle_irq, .handle_irq = gic_handle_irq,
.init_machine = smdkv310_machine_init, .init_machine = smdkv310_machine_init,
.init_late = exynos_init_late,
.timer = &exynos4_timer, .timer = &exynos4_timer,
.restart = exynos4_restart, .restart = exynos4_restart,
MACHINE_END MACHINE_END
...@@ -1112,6 +1112,7 @@ MACHINE_START(UNIVERSAL_C210, "UNIVERSAL_C210") ...@@ -1112,6 +1112,7 @@ MACHINE_START(UNIVERSAL_C210, "UNIVERSAL_C210")
.map_io = universal_map_io, .map_io = universal_map_io,
.handle_irq = gic_handle_irq, .handle_irq = gic_handle_irq,
.init_machine = universal_machine_init, .init_machine = universal_machine_init,
.init_late = exynos_init_late,
.timer = &exynos4_timer, .timer = &exynos4_timer,
.reserve = &universal_reserve, .reserve = &universal_reserve,
.restart = exynos4_restart, .restart = exynos4_restart,
......
...@@ -193,9 +193,8 @@ static __init int exynos4_pm_init_power_domain(void) ...@@ -193,9 +193,8 @@ static __init int exynos4_pm_init_power_domain(void)
} }
arch_initcall(exynos4_pm_init_power_domain); arch_initcall(exynos4_pm_init_power_domain);
static __init int exynos_pm_late_initcall(void) int __init exynos_pm_late_initcall(void)
{ {
pm_genpd_poweroff_unused(); pm_genpd_poweroff_unused();
return 0; return 0;
} }
late_initcall(exynos_pm_late_initcall);
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册