diff options
author | Shawn Guo <shawn.guo@linaro.org> | 2012-04-26 09:08:52 -0400 |
---|---|---|
committer | Shawn Guo <shawn.guo@linaro.org> | 2012-05-08 08:36:24 -0400 |
commit | cc8f252b713e9c7170bcf6346638dbf6d489d775 (patch) | |
tree | e205665a978789b256a37906b3272688ca889224 /arch/arm/mach-s3c64xx | |
parent | a4b4674e26da6b2c40f5b6485e165beb8f68d335 (diff) |
ARM: s3c64xx: use machine specific hook for late init
Cc: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
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 b86f2779e4e6..8808aa5e0015 100644 --- a/arch/arm/mach-s3c64xx/mach-anw6410.c +++ b/arch/arm/mach-s3c64xx/mach-anw6410.c | |||
@@ -241,6 +241,7 @@ MACHINE_START(ANW6410, "A&W6410") | |||
241 | .handle_irq = vic_handle_irq, | 241 | .handle_irq = vic_handle_irq, |
242 | .map_io = anw6410_map_io, | 242 | .map_io = anw6410_map_io, |
243 | .init_machine = anw6410_machine_init, | 243 | .init_machine = anw6410_machine_init, |
244 | .init_late = s3c64xx_init_late, | ||
244 | .timer = &s3c24xx_timer, | 245 | .timer = &s3c24xx_timer, |
245 | .restart = s3c64xx_restart, | 246 | .restart = s3c64xx_restart, |
246 | MACHINE_END | 247 | MACHINE_END |
diff --git a/arch/arm/mach-s3c64xx/mach-crag6410.c b/arch/arm/mach-s3c64xx/mach-crag6410.c index e20bf5835365..607d3f1bb98e 100644 --- a/arch/arm/mach-s3c64xx/mach-crag6410.c +++ b/arch/arm/mach-s3c64xx/mach-crag6410.c | |||
@@ -811,6 +811,7 @@ MACHINE_START(WLF_CRAGG_6410, "Wolfson Cragganmore 6410") | |||
811 | .handle_irq = vic_handle_irq, | 811 | .handle_irq = vic_handle_irq, |
812 | .map_io = crag6410_map_io, | 812 | .map_io = crag6410_map_io, |
813 | .init_machine = crag6410_machine_init, | 813 | .init_machine = crag6410_machine_init, |
814 | .init_late = s3c64xx_init_late, | ||
814 | .timer = &s3c24xx_timer, | 815 | .timer = &s3c24xx_timer, |
815 | .restart = s3c64xx_restart, | 816 | .restart = s3c64xx_restart, |
816 | MACHINE_END | 817 | 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 c34c2ab22ead..5aef599ed912 100644 --- a/arch/arm/mach-s3c64xx/mach-mini6410.c +++ b/arch/arm/mach-s3c64xx/mach-mini6410.c | |||
@@ -350,6 +350,7 @@ MACHINE_START(MINI6410, "MINI6410") | |||
350 | .handle_irq = vic_handle_irq, | 350 | .handle_irq = vic_handle_irq, |
351 | .map_io = mini6410_map_io, | 351 | .map_io = mini6410_map_io, |
352 | .init_machine = mini6410_machine_init, | 352 | .init_machine = mini6410_machine_init, |
353 | .init_late = s3c64xx_init_late, | ||
353 | .timer = &s3c24xx_timer, | 354 | .timer = &s3c24xx_timer, |
354 | .restart = s3c64xx_restart, | 355 | .restart = s3c64xx_restart, |
355 | MACHINE_END | 356 | 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 be2a9a22ab74..a88b60feaba9 100644 --- a/arch/arm/mach-s3c64xx/mach-real6410.c +++ b/arch/arm/mach-s3c64xx/mach-real6410.c | |||
@@ -331,6 +331,7 @@ MACHINE_START(REAL6410, "REAL6410") | |||
331 | .handle_irq = vic_handle_irq, | 331 | .handle_irq = vic_handle_irq, |
332 | .map_io = real6410_map_io, | 332 | .map_io = real6410_map_io, |
333 | .init_machine = real6410_machine_init, | 333 | .init_machine = real6410_machine_init, |
334 | .init_late = s3c64xx_init_late, | ||
334 | .timer = &s3c24xx_timer, | 335 | .timer = &s3c24xx_timer, |
335 | .restart = s3c64xx_restart, | 336 | .restart = s3c64xx_restart, |
336 | MACHINE_END | 337 | 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 d55bc96d9582..315a8b4834af 100644 --- a/arch/arm/mach-s3c64xx/mach-smdk6410.c +++ b/arch/arm/mach-s3c64xx/mach-smdk6410.c | |||
@@ -709,6 +709,7 @@ MACHINE_START(SMDK6410, "SMDK6410") | |||
709 | .handle_irq = vic_handle_irq, | 709 | .handle_irq = vic_handle_irq, |
710 | .map_io = smdk6410_map_io, | 710 | .map_io = smdk6410_map_io, |
711 | .init_machine = smdk6410_machine_init, | 711 | .init_machine = smdk6410_machine_init, |
712 | .init_late = s3c64xx_init_late, | ||
712 | .timer = &s3c24xx_timer, | 713 | .timer = &s3c24xx_timer, |
713 | .restart = s3c64xx_restart, | 714 | .restart = s3c64xx_restart, |
714 | MACHINE_END | 715 | 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); | ||