aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-exynos
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-05-26 16:14:01 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-05-26 16:14:01 -0400
commitf465d145d76803fe6332092775d891c8c509aa44 (patch)
tree45889e2eee7e8288ef269e9b661111364a71c25f /arch/arm/mach-exynos
parent30b842889eea1bea02dff55b13d2ddf07a46ce78 (diff)
parent80b9abf973462499c1a0110df47f62cc90361e2c (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.c5
-rw-r--r--arch/arm/mach-exynos/common.h7
-rw-r--r--arch/arm/mach-exynos/mach-armlex4210.c1
-rw-r--r--arch/arm/mach-exynos/mach-exynos4-dt.c1
-rw-r--r--arch/arm/mach-exynos/mach-exynos5-dt.c1
-rw-r--r--arch/arm/mach-exynos/mach-nuri.c1
-rw-r--r--arch/arm/mach-exynos/mach-origen.c1
-rw-r--r--arch/arm/mach-exynos/mach-smdk4x12.c1
-rw-r--r--arch/arm/mach-exynos/mach-smdkv310.c1
-rw-r--r--arch/arm/mach-exynos/mach-universal_c210.c1
-rw-r--r--arch/arm/mach-exynos/pm_domains.c3
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
291void __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);
19void exynos5_init_irq(void); 19void exynos5_init_irq(void);
20void exynos4_restart(char mode, const char *cmd); 20void exynos4_restart(char mode, const char *cmd);
21void exynos5_restart(char mode, const char *cmd); 21void exynos5_restart(char mode, const char *cmd);
22void exynos_init_late(void);
23
24#ifdef CONFIG_PM_GENERIC_DOMAINS
25int exynos_pm_late_initcall(void);
26#else
27static int exynos_pm_late_initcall(void) { return 0; }
28#endif
22 29
23#ifdef CONFIG_ARCH_EXYNOS4 30#ifdef CONFIG_ARCH_EXYNOS4
24void exynos4_register_clocks(void); 31void 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,
208MACHINE_END 209MACHINE_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,
416MACHINE_END 417MACHINE_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}
194arch_initcall(exynos4_pm_init_power_domain); 194arch_initcall(exynos4_pm_init_power_domain);
195 195
196static __init int exynos_pm_late_initcall(void) 196int __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}
201late_initcall(exynos_pm_late_initcall);