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-s3c64xx | |
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-s3c64xx')
-rw-r--r-- | arch/arm/mach-s3c64xx/common.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-s3c64xx/common.h | 7 | ||||
-rw-r--r-- | arch/arm/mach-s3c64xx/mach-anw6410.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-s3c64xx/mach-crag6410.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-s3c64xx/mach-hmt.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-s3c64xx/mach-mini6410.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-s3c64xx/mach-ncp.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-s3c64xx/mach-real6410.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-s3c64xx/mach-smartq5.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-s3c64xx/mach-smartq7.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-s3c64xx/mach-smdk6400.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-s3c64xx/mach-smdk6410.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-s3c64xx/pm.c | 3 |
13 files changed, 23 insertions, 2 deletions
diff --git a/arch/arm/mach-s3c64xx/common.c b/arch/arm/mach-s3c64xx/common.c index b313380342a5..be746e33e86c 100644 --- a/arch/arm/mach-s3c64xx/common.c +++ b/arch/arm/mach-s3c64xx/common.c | |||
@@ -384,3 +384,8 @@ void s3c64xx_restart(char mode, const char *cmd) | |||
384 | /* if all else fails, or mode was for soft, jump to 0 */ | 384 | /* if all else fails, or mode was for soft, jump to 0 */ |
385 | soft_restart(0); | 385 | soft_restart(0); |
386 | } | 386 | } |
387 | |||
388 | void __init s3c64xx_init_late(void) | ||
389 | { | ||
390 | s3c64xx_pm_late_initcall(); | ||
391 | } | ||
diff --git a/arch/arm/mach-s3c64xx/common.h b/arch/arm/mach-s3c64xx/common.h index 7a10be629aba..6cfc99bdfb37 100644 --- a/arch/arm/mach-s3c64xx/common.h +++ b/arch/arm/mach-s3c64xx/common.h | |||
@@ -24,6 +24,7 @@ void s3c64xx_register_clocks(unsigned long xtal, unsigned armclk_limit); | |||
24 | void s3c64xx_setup_clocks(void); | 24 | void s3c64xx_setup_clocks(void); |
25 | 25 | ||
26 | void s3c64xx_restart(char mode, const char *cmd); | 26 | void s3c64xx_restart(char mode, const char *cmd); |
27 | void s3c64xx_init_late(void); | ||
27 | 28 | ||
28 | #ifdef CONFIG_CPU_S3C6400 | 29 | #ifdef CONFIG_CPU_S3C6400 |
29 | 30 | ||
@@ -51,4 +52,10 @@ extern void s3c6410_init_clocks(int xtal); | |||
51 | #define s3c6410_init NULL | 52 | #define s3c6410_init NULL |
52 | #endif | 53 | #endif |
53 | 54 | ||
55 | #ifdef CONFIG_PM | ||
56 | int __init s3c64xx_pm_late_initcall(void); | ||
57 | #else | ||
58 | static inline int s3c64xx_pm_late_initcall(void) { return 0; } | ||
59 | #endif | ||
60 | |||
54 | #endif /* __ARCH_ARM_MACH_S3C64XX_COMMON_H */ | 61 | #endif /* __ARCH_ARM_MACH_S3C64XX_COMMON_H */ |
diff --git a/arch/arm/mach-s3c64xx/mach-anw6410.c b/arch/arm/mach-s3c64xx/mach-anw6410.c index f252691fb209..314df0518afd 100644 --- a/arch/arm/mach-s3c64xx/mach-anw6410.c +++ b/arch/arm/mach-s3c64xx/mach-anw6410.c | |||
@@ -230,6 +230,7 @@ MACHINE_START(ANW6410, "A&W6410") | |||
230 | .handle_irq = vic_handle_irq, | 230 | .handle_irq = vic_handle_irq, |
231 | .map_io = anw6410_map_io, | 231 | .map_io = anw6410_map_io, |
232 | .init_machine = anw6410_machine_init, | 232 | .init_machine = anw6410_machine_init, |
233 | .init_late = s3c64xx_init_late, | ||
233 | .timer = &s3c24xx_timer, | 234 | .timer = &s3c24xx_timer, |
234 | .restart = s3c64xx_restart, | 235 | .restart = s3c64xx_restart, |
235 | MACHINE_END | 236 | MACHINE_END |
diff --git a/arch/arm/mach-s3c64xx/mach-crag6410.c b/arch/arm/mach-s3c64xx/mach-crag6410.c index aa1137fb47e6..eda5e027b109 100644 --- a/arch/arm/mach-s3c64xx/mach-crag6410.c +++ b/arch/arm/mach-s3c64xx/mach-crag6410.c | |||
@@ -813,6 +813,7 @@ MACHINE_START(WLF_CRAGG_6410, "Wolfson Cragganmore 6410") | |||
813 | .handle_irq = vic_handle_irq, | 813 | .handle_irq = vic_handle_irq, |
814 | .map_io = crag6410_map_io, | 814 | .map_io = crag6410_map_io, |
815 | .init_machine = crag6410_machine_init, | 815 | .init_machine = crag6410_machine_init, |
816 | .init_late = s3c64xx_init_late, | ||
816 | .timer = &s3c24xx_timer, | 817 | .timer = &s3c24xx_timer, |
817 | .restart = s3c64xx_restart, | 818 | .restart = s3c64xx_restart, |
818 | MACHINE_END | 819 | MACHINE_END |
diff --git a/arch/arm/mach-s3c64xx/mach-hmt.c b/arch/arm/mach-s3c64xx/mach-hmt.c index 521e07b8501b..1bf6b9da20fc 100644 --- a/arch/arm/mach-s3c64xx/mach-hmt.c +++ b/arch/arm/mach-s3c64xx/mach-hmt.c | |||
@@ -272,6 +272,7 @@ MACHINE_START(HMT, "Airgoo-HMT") | |||
272 | .handle_irq = vic_handle_irq, | 272 | .handle_irq = vic_handle_irq, |
273 | .map_io = hmt_map_io, | 273 | .map_io = hmt_map_io, |
274 | .init_machine = hmt_machine_init, | 274 | .init_machine = hmt_machine_init, |
275 | .init_late = s3c64xx_init_late, | ||
275 | .timer = &s3c24xx_timer, | 276 | .timer = &s3c24xx_timer, |
276 | .restart = s3c64xx_restart, | 277 | .restart = s3c64xx_restart, |
277 | MACHINE_END | 278 | MACHINE_END |
diff --git a/arch/arm/mach-s3c64xx/mach-mini6410.c b/arch/arm/mach-s3c64xx/mach-mini6410.c index b2166d4a5538..f8ea61ea3b33 100644 --- a/arch/arm/mach-s3c64xx/mach-mini6410.c +++ b/arch/arm/mach-s3c64xx/mach-mini6410.c | |||
@@ -339,6 +339,7 @@ MACHINE_START(MINI6410, "MINI6410") | |||
339 | .handle_irq = vic_handle_irq, | 339 | .handle_irq = vic_handle_irq, |
340 | .map_io = mini6410_map_io, | 340 | .map_io = mini6410_map_io, |
341 | .init_machine = mini6410_machine_init, | 341 | .init_machine = mini6410_machine_init, |
342 | .init_late = s3c64xx_init_late, | ||
342 | .timer = &s3c24xx_timer, | 343 | .timer = &s3c24xx_timer, |
343 | .restart = s3c64xx_restart, | 344 | .restart = s3c64xx_restart, |
344 | MACHINE_END | 345 | MACHINE_END |
diff --git a/arch/arm/mach-s3c64xx/mach-ncp.c b/arch/arm/mach-s3c64xx/mach-ncp.c index 0efa2ba783b2..cad2e05eddf7 100644 --- a/arch/arm/mach-s3c64xx/mach-ncp.c +++ b/arch/arm/mach-s3c64xx/mach-ncp.c | |||
@@ -104,6 +104,7 @@ MACHINE_START(NCP, "NCP") | |||
104 | .handle_irq = vic_handle_irq, | 104 | .handle_irq = vic_handle_irq, |
105 | .map_io = ncp_map_io, | 105 | .map_io = ncp_map_io, |
106 | .init_machine = ncp_machine_init, | 106 | .init_machine = ncp_machine_init, |
107 | .init_late = s3c64xx_init_late, | ||
107 | .timer = &s3c24xx_timer, | 108 | .timer = &s3c24xx_timer, |
108 | .restart = s3c64xx_restart, | 109 | .restart = s3c64xx_restart, |
109 | MACHINE_END | 110 | MACHINE_END |
diff --git a/arch/arm/mach-s3c64xx/mach-real6410.c b/arch/arm/mach-s3c64xx/mach-real6410.c index 5c08266cea21..b92d8e17d502 100644 --- a/arch/arm/mach-s3c64xx/mach-real6410.c +++ b/arch/arm/mach-s3c64xx/mach-real6410.c | |||
@@ -320,6 +320,7 @@ MACHINE_START(REAL6410, "REAL6410") | |||
320 | .handle_irq = vic_handle_irq, | 320 | .handle_irq = vic_handle_irq, |
321 | .map_io = real6410_map_io, | 321 | .map_io = real6410_map_io, |
322 | .init_machine = real6410_machine_init, | 322 | .init_machine = real6410_machine_init, |
323 | .init_late = s3c64xx_init_late, | ||
323 | .timer = &s3c24xx_timer, | 324 | .timer = &s3c24xx_timer, |
324 | .restart = s3c64xx_restart, | 325 | .restart = s3c64xx_restart, |
325 | MACHINE_END | 326 | MACHINE_END |
diff --git a/arch/arm/mach-s3c64xx/mach-smartq5.c b/arch/arm/mach-s3c64xx/mach-smartq5.c index 3f42431d4dda..c5021d0335c6 100644 --- a/arch/arm/mach-s3c64xx/mach-smartq5.c +++ b/arch/arm/mach-s3c64xx/mach-smartq5.c | |||
@@ -152,6 +152,7 @@ MACHINE_START(SMARTQ5, "SmartQ 5") | |||
152 | .handle_irq = vic_handle_irq, | 152 | .handle_irq = vic_handle_irq, |
153 | .map_io = smartq_map_io, | 153 | .map_io = smartq_map_io, |
154 | .init_machine = smartq5_machine_init, | 154 | .init_machine = smartq5_machine_init, |
155 | .init_late = s3c64xx_init_late, | ||
155 | .timer = &s3c24xx_timer, | 156 | .timer = &s3c24xx_timer, |
156 | .restart = s3c64xx_restart, | 157 | .restart = s3c64xx_restart, |
157 | MACHINE_END | 158 | MACHINE_END |
diff --git a/arch/arm/mach-s3c64xx/mach-smartq7.c b/arch/arm/mach-s3c64xx/mach-smartq7.c index e5c09b6db967..aa9072a4cbef 100644 --- a/arch/arm/mach-s3c64xx/mach-smartq7.c +++ b/arch/arm/mach-s3c64xx/mach-smartq7.c | |||
@@ -168,6 +168,7 @@ MACHINE_START(SMARTQ7, "SmartQ 7") | |||
168 | .handle_irq = vic_handle_irq, | 168 | .handle_irq = vic_handle_irq, |
169 | .map_io = smartq_map_io, | 169 | .map_io = smartq_map_io, |
170 | .init_machine = smartq7_machine_init, | 170 | .init_machine = smartq7_machine_init, |
171 | .init_late = s3c64xx_init_late, | ||
171 | .timer = &s3c24xx_timer, | 172 | .timer = &s3c24xx_timer, |
172 | .restart = s3c64xx_restart, | 173 | .restart = s3c64xx_restart, |
173 | MACHINE_END | 174 | MACHINE_END |
diff --git a/arch/arm/mach-s3c64xx/mach-smdk6400.c b/arch/arm/mach-s3c64xx/mach-smdk6400.c index 5f096534f4c4..b0f4525c66bd 100644 --- a/arch/arm/mach-s3c64xx/mach-smdk6400.c +++ b/arch/arm/mach-s3c64xx/mach-smdk6400.c | |||
@@ -93,6 +93,7 @@ MACHINE_START(SMDK6400, "SMDK6400") | |||
93 | .handle_irq = vic_handle_irq, | 93 | .handle_irq = vic_handle_irq, |
94 | .map_io = smdk6400_map_io, | 94 | .map_io = smdk6400_map_io, |
95 | .init_machine = smdk6400_machine_init, | 95 | .init_machine = smdk6400_machine_init, |
96 | .init_late = s3c64xx_init_late, | ||
96 | .timer = &s3c24xx_timer, | 97 | .timer = &s3c24xx_timer, |
97 | .restart = s3c64xx_restart, | 98 | .restart = s3c64xx_restart, |
98 | MACHINE_END | 99 | MACHINE_END |
diff --git a/arch/arm/mach-s3c64xx/mach-smdk6410.c b/arch/arm/mach-s3c64xx/mach-smdk6410.c index 7da044f738ac..d44319b09412 100644 --- a/arch/arm/mach-s3c64xx/mach-smdk6410.c +++ b/arch/arm/mach-s3c64xx/mach-smdk6410.c | |||
@@ -702,6 +702,7 @@ MACHINE_START(SMDK6410, "SMDK6410") | |||
702 | .handle_irq = vic_handle_irq, | 702 | .handle_irq = vic_handle_irq, |
703 | .map_io = smdk6410_map_io, | 703 | .map_io = smdk6410_map_io, |
704 | .init_machine = smdk6410_machine_init, | 704 | .init_machine = smdk6410_machine_init, |
705 | .init_late = s3c64xx_init_late, | ||
705 | .timer = &s3c24xx_timer, | 706 | .timer = &s3c24xx_timer, |
706 | .restart = s3c64xx_restart, | 707 | .restart = s3c64xx_restart, |
707 | MACHINE_END | 708 | MACHINE_END |
diff --git a/arch/arm/mach-s3c64xx/pm.c b/arch/arm/mach-s3c64xx/pm.c index 7d3e81b9dd06..7feb426fc202 100644 --- a/arch/arm/mach-s3c64xx/pm.c +++ b/arch/arm/mach-s3c64xx/pm.c | |||
@@ -365,10 +365,9 @@ static __init int s3c64xx_pm_initcall(void) | |||
365 | } | 365 | } |
366 | arch_initcall(s3c64xx_pm_initcall); | 366 | arch_initcall(s3c64xx_pm_initcall); |
367 | 367 | ||
368 | static __init int s3c64xx_pm_late_initcall(void) | 368 | int __init s3c64xx_pm_late_initcall(void) |
369 | { | 369 | { |
370 | pm_genpd_poweroff_unused(); | 370 | pm_genpd_poweroff_unused(); |
371 | 371 | ||
372 | return 0; | 372 | return 0; |
373 | } | 373 | } |
374 | late_initcall(s3c64xx_pm_late_initcall); | ||