diff options
author | Shawn Guo <shawn.guo@linaro.org> | 2012-04-25 22:05:15 -0400 |
---|---|---|
committer | Shawn Guo <shawn.guo@linaro.org> | 2012-05-05 02:20:34 -0400 |
commit | c914283f5e5f55ddf770b8632a5e65e5aa24343e (patch) | |
tree | 052aeba7e4539243d0704ce0fcc24945e0a1e11c /arch | |
parent | 3aa3e8407ae9023c5ff59bf5c81fc2553c31eb70 (diff) |
ARM: ep93xx: use machine specific hook for late init
Cc: Ryan Mallon <rmallon@gmail.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-ep93xx/adssphere.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/core.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/crunch.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/edb93xx.c | 8 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/gesbc9312.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/include/mach/platform.h | 7 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/micro9.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/simone.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/snappercl15.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/ts72xx.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/vision_ep9307.c | 1 |
11 files changed, 31 insertions, 3 deletions
diff --git a/arch/arm/mach-ep93xx/adssphere.c b/arch/arm/mach-ep93xx/adssphere.c index 2d45947a3034..a472777e9eba 100644 --- a/arch/arm/mach-ep93xx/adssphere.c +++ b/arch/arm/mach-ep93xx/adssphere.c | |||
@@ -41,5 +41,6 @@ MACHINE_START(ADSSPHERE, "ADS Sphere board") | |||
41 | .handle_irq = vic_handle_irq, | 41 | .handle_irq = vic_handle_irq, |
42 | .timer = &ep93xx_timer, | 42 | .timer = &ep93xx_timer, |
43 | .init_machine = adssphere_init_machine, | 43 | .init_machine = adssphere_init_machine, |
44 | .init_late = ep93xx_init_late, | ||
44 | .restart = ep93xx_restart, | 45 | .restart = ep93xx_restart, |
45 | MACHINE_END | 46 | MACHINE_END |
diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c index 8d2589588713..365a90b5ce3d 100644 --- a/arch/arm/mach-ep93xx/core.c +++ b/arch/arm/mach-ep93xx/core.c | |||
@@ -904,3 +904,8 @@ void ep93xx_restart(char mode, const char *cmd) | |||
904 | while (1) | 904 | while (1) |
905 | ; | 905 | ; |
906 | } | 906 | } |
907 | |||
908 | void __init ep93xx_init_late(void) | ||
909 | { | ||
910 | crunch_init(); | ||
911 | } | ||
diff --git a/arch/arm/mach-ep93xx/crunch.c b/arch/arm/mach-ep93xx/crunch.c index 74753e2df603..a4a2ab9648c9 100644 --- a/arch/arm/mach-ep93xx/crunch.c +++ b/arch/arm/mach-ep93xx/crunch.c | |||
@@ -79,12 +79,10 @@ static struct notifier_block crunch_notifier_block = { | |||
79 | .notifier_call = crunch_do, | 79 | .notifier_call = crunch_do, |
80 | }; | 80 | }; |
81 | 81 | ||
82 | static int __init crunch_init(void) | 82 | int __init crunch_init(void) |
83 | { | 83 | { |
84 | thread_register_notifier(&crunch_notifier_block); | 84 | thread_register_notifier(&crunch_notifier_block); |
85 | elf_hwcap |= HWCAP_CRUNCH; | 85 | elf_hwcap |= HWCAP_CRUNCH; |
86 | 86 | ||
87 | return 0; | 87 | return 0; |
88 | } | 88 | } |
89 | |||
90 | late_initcall(crunch_init); | ||
diff --git a/arch/arm/mach-ep93xx/edb93xx.c b/arch/arm/mach-ep93xx/edb93xx.c index da9047d726f0..d74c5cddb98b 100644 --- a/arch/arm/mach-ep93xx/edb93xx.c +++ b/arch/arm/mach-ep93xx/edb93xx.c | |||
@@ -255,6 +255,7 @@ MACHINE_START(EDB9301, "Cirrus Logic EDB9301 Evaluation Board") | |||
255 | .handle_irq = vic_handle_irq, | 255 | .handle_irq = vic_handle_irq, |
256 | .timer = &ep93xx_timer, | 256 | .timer = &ep93xx_timer, |
257 | .init_machine = edb93xx_init_machine, | 257 | .init_machine = edb93xx_init_machine, |
258 | .init_late = ep93xx_init_late, | ||
258 | .restart = ep93xx_restart, | 259 | .restart = ep93xx_restart, |
259 | MACHINE_END | 260 | MACHINE_END |
260 | #endif | 261 | #endif |
@@ -268,6 +269,7 @@ MACHINE_START(EDB9302, "Cirrus Logic EDB9302 Evaluation Board") | |||
268 | .handle_irq = vic_handle_irq, | 269 | .handle_irq = vic_handle_irq, |
269 | .timer = &ep93xx_timer, | 270 | .timer = &ep93xx_timer, |
270 | .init_machine = edb93xx_init_machine, | 271 | .init_machine = edb93xx_init_machine, |
272 | .init_late = ep93xx_init_late, | ||
271 | .restart = ep93xx_restart, | 273 | .restart = ep93xx_restart, |
272 | MACHINE_END | 274 | MACHINE_END |
273 | #endif | 275 | #endif |
@@ -281,6 +283,7 @@ MACHINE_START(EDB9302A, "Cirrus Logic EDB9302A Evaluation Board") | |||
281 | .handle_irq = vic_handle_irq, | 283 | .handle_irq = vic_handle_irq, |
282 | .timer = &ep93xx_timer, | 284 | .timer = &ep93xx_timer, |
283 | .init_machine = edb93xx_init_machine, | 285 | .init_machine = edb93xx_init_machine, |
286 | .init_late = ep93xx_init_late, | ||
284 | .restart = ep93xx_restart, | 287 | .restart = ep93xx_restart, |
285 | MACHINE_END | 288 | MACHINE_END |
286 | #endif | 289 | #endif |
@@ -294,6 +297,7 @@ MACHINE_START(EDB9307, "Cirrus Logic EDB9307 Evaluation Board") | |||
294 | .handle_irq = vic_handle_irq, | 297 | .handle_irq = vic_handle_irq, |
295 | .timer = &ep93xx_timer, | 298 | .timer = &ep93xx_timer, |
296 | .init_machine = edb93xx_init_machine, | 299 | .init_machine = edb93xx_init_machine, |
300 | .init_late = ep93xx_init_late, | ||
297 | .restart = ep93xx_restart, | 301 | .restart = ep93xx_restart, |
298 | MACHINE_END | 302 | MACHINE_END |
299 | #endif | 303 | #endif |
@@ -307,6 +311,7 @@ MACHINE_START(EDB9307A, "Cirrus Logic EDB9307A Evaluation Board") | |||
307 | .handle_irq = vic_handle_irq, | 311 | .handle_irq = vic_handle_irq, |
308 | .timer = &ep93xx_timer, | 312 | .timer = &ep93xx_timer, |
309 | .init_machine = edb93xx_init_machine, | 313 | .init_machine = edb93xx_init_machine, |
314 | .init_late = ep93xx_init_late, | ||
310 | .restart = ep93xx_restart, | 315 | .restart = ep93xx_restart, |
311 | MACHINE_END | 316 | MACHINE_END |
312 | #endif | 317 | #endif |
@@ -320,6 +325,7 @@ MACHINE_START(EDB9312, "Cirrus Logic EDB9312 Evaluation Board") | |||
320 | .handle_irq = vic_handle_irq, | 325 | .handle_irq = vic_handle_irq, |
321 | .timer = &ep93xx_timer, | 326 | .timer = &ep93xx_timer, |
322 | .init_machine = edb93xx_init_machine, | 327 | .init_machine = edb93xx_init_machine, |
328 | .init_late = ep93xx_init_late, | ||
323 | .restart = ep93xx_restart, | 329 | .restart = ep93xx_restart, |
324 | MACHINE_END | 330 | MACHINE_END |
325 | #endif | 331 | #endif |
@@ -333,6 +339,7 @@ MACHINE_START(EDB9315, "Cirrus Logic EDB9315 Evaluation Board") | |||
333 | .handle_irq = vic_handle_irq, | 339 | .handle_irq = vic_handle_irq, |
334 | .timer = &ep93xx_timer, | 340 | .timer = &ep93xx_timer, |
335 | .init_machine = edb93xx_init_machine, | 341 | .init_machine = edb93xx_init_machine, |
342 | .init_late = ep93xx_init_late, | ||
336 | .restart = ep93xx_restart, | 343 | .restart = ep93xx_restart, |
337 | MACHINE_END | 344 | MACHINE_END |
338 | #endif | 345 | #endif |
@@ -346,6 +353,7 @@ MACHINE_START(EDB9315A, "Cirrus Logic EDB9315A Evaluation Board") | |||
346 | .handle_irq = vic_handle_irq, | 353 | .handle_irq = vic_handle_irq, |
347 | .timer = &ep93xx_timer, | 354 | .timer = &ep93xx_timer, |
348 | .init_machine = edb93xx_init_machine, | 355 | .init_machine = edb93xx_init_machine, |
356 | .init_late = ep93xx_init_late, | ||
349 | .restart = ep93xx_restart, | 357 | .restart = ep93xx_restart, |
350 | MACHINE_END | 358 | MACHINE_END |
351 | #endif | 359 | #endif |
diff --git a/arch/arm/mach-ep93xx/gesbc9312.c b/arch/arm/mach-ep93xx/gesbc9312.c index fcdffbe49dcc..437c34111155 100644 --- a/arch/arm/mach-ep93xx/gesbc9312.c +++ b/arch/arm/mach-ep93xx/gesbc9312.c | |||
@@ -41,5 +41,6 @@ MACHINE_START(GESBC9312, "Glomation GESBC-9312-sx") | |||
41 | .handle_irq = vic_handle_irq, | 41 | .handle_irq = vic_handle_irq, |
42 | .timer = &ep93xx_timer, | 42 | .timer = &ep93xx_timer, |
43 | .init_machine = gesbc9312_init_machine, | 43 | .init_machine = gesbc9312_init_machine, |
44 | .init_late = ep93xx_init_late, | ||
44 | .restart = ep93xx_restart, | 45 | .restart = ep93xx_restart, |
45 | MACHINE_END | 46 | MACHINE_END |
diff --git a/arch/arm/mach-ep93xx/include/mach/platform.h b/arch/arm/mach-ep93xx/include/mach/platform.h index 602bd87fd0ab..1ecb040d98bf 100644 --- a/arch/arm/mach-ep93xx/include/mach/platform.h +++ b/arch/arm/mach-ep93xx/include/mach/platform.h | |||
@@ -53,5 +53,12 @@ void ep93xx_init_devices(void); | |||
53 | extern struct sys_timer ep93xx_timer; | 53 | extern struct sys_timer ep93xx_timer; |
54 | 54 | ||
55 | void ep93xx_restart(char, const char *); | 55 | void ep93xx_restart(char, const char *); |
56 | void ep93xx_init_late(void); | ||
57 | |||
58 | #ifdef CONFIG_CRUNCH | ||
59 | int crunch_init(void); | ||
60 | #else | ||
61 | static inline int crunch_init(void) { return 0; } | ||
62 | #endif | ||
56 | 63 | ||
57 | #endif | 64 | #endif |
diff --git a/arch/arm/mach-ep93xx/micro9.c b/arch/arm/mach-ep93xx/micro9.c index dc431c5f04ce..3d7cdab725b2 100644 --- a/arch/arm/mach-ep93xx/micro9.c +++ b/arch/arm/mach-ep93xx/micro9.c | |||
@@ -85,6 +85,7 @@ MACHINE_START(MICRO9, "Contec Micro9-High") | |||
85 | .handle_irq = vic_handle_irq, | 85 | .handle_irq = vic_handle_irq, |
86 | .timer = &ep93xx_timer, | 86 | .timer = &ep93xx_timer, |
87 | .init_machine = micro9_init_machine, | 87 | .init_machine = micro9_init_machine, |
88 | .init_late = ep93xx_init_late, | ||
88 | .restart = ep93xx_restart, | 89 | .restart = ep93xx_restart, |
89 | MACHINE_END | 90 | MACHINE_END |
90 | #endif | 91 | #endif |
@@ -98,6 +99,7 @@ MACHINE_START(MICRO9M, "Contec Micro9-Mid") | |||
98 | .handle_irq = vic_handle_irq, | 99 | .handle_irq = vic_handle_irq, |
99 | .timer = &ep93xx_timer, | 100 | .timer = &ep93xx_timer, |
100 | .init_machine = micro9_init_machine, | 101 | .init_machine = micro9_init_machine, |
102 | .init_late = ep93xx_init_late, | ||
101 | .restart = ep93xx_restart, | 103 | .restart = ep93xx_restart, |
102 | MACHINE_END | 104 | MACHINE_END |
103 | #endif | 105 | #endif |
@@ -111,6 +113,7 @@ MACHINE_START(MICRO9L, "Contec Micro9-Lite") | |||
111 | .handle_irq = vic_handle_irq, | 113 | .handle_irq = vic_handle_irq, |
112 | .timer = &ep93xx_timer, | 114 | .timer = &ep93xx_timer, |
113 | .init_machine = micro9_init_machine, | 115 | .init_machine = micro9_init_machine, |
116 | .init_late = ep93xx_init_late, | ||
114 | .restart = ep93xx_restart, | 117 | .restart = ep93xx_restart, |
115 | MACHINE_END | 118 | MACHINE_END |
116 | #endif | 119 | #endif |
@@ -124,6 +127,7 @@ MACHINE_START(MICRO9S, "Contec Micro9-Slim") | |||
124 | .handle_irq = vic_handle_irq, | 127 | .handle_irq = vic_handle_irq, |
125 | .timer = &ep93xx_timer, | 128 | .timer = &ep93xx_timer, |
126 | .init_machine = micro9_init_machine, | 129 | .init_machine = micro9_init_machine, |
130 | .init_late = ep93xx_init_late, | ||
127 | .restart = ep93xx_restart, | 131 | .restart = ep93xx_restart, |
128 | MACHINE_END | 132 | MACHINE_END |
129 | #endif | 133 | #endif |
diff --git a/arch/arm/mach-ep93xx/simone.c b/arch/arm/mach-ep93xx/simone.c index f40c2987e545..33dc07917417 100644 --- a/arch/arm/mach-ep93xx/simone.c +++ b/arch/arm/mach-ep93xx/simone.c | |||
@@ -86,5 +86,6 @@ MACHINE_START(SIM_ONE, "Simplemachines Sim.One Board") | |||
86 | .handle_irq = vic_handle_irq, | 86 | .handle_irq = vic_handle_irq, |
87 | .timer = &ep93xx_timer, | 87 | .timer = &ep93xx_timer, |
88 | .init_machine = simone_init_machine, | 88 | .init_machine = simone_init_machine, |
89 | .init_late = ep93xx_init_late, | ||
89 | .restart = ep93xx_restart, | 90 | .restart = ep93xx_restart, |
90 | MACHINE_END | 91 | MACHINE_END |
diff --git a/arch/arm/mach-ep93xx/snappercl15.c b/arch/arm/mach-ep93xx/snappercl15.c index 0c00852ef160..eb282378fa78 100644 --- a/arch/arm/mach-ep93xx/snappercl15.c +++ b/arch/arm/mach-ep93xx/snappercl15.c | |||
@@ -183,5 +183,6 @@ MACHINE_START(SNAPPER_CL15, "Bluewater Systems Snapper CL15") | |||
183 | .handle_irq = vic_handle_irq, | 183 | .handle_irq = vic_handle_irq, |
184 | .timer = &ep93xx_timer, | 184 | .timer = &ep93xx_timer, |
185 | .init_machine = snappercl15_init_machine, | 185 | .init_machine = snappercl15_init_machine, |
186 | .init_late = ep93xx_init_late, | ||
186 | .restart = ep93xx_restart, | 187 | .restart = ep93xx_restart, |
187 | MACHINE_END | 188 | MACHINE_END |
diff --git a/arch/arm/mach-ep93xx/ts72xx.c b/arch/arm/mach-ep93xx/ts72xx.c index 5ea790942e94..d4ef339d961e 100644 --- a/arch/arm/mach-ep93xx/ts72xx.c +++ b/arch/arm/mach-ep93xx/ts72xx.c | |||
@@ -252,5 +252,6 @@ MACHINE_START(TS72XX, "Technologic Systems TS-72xx SBC") | |||
252 | .handle_irq = vic_handle_irq, | 252 | .handle_irq = vic_handle_irq, |
253 | .timer = &ep93xx_timer, | 253 | .timer = &ep93xx_timer, |
254 | .init_machine = ts72xx_init_machine, | 254 | .init_machine = ts72xx_init_machine, |
255 | .init_late = ep93xx_init_late, | ||
255 | .restart = ep93xx_restart, | 256 | .restart = ep93xx_restart, |
256 | MACHINE_END | 257 | MACHINE_END |
diff --git a/arch/arm/mach-ep93xx/vision_ep9307.c b/arch/arm/mach-ep93xx/vision_ep9307.c index ba156eb225e8..2905a4929bdc 100644 --- a/arch/arm/mach-ep93xx/vision_ep9307.c +++ b/arch/arm/mach-ep93xx/vision_ep9307.c | |||
@@ -367,5 +367,6 @@ MACHINE_START(VISION_EP9307, "Vision Engraving Systems EP9307") | |||
367 | .handle_irq = vic_handle_irq, | 367 | .handle_irq = vic_handle_irq, |
368 | .timer = &ep93xx_timer, | 368 | .timer = &ep93xx_timer, |
369 | .init_machine = vision_init_machine, | 369 | .init_machine = vision_init_machine, |
370 | .init_late = ep93xx_init_late, | ||
370 | .restart = ep93xx_restart, | 371 | .restart = ep93xx_restart, |
371 | MACHINE_END | 372 | MACHINE_END |