diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-26 16:14:01 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-26 16:14:01 -0400 |
commit | f465d145d76803fe6332092775d891c8c509aa44 (patch) | |
tree | 45889e2eee7e8288ef269e9b661111364a71c25f /arch/arm/mach-exynos | |
parent | 30b842889eea1bea02dff55b13d2ddf07a46ce78 (diff) | |
parent | 80b9abf973462499c1a0110df47f62cc90361e2c (diff) |
Merge tag 'cleanup-initcall' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull sweeping late_initcall cleanup for arm-soc from Olof Johansson:
"This is a patch series from Shawn Guo that moves from individual
late_initcalls() to using a member in the machine structure to invoke
a platform's late initcalls.
This cleanup is a step in the move towards multiplatform kernels since
it would reduce the need to check for compatible platforms in each and
every initcall."
Fix up trivial conflicts in arch/arm/mach-{exynos/mach-universal_c210.c,
imx/mach-cpuimx51.c, omap2/board-generic.c} due to changes nearby (and,
in the case of cpuimx51.c the board support being deleted)
* tag 'cleanup-initcall' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
ARM: ux500: use machine specific hook for late init
ARM: tegra: use machine specific hook for late init
ARM: shmobile: use machine specific hook for late init
ARM: sa1100: use machine specific hook for late init
ARM: s3c64xx: use machine specific hook for late init
ARM: prima2: use machine specific hook for late init
ARM: pnx4008: use machine specific hook for late init
ARM: omap2: use machine specific hook for late init
ARM: omap1: use machine specific hook for late init
ARM: msm: use machine specific hook for late init
ARM: imx: use machine specific hook for late init
ARM: exynos: use machine specific hook for late init
ARM: ep93xx: use machine specific hook for late init
ARM: davinci: use machine specific hook for late init
ARM: provide a late_initcall hook for platform initialization
Diffstat (limited to 'arch/arm/mach-exynos')
-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 49134711f4c6..742edd3bbec3 100644 --- a/arch/arm/mach-exynos/common.c +++ b/arch/arm/mach-exynos/common.c | |||
@@ -288,6 +288,11 @@ void exynos5_restart(char mode, const char *cmd) | |||
288 | __raw_writel(0x1, EXYNOS_SWRESET); | 288 | __raw_writel(0x1, EXYNOS_SWRESET); |
289 | } | 289 | } |
290 | 290 | ||
291 | void __init exynos_init_late(void) | ||
292 | { | ||
293 | exynos_pm_late_initcall(); | ||
294 | } | ||
295 | |||
291 | /* | 296 | /* |
292 | * exynos_map_io | 297 | * exynos_map_io |
293 | * | 298 | * |
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 372e33196e8a..5a3daa0168d8 100644 --- a/arch/arm/mach-exynos/mach-armlex4210.c +++ b/arch/arm/mach-exynos/mach-armlex4210.c | |||
@@ -203,6 +203,7 @@ MACHINE_START(ARMLEX4210, "ARMLEX4210") | |||
203 | .map_io = armlex4210_map_io, | 203 | .map_io = armlex4210_map_io, |
204 | .handle_irq = gic_handle_irq, | 204 | .handle_irq = gic_handle_irq, |
205 | .init_machine = armlex4210_machine_init, | 205 | .init_machine = armlex4210_machine_init, |
206 | .init_late = exynos_init_late, | ||
206 | .timer = &exynos4_timer, | 207 | .timer = &exynos4_timer, |
207 | .restart = exynos4_restart, | 208 | .restart = exynos4_restart, |
208 | MACHINE_END | 209 | 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 cf5d2228e998..7b1e11a228cc 100644 --- a/arch/arm/mach-exynos/mach-exynos5-dt.c +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c | |||
@@ -76,6 +76,7 @@ DT_MACHINE_START(EXYNOS5_DT, "SAMSUNG EXYNOS5 (Flattened Device Tree)") | |||
76 | .map_io = exynos5250_dt_map_io, | 76 | .map_io = exynos5250_dt_map_io, |
77 | .handle_irq = gic_handle_irq, | 77 | .handle_irq = gic_handle_irq, |
78 | .init_machine = exynos5250_dt_machine_init, | 78 | .init_machine = exynos5250_dt_machine_init, |
79 | .init_late = exynos_init_late, | ||
79 | .timer = &exynos4_timer, | 80 | .timer = &exynos4_timer, |
80 | .dt_compat = exynos5250_dt_compat, | 81 | .dt_compat = exynos5250_dt_compat, |
81 | .restart = exynos5_restart, | 82 | .restart = exynos5_restart, |
diff --git a/arch/arm/mach-exynos/mach-nuri.c b/arch/arm/mach-exynos/mach-nuri.c index 6c31f2ad765d..972983e392bc 100644 --- a/arch/arm/mach-exynos/mach-nuri.c +++ b/arch/arm/mach-exynos/mach-nuri.c | |||
@@ -1389,6 +1389,7 @@ MACHINE_START(NURI, "NURI") | |||
1389 | .map_io = nuri_map_io, | 1389 | .map_io = nuri_map_io, |
1390 | .handle_irq = gic_handle_irq, | 1390 | .handle_irq = gic_handle_irq, |
1391 | .init_machine = nuri_machine_init, | 1391 | .init_machine = nuri_machine_init, |
1392 | .init_late = exynos_init_late, | ||
1392 | .timer = &exynos4_timer, | 1393 | .timer = &exynos4_timer, |
1393 | .reserve = &nuri_reserve, | 1394 | .reserve = &nuri_reserve, |
1394 | .restart = exynos4_restart, | 1395 | .restart = exynos4_restart, |
diff --git a/arch/arm/mach-exynos/mach-origen.c b/arch/arm/mach-exynos/mach-origen.c index 26124a38bcbd..a7f7fd567dde 100644 --- a/arch/arm/mach-exynos/mach-origen.c +++ b/arch/arm/mach-exynos/mach-origen.c | |||
@@ -766,6 +766,7 @@ MACHINE_START(ORIGEN, "ORIGEN") | |||
766 | .map_io = origen_map_io, | 766 | .map_io = origen_map_io, |
767 | .handle_irq = gic_handle_irq, | 767 | .handle_irq = gic_handle_irq, |
768 | .init_machine = origen_machine_init, | 768 | .init_machine = origen_machine_init, |
769 | .init_late = exynos_init_late, | ||
769 | .timer = &exynos4_timer, | 770 | .timer = &exynos4_timer, |
770 | .reserve = &origen_reserve, | 771 | .reserve = &origen_reserve, |
771 | .restart = exynos4_restart, | 772 | .restart = exynos4_restart, |
diff --git a/arch/arm/mach-exynos/mach-smdk4x12.c b/arch/arm/mach-exynos/mach-smdk4x12.c index fe772d893cc9..fb09c70e195a 100644 --- a/arch/arm/mach-exynos/mach-smdk4x12.c +++ b/arch/arm/mach-exynos/mach-smdk4x12.c | |||
@@ -316,6 +316,7 @@ MACHINE_START(SMDK4412, "SMDK4412") | |||
316 | .map_io = smdk4x12_map_io, | 316 | .map_io = smdk4x12_map_io, |
317 | .handle_irq = gic_handle_irq, | 317 | .handle_irq = gic_handle_irq, |
318 | .init_machine = smdk4x12_machine_init, | 318 | .init_machine = smdk4x12_machine_init, |
319 | .init_late = exynos_init_late, | ||
319 | .timer = &exynos4_timer, | 320 | .timer = &exynos4_timer, |
320 | .restart = exynos4_restart, | 321 | .restart = exynos4_restart, |
321 | .reserve = &smdk4x12_reserve, | 322 | .reserve = &smdk4x12_reserve, |
diff --git a/arch/arm/mach-exynos/mach-smdkv310.c b/arch/arm/mach-exynos/mach-smdkv310.c index a8c7656b1fce..70df1a0c2118 100644 --- a/arch/arm/mach-exynos/mach-smdkv310.c +++ b/arch/arm/mach-exynos/mach-smdkv310.c | |||
@@ -411,6 +411,7 @@ MACHINE_START(SMDKC210, "SMDKC210") | |||
411 | .map_io = smdkv310_map_io, | 411 | .map_io = smdkv310_map_io, |
412 | .handle_irq = gic_handle_irq, | 412 | .handle_irq = gic_handle_irq, |
413 | .init_machine = smdkv310_machine_init, | 413 | .init_machine = smdkv310_machine_init, |
414 | .init_late = exynos_init_late, | ||
414 | .timer = &exynos4_timer, | 415 | .timer = &exynos4_timer, |
415 | .restart = exynos4_restart, | 416 | .restart = exynos4_restart, |
416 | MACHINE_END | 417 | MACHINE_END |
diff --git a/arch/arm/mach-exynos/mach-universal_c210.c b/arch/arm/mach-exynos/mach-universal_c210.c index 6b731b863275..083b44de9c10 100644 --- a/arch/arm/mach-exynos/mach-universal_c210.c +++ b/arch/arm/mach-exynos/mach-universal_c210.c | |||
@@ -1157,6 +1157,7 @@ MACHINE_START(UNIVERSAL_C210, "UNIVERSAL_C210") | |||
1157 | .map_io = universal_map_io, | 1157 | .map_io = universal_map_io, |
1158 | .handle_irq = gic_handle_irq, | 1158 | .handle_irq = gic_handle_irq, |
1159 | .init_machine = universal_machine_init, | 1159 | .init_machine = universal_machine_init, |
1160 | .init_late = exynos_init_late, | ||
1160 | .timer = &s5p_timer, | 1161 | .timer = &s5p_timer, |
1161 | .reserve = &universal_reserve, | 1162 | .reserve = &universal_reserve, |
1162 | .restart = exynos4_restart, | 1163 | .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); | ||