diff options
author | Shawn Guo <shawn.guo@linaro.org> | 2012-04-25 22:35:40 -0400 |
---|---|---|
committer | Shawn Guo <shawn.guo@linaro.org> | 2012-05-08 08:35:33 -0400 |
commit | bb13fabcca35fbce73f8cfbf238dacfa2a223006 (patch) | |
tree | 5dc3bd2f307e83fc984a0804cd92de9c39db6b3b /arch | |
parent | c914283f5e5f55ddf770b8632a5e65e5aa24343e (diff) |
ARM: exynos: use machine specific hook for late init
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-exynos/common.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-exynos/common.h | 7 | ||||
-rw-r--r-- | arch/arm/mach-exynos/mach-armlex4210.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-exynos/mach-exynos4-dt.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-exynos/mach-exynos5-dt.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-exynos/mach-nuri.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-exynos/mach-origen.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-exynos/mach-smdk4x12.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-exynos/mach-smdkv310.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-exynos/mach-universal_c210.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-exynos/pm_domains.c | 3 |
11 files changed, 21 insertions, 2 deletions
diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c index 8614aab47cc0..16da00111b29 100644 --- a/arch/arm/mach-exynos/common.c +++ b/arch/arm/mach-exynos/common.c | |||
@@ -285,6 +285,11 @@ void exynos5_restart(char mode, const char *cmd) | |||
285 | __raw_writel(0x1, EXYNOS_SWRESET); | 285 | __raw_writel(0x1, EXYNOS_SWRESET); |
286 | } | 286 | } |
287 | 287 | ||
288 | void __init exynos_init_late(void) | ||
289 | { | ||
290 | exynos_pm_late_initcall(); | ||
291 | } | ||
292 | |||
288 | /* | 293 | /* |
289 | * exynos_map_io | 294 | * exynos_map_io |
290 | * | 295 | * |
diff --git a/arch/arm/mach-exynos/common.h b/arch/arm/mach-exynos/common.h index 677b5467df18..aed2eeb06517 100644 --- a/arch/arm/mach-exynos/common.h +++ b/arch/arm/mach-exynos/common.h | |||
@@ -19,6 +19,13 @@ void exynos4_init_irq(void); | |||
19 | void exynos5_init_irq(void); | 19 | void exynos5_init_irq(void); |
20 | void exynos4_restart(char mode, const char *cmd); | 20 | void exynos4_restart(char mode, const char *cmd); |
21 | void exynos5_restart(char mode, const char *cmd); | 21 | void exynos5_restart(char mode, const char *cmd); |
22 | void exynos_init_late(void); | ||
23 | |||
24 | #ifdef CONFIG_PM_GENERIC_DOMAINS | ||
25 | int exynos_pm_late_initcall(void); | ||
26 | #else | ||
27 | static int exynos_pm_late_initcall(void) { return 0; } | ||
28 | #endif | ||
22 | 29 | ||
23 | #ifdef CONFIG_ARCH_EXYNOS4 | 30 | #ifdef CONFIG_ARCH_EXYNOS4 |
24 | void exynos4_register_clocks(void); | 31 | void exynos4_register_clocks(void); |
diff --git a/arch/arm/mach-exynos/mach-armlex4210.c b/arch/arm/mach-exynos/mach-armlex4210.c index d726fcd3acf9..40eaa8c5b131 100644 --- a/arch/arm/mach-exynos/mach-armlex4210.c +++ b/arch/arm/mach-exynos/mach-armlex4210.c | |||
@@ -214,6 +214,7 @@ MACHINE_START(ARMLEX4210, "ARMLEX4210") | |||
214 | .map_io = armlex4210_map_io, | 214 | .map_io = armlex4210_map_io, |
215 | .handle_irq = gic_handle_irq, | 215 | .handle_irq = gic_handle_irq, |
216 | .init_machine = armlex4210_machine_init, | 216 | .init_machine = armlex4210_machine_init, |
217 | .init_late = exynos_init_late, | ||
217 | .timer = &exynos4_timer, | 218 | .timer = &exynos4_timer, |
218 | .restart = exynos4_restart, | 219 | .restart = exynos4_restart, |
219 | MACHINE_END | 220 | MACHINE_END |
diff --git a/arch/arm/mach-exynos/mach-exynos4-dt.c b/arch/arm/mach-exynos/mach-exynos4-dt.c index 8245f1c761d9..e7e9743543ac 100644 --- a/arch/arm/mach-exynos/mach-exynos4-dt.c +++ b/arch/arm/mach-exynos/mach-exynos4-dt.c | |||
@@ -83,6 +83,7 @@ DT_MACHINE_START(EXYNOS4210_DT, "Samsung Exynos4 (Flattened Device Tree)") | |||
83 | .map_io = exynos4210_dt_map_io, | 83 | .map_io = exynos4210_dt_map_io, |
84 | .handle_irq = gic_handle_irq, | 84 | .handle_irq = gic_handle_irq, |
85 | .init_machine = exynos4210_dt_machine_init, | 85 | .init_machine = exynos4210_dt_machine_init, |
86 | .init_late = exynos_init_late, | ||
86 | .timer = &exynos4_timer, | 87 | .timer = &exynos4_timer, |
87 | .dt_compat = exynos4210_dt_compat, | 88 | .dt_compat = exynos4210_dt_compat, |
88 | .restart = exynos4_restart, | 89 | .restart = exynos4_restart, |
diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c index 4711c8920e37..5b1ab975b9e9 100644 --- a/arch/arm/mach-exynos/mach-exynos5-dt.c +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c | |||
@@ -72,6 +72,7 @@ DT_MACHINE_START(EXYNOS5_DT, "SAMSUNG EXYNOS5 (Flattened Device Tree)") | |||
72 | .map_io = exynos5250_dt_map_io, | 72 | .map_io = exynos5250_dt_map_io, |
73 | .handle_irq = gic_handle_irq, | 73 | .handle_irq = gic_handle_irq, |
74 | .init_machine = exynos5250_dt_machine_init, | 74 | .init_machine = exynos5250_dt_machine_init, |
75 | .init_late = exynos_init_late, | ||
75 | .timer = &exynos4_timer, | 76 | .timer = &exynos4_timer, |
76 | .dt_compat = exynos5250_dt_compat, | 77 | .dt_compat = exynos5250_dt_compat, |
77 | .restart = exynos5_restart, | 78 | .restart = exynos5_restart, |
diff --git a/arch/arm/mach-exynos/mach-nuri.c b/arch/arm/mach-exynos/mach-nuri.c index b4f1f902ce6d..5d68532997cd 100644 --- a/arch/arm/mach-exynos/mach-nuri.c +++ b/arch/arm/mach-exynos/mach-nuri.c | |||
@@ -1350,6 +1350,7 @@ MACHINE_START(NURI, "NURI") | |||
1350 | .map_io = nuri_map_io, | 1350 | .map_io = nuri_map_io, |
1351 | .handle_irq = gic_handle_irq, | 1351 | .handle_irq = gic_handle_irq, |
1352 | .init_machine = nuri_machine_init, | 1352 | .init_machine = nuri_machine_init, |
1353 | .init_late = exynos_init_late, | ||
1353 | .timer = &exynos4_timer, | 1354 | .timer = &exynos4_timer, |
1354 | .reserve = &nuri_reserve, | 1355 | .reserve = &nuri_reserve, |
1355 | .restart = exynos4_restart, | 1356 | .restart = exynos4_restart, |
diff --git a/arch/arm/mach-exynos/mach-origen.c b/arch/arm/mach-exynos/mach-origen.c index 878d4c99142d..263ba441386e 100644 --- a/arch/arm/mach-exynos/mach-origen.c +++ b/arch/arm/mach-exynos/mach-origen.c | |||
@@ -735,6 +735,7 @@ MACHINE_START(ORIGEN, "ORIGEN") | |||
735 | .map_io = origen_map_io, | 735 | .map_io = origen_map_io, |
736 | .handle_irq = gic_handle_irq, | 736 | .handle_irq = gic_handle_irq, |
737 | .init_machine = origen_machine_init, | 737 | .init_machine = origen_machine_init, |
738 | .init_late = exynos_init_late, | ||
738 | .timer = &exynos4_timer, | 739 | .timer = &exynos4_timer, |
739 | .reserve = &origen_reserve, | 740 | .reserve = &origen_reserve, |
740 | .restart = exynos4_restart, | 741 | .restart = exynos4_restart, |
diff --git a/arch/arm/mach-exynos/mach-smdk4x12.c b/arch/arm/mach-exynos/mach-smdk4x12.c index d00e4f016a68..763967d71daa 100644 --- a/arch/arm/mach-exynos/mach-smdk4x12.c +++ b/arch/arm/mach-exynos/mach-smdk4x12.c | |||
@@ -303,6 +303,7 @@ MACHINE_START(SMDK4412, "SMDK4412") | |||
303 | .map_io = smdk4x12_map_io, | 303 | .map_io = smdk4x12_map_io, |
304 | .handle_irq = gic_handle_irq, | 304 | .handle_irq = gic_handle_irq, |
305 | .init_machine = smdk4x12_machine_init, | 305 | .init_machine = smdk4x12_machine_init, |
306 | .init_late = exynos_init_late, | ||
306 | .timer = &exynos4_timer, | 307 | .timer = &exynos4_timer, |
307 | .restart = exynos4_restart, | 308 | .restart = exynos4_restart, |
308 | MACHINE_END | 309 | MACHINE_END |
diff --git a/arch/arm/mach-exynos/mach-smdkv310.c b/arch/arm/mach-exynos/mach-smdkv310.c index 83b91fa777c1..f9d2b3107255 100644 --- a/arch/arm/mach-exynos/mach-smdkv310.c +++ b/arch/arm/mach-exynos/mach-smdkv310.c | |||
@@ -393,6 +393,7 @@ MACHINE_START(SMDKC210, "SMDKC210") | |||
393 | .map_io = smdkv310_map_io, | 393 | .map_io = smdkv310_map_io, |
394 | .handle_irq = gic_handle_irq, | 394 | .handle_irq = gic_handle_irq, |
395 | .init_machine = smdkv310_machine_init, | 395 | .init_machine = smdkv310_machine_init, |
396 | .init_late = exynos_init_late, | ||
396 | .timer = &exynos4_timer, | 397 | .timer = &exynos4_timer, |
397 | .restart = exynos4_restart, | 398 | .restart = exynos4_restart, |
398 | MACHINE_END | 399 | MACHINE_END |
diff --git a/arch/arm/mach-exynos/mach-universal_c210.c b/arch/arm/mach-exynos/mach-universal_c210.c index 7ebf79c2ab34..7c348862545d 100644 --- a/arch/arm/mach-exynos/mach-universal_c210.c +++ b/arch/arm/mach-exynos/mach-universal_c210.c | |||
@@ -1112,6 +1112,7 @@ MACHINE_START(UNIVERSAL_C210, "UNIVERSAL_C210") | |||
1112 | .map_io = universal_map_io, | 1112 | .map_io = universal_map_io, |
1113 | .handle_irq = gic_handle_irq, | 1113 | .handle_irq = gic_handle_irq, |
1114 | .init_machine = universal_machine_init, | 1114 | .init_machine = universal_machine_init, |
1115 | .init_late = exynos_init_late, | ||
1115 | .timer = &exynos4_timer, | 1116 | .timer = &exynos4_timer, |
1116 | .reserve = &universal_reserve, | 1117 | .reserve = &universal_reserve, |
1117 | .restart = exynos4_restart, | 1118 | .restart = exynos4_restart, |
diff --git a/arch/arm/mach-exynos/pm_domains.c b/arch/arm/mach-exynos/pm_domains.c index 13b306808b42..e9fafcf163de 100644 --- a/arch/arm/mach-exynos/pm_domains.c +++ b/arch/arm/mach-exynos/pm_domains.c | |||
@@ -193,9 +193,8 @@ static __init int exynos4_pm_init_power_domain(void) | |||
193 | } | 193 | } |
194 | arch_initcall(exynos4_pm_init_power_domain); | 194 | arch_initcall(exynos4_pm_init_power_domain); |
195 | 195 | ||
196 | static __init int exynos_pm_late_initcall(void) | 196 | int __init exynos_pm_late_initcall(void) |
197 | { | 197 | { |
198 | pm_genpd_poweroff_unused(); | 198 | pm_genpd_poweroff_unused(); |
199 | return 0; | 199 | return 0; |
200 | } | 200 | } |
201 | late_initcall(exynos_pm_late_initcall); | ||