diff options
author | Shawn Guo <shawn.guo@linaro.org> | 2012-04-26 01:49:29 -0400 |
---|---|---|
committer | Shawn Guo <shawn.guo@linaro.org> | 2012-05-08 08:36:18 -0400 |
commit | 82c3bd03535f1571426fdd19b7d832f76b7ac85e (patch) | |
tree | c5d2a31e0b46045803215b4c9e595322e5cc04a7 /arch | |
parent | c633c531f8afbcfd422409c3350b8dc55baa485e (diff) |
ARM: omap1: use machine specific hook for late init
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-omap1/board-ams-delta.c | 8 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-fsample.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-generic.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-h2.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-h3.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-htcherald.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-innovator.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-nokia770.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-osk.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-palmte.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-palmtt.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-palmz71.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-perseus2.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-sx1.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-voiceblue.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap1/common.h | 10 | ||||
-rw-r--r-- | arch/arm/mach-omap1/io.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-omap1/serial.c | 3 |
18 files changed, 37 insertions, 3 deletions
diff --git a/arch/arm/mach-omap1/board-ams-delta.c b/arch/arm/mach-omap1/board-ams-delta.c index c1b681ef4cba..f2f8a5847018 100644 --- a/arch/arm/mach-omap1/board-ams-delta.c +++ b/arch/arm/mach-omap1/board-ams-delta.c | |||
@@ -595,7 +595,12 @@ gpio_free: | |||
595 | gpio_free(AMS_DELTA_GPIO_PIN_MODEM_IRQ); | 595 | gpio_free(AMS_DELTA_GPIO_PIN_MODEM_IRQ); |
596 | return err; | 596 | return err; |
597 | } | 597 | } |
598 | late_initcall(late_init); | 598 | |
599 | static void __init ams_delta_init_late(void) | ||
600 | { | ||
601 | omap1_init_late(); | ||
602 | late_init(); | ||
603 | } | ||
599 | 604 | ||
600 | static void __init ams_delta_map_io(void) | 605 | static void __init ams_delta_map_io(void) |
601 | { | 606 | { |
@@ -611,6 +616,7 @@ MACHINE_START(AMS_DELTA, "Amstrad E3 (Delta)") | |||
611 | .reserve = omap_reserve, | 616 | .reserve = omap_reserve, |
612 | .init_irq = omap1_init_irq, | 617 | .init_irq = omap1_init_irq, |
613 | .init_machine = ams_delta_init, | 618 | .init_machine = ams_delta_init, |
619 | .init_late = ams_delta_init_late, | ||
614 | .timer = &omap1_timer, | 620 | .timer = &omap1_timer, |
615 | .restart = omap1_restart, | 621 | .restart = omap1_restart, |
616 | MACHINE_END | 622 | MACHINE_END |
diff --git a/arch/arm/mach-omap1/board-fsample.c b/arch/arm/mach-omap1/board-fsample.c index 80bd43c7f4ec..a77ee57f840d 100644 --- a/arch/arm/mach-omap1/board-fsample.c +++ b/arch/arm/mach-omap1/board-fsample.c | |||
@@ -383,6 +383,7 @@ MACHINE_START(OMAP_FSAMPLE, "OMAP730 F-Sample") | |||
383 | .reserve = omap_reserve, | 383 | .reserve = omap_reserve, |
384 | .init_irq = omap1_init_irq, | 384 | .init_irq = omap1_init_irq, |
385 | .init_machine = omap_fsample_init, | 385 | .init_machine = omap_fsample_init, |
386 | .init_late = omap1_init_late, | ||
386 | .timer = &omap1_timer, | 387 | .timer = &omap1_timer, |
387 | .restart = omap1_restart, | 388 | .restart = omap1_restart, |
388 | MACHINE_END | 389 | MACHINE_END |
diff --git a/arch/arm/mach-omap1/board-generic.c b/arch/arm/mach-omap1/board-generic.c index 9a5fe581bc1c..e75e2d55a2d7 100644 --- a/arch/arm/mach-omap1/board-generic.c +++ b/arch/arm/mach-omap1/board-generic.c | |||
@@ -88,6 +88,7 @@ MACHINE_START(OMAP_GENERIC, "Generic OMAP1510/1610/1710") | |||
88 | .reserve = omap_reserve, | 88 | .reserve = omap_reserve, |
89 | .init_irq = omap1_init_irq, | 89 | .init_irq = omap1_init_irq, |
90 | .init_machine = omap_generic_init, | 90 | .init_machine = omap_generic_init, |
91 | .init_late = omap1_init_late, | ||
91 | .timer = &omap1_timer, | 92 | .timer = &omap1_timer, |
92 | .restart = omap1_restart, | 93 | .restart = omap1_restart, |
93 | MACHINE_END | 94 | MACHINE_END |
diff --git a/arch/arm/mach-omap1/board-h2.c b/arch/arm/mach-omap1/board-h2.c index 553a2e535764..04cf99455758 100644 --- a/arch/arm/mach-omap1/board-h2.c +++ b/arch/arm/mach-omap1/board-h2.c | |||
@@ -446,6 +446,7 @@ MACHINE_START(OMAP_H2, "TI-H2") | |||
446 | .reserve = omap_reserve, | 446 | .reserve = omap_reserve, |
447 | .init_irq = omap1_init_irq, | 447 | .init_irq = omap1_init_irq, |
448 | .init_machine = h2_init, | 448 | .init_machine = h2_init, |
449 | .init_late = omap1_init_late, | ||
449 | .timer = &omap1_timer, | 450 | .timer = &omap1_timer, |
450 | .restart = omap1_restart, | 451 | .restart = omap1_restart, |
451 | MACHINE_END | 452 | MACHINE_END |
diff --git a/arch/arm/mach-omap1/board-h3.c b/arch/arm/mach-omap1/board-h3.c index 4c19f4c06851..a11ef0a7c025 100644 --- a/arch/arm/mach-omap1/board-h3.c +++ b/arch/arm/mach-omap1/board-h3.c | |||
@@ -439,6 +439,7 @@ MACHINE_START(OMAP_H3, "TI OMAP1710 H3 board") | |||
439 | .reserve = omap_reserve, | 439 | .reserve = omap_reserve, |
440 | .init_irq = omap1_init_irq, | 440 | .init_irq = omap1_init_irq, |
441 | .init_machine = h3_init, | 441 | .init_machine = h3_init, |
442 | .init_late = omap1_init_late, | ||
442 | .timer = &omap1_timer, | 443 | .timer = &omap1_timer, |
443 | .restart = omap1_restart, | 444 | .restart = omap1_restart, |
444 | MACHINE_END | 445 | MACHINE_END |
diff --git a/arch/arm/mach-omap1/board-htcherald.c b/arch/arm/mach-omap1/board-htcherald.c index 60c06ee23855..118a9d4a4c54 100644 --- a/arch/arm/mach-omap1/board-htcherald.c +++ b/arch/arm/mach-omap1/board-htcherald.c | |||
@@ -605,6 +605,7 @@ MACHINE_START(HERALD, "HTC Herald") | |||
605 | .reserve = omap_reserve, | 605 | .reserve = omap_reserve, |
606 | .init_irq = omap1_init_irq, | 606 | .init_irq = omap1_init_irq, |
607 | .init_machine = htcherald_init, | 607 | .init_machine = htcherald_init, |
608 | .init_late = omap1_init_late, | ||
608 | .timer = &omap1_timer, | 609 | .timer = &omap1_timer, |
609 | .restart = omap1_restart, | 610 | .restart = omap1_restart, |
610 | MACHINE_END | 611 | MACHINE_END |
diff --git a/arch/arm/mach-omap1/board-innovator.c b/arch/arm/mach-omap1/board-innovator.c index 67d7fd57a692..7970223a559d 100644 --- a/arch/arm/mach-omap1/board-innovator.c +++ b/arch/arm/mach-omap1/board-innovator.c | |||
@@ -457,6 +457,7 @@ MACHINE_START(OMAP_INNOVATOR, "TI-Innovator") | |||
457 | .reserve = omap_reserve, | 457 | .reserve = omap_reserve, |
458 | .init_irq = omap1_init_irq, | 458 | .init_irq = omap1_init_irq, |
459 | .init_machine = innovator_init, | 459 | .init_machine = innovator_init, |
460 | .init_late = omap1_init_late, | ||
460 | .timer = &omap1_timer, | 461 | .timer = &omap1_timer, |
461 | .restart = omap1_restart, | 462 | .restart = omap1_restart, |
462 | MACHINE_END | 463 | MACHINE_END |
diff --git a/arch/arm/mach-omap1/board-nokia770.c b/arch/arm/mach-omap1/board-nokia770.c index d21dcc2fbc5a..7212ae97f44a 100644 --- a/arch/arm/mach-omap1/board-nokia770.c +++ b/arch/arm/mach-omap1/board-nokia770.c | |||
@@ -255,6 +255,7 @@ MACHINE_START(NOKIA770, "Nokia 770") | |||
255 | .reserve = omap_reserve, | 255 | .reserve = omap_reserve, |
256 | .init_irq = omap1_init_irq, | 256 | .init_irq = omap1_init_irq, |
257 | .init_machine = omap_nokia770_init, | 257 | .init_machine = omap_nokia770_init, |
258 | .init_late = omap1_init_late, | ||
258 | .timer = &omap1_timer, | 259 | .timer = &omap1_timer, |
259 | .restart = omap1_restart, | 260 | .restart = omap1_restart, |
260 | MACHINE_END | 261 | MACHINE_END |
diff --git a/arch/arm/mach-omap1/board-osk.c b/arch/arm/mach-omap1/board-osk.c index a5f85dda3f69..da8d872d3d1c 100644 --- a/arch/arm/mach-omap1/board-osk.c +++ b/arch/arm/mach-omap1/board-osk.c | |||
@@ -574,6 +574,7 @@ MACHINE_START(OMAP_OSK, "TI-OSK") | |||
574 | .reserve = omap_reserve, | 574 | .reserve = omap_reserve, |
575 | .init_irq = omap1_init_irq, | 575 | .init_irq = omap1_init_irq, |
576 | .init_machine = osk_init, | 576 | .init_machine = osk_init, |
577 | .init_late = omap1_init_late, | ||
577 | .timer = &omap1_timer, | 578 | .timer = &omap1_timer, |
578 | .restart = omap1_restart, | 579 | .restart = omap1_restart, |
579 | MACHINE_END | 580 | MACHINE_END |
diff --git a/arch/arm/mach-omap1/board-palmte.c b/arch/arm/mach-omap1/board-palmte.c index a60e6c22f816..949b62a73693 100644 --- a/arch/arm/mach-omap1/board-palmte.c +++ b/arch/arm/mach-omap1/board-palmte.c | |||
@@ -267,6 +267,7 @@ MACHINE_START(OMAP_PALMTE, "OMAP310 based Palm Tungsten E") | |||
267 | .reserve = omap_reserve, | 267 | .reserve = omap_reserve, |
268 | .init_irq = omap1_init_irq, | 268 | .init_irq = omap1_init_irq, |
269 | .init_machine = omap_palmte_init, | 269 | .init_machine = omap_palmte_init, |
270 | .init_late = omap1_init_late, | ||
270 | .timer = &omap1_timer, | 271 | .timer = &omap1_timer, |
271 | .restart = omap1_restart, | 272 | .restart = omap1_restart, |
272 | MACHINE_END | 273 | MACHINE_END |
diff --git a/arch/arm/mach-omap1/board-palmtt.c b/arch/arm/mach-omap1/board-palmtt.c index 8d854878547b..7f1e1cf2bf46 100644 --- a/arch/arm/mach-omap1/board-palmtt.c +++ b/arch/arm/mach-omap1/board-palmtt.c | |||
@@ -313,6 +313,7 @@ MACHINE_START(OMAP_PALMTT, "OMAP1510 based Palm Tungsten|T") | |||
313 | .reserve = omap_reserve, | 313 | .reserve = omap_reserve, |
314 | .init_irq = omap1_init_irq, | 314 | .init_irq = omap1_init_irq, |
315 | .init_machine = omap_palmtt_init, | 315 | .init_machine = omap_palmtt_init, |
316 | .init_late = omap1_init_late, | ||
316 | .timer = &omap1_timer, | 317 | .timer = &omap1_timer, |
317 | .restart = omap1_restart, | 318 | .restart = omap1_restart, |
318 | MACHINE_END | 319 | MACHINE_END |
diff --git a/arch/arm/mach-omap1/board-palmz71.c b/arch/arm/mach-omap1/board-palmz71.c index a2c5abcd7c84..0711685f89a5 100644 --- a/arch/arm/mach-omap1/board-palmz71.c +++ b/arch/arm/mach-omap1/board-palmz71.c | |||
@@ -330,6 +330,7 @@ MACHINE_START(OMAP_PALMZ71, "OMAP310 based Palm Zire71") | |||
330 | .reserve = omap_reserve, | 330 | .reserve = omap_reserve, |
331 | .init_irq = omap1_init_irq, | 331 | .init_irq = omap1_init_irq, |
332 | .init_machine = omap_palmz71_init, | 332 | .init_machine = omap_palmz71_init, |
333 | .init_late = omap1_init_late, | ||
333 | .timer = &omap1_timer, | 334 | .timer = &omap1_timer, |
334 | .restart = omap1_restart, | 335 | .restart = omap1_restart, |
335 | MACHINE_END | 336 | MACHINE_END |
diff --git a/arch/arm/mach-omap1/board-perseus2.c b/arch/arm/mach-omap1/board-perseus2.c index 76d4ee05a814..512989bb15c0 100644 --- a/arch/arm/mach-omap1/board-perseus2.c +++ b/arch/arm/mach-omap1/board-perseus2.c | |||
@@ -345,6 +345,7 @@ MACHINE_START(OMAP_PERSEUS2, "OMAP730 Perseus2") | |||
345 | .reserve = omap_reserve, | 345 | .reserve = omap_reserve, |
346 | .init_irq = omap1_init_irq, | 346 | .init_irq = omap1_init_irq, |
347 | .init_machine = omap_perseus2_init, | 347 | .init_machine = omap_perseus2_init, |
348 | .init_late = omap1_init_late, | ||
348 | .timer = &omap1_timer, | 349 | .timer = &omap1_timer, |
349 | .restart = omap1_restart, | 350 | .restart = omap1_restart, |
350 | MACHINE_END | 351 | MACHINE_END |
diff --git a/arch/arm/mach-omap1/board-sx1.c b/arch/arm/mach-omap1/board-sx1.c index f34cb74a9f41..3b7b82b13684 100644 --- a/arch/arm/mach-omap1/board-sx1.c +++ b/arch/arm/mach-omap1/board-sx1.c | |||
@@ -407,6 +407,7 @@ MACHINE_START(SX1, "OMAP310 based Siemens SX1") | |||
407 | .reserve = omap_reserve, | 407 | .reserve = omap_reserve, |
408 | .init_irq = omap1_init_irq, | 408 | .init_irq = omap1_init_irq, |
409 | .init_machine = omap_sx1_init, | 409 | .init_machine = omap_sx1_init, |
410 | .init_late = omap1_init_late, | ||
410 | .timer = &omap1_timer, | 411 | .timer = &omap1_timer, |
411 | .restart = omap1_restart, | 412 | .restart = omap1_restart, |
412 | MACHINE_END | 413 | MACHINE_END |
diff --git a/arch/arm/mach-omap1/board-voiceblue.c b/arch/arm/mach-omap1/board-voiceblue.c index 37232d04233f..afd67f0ec495 100644 --- a/arch/arm/mach-omap1/board-voiceblue.c +++ b/arch/arm/mach-omap1/board-voiceblue.c | |||
@@ -294,6 +294,7 @@ MACHINE_START(VOICEBLUE, "VoiceBlue OMAP5910") | |||
294 | .reserve = omap_reserve, | 294 | .reserve = omap_reserve, |
295 | .init_irq = omap1_init_irq, | 295 | .init_irq = omap1_init_irq, |
296 | .init_machine = voiceblue_init, | 296 | .init_machine = voiceblue_init, |
297 | .init_late = omap1_init_late, | ||
297 | .timer = &omap1_timer, | 298 | .timer = &omap1_timer, |
298 | .restart = voiceblue_restart, | 299 | .restart = voiceblue_restart, |
299 | MACHINE_END | 300 | MACHINE_END |
diff --git a/arch/arm/mach-omap1/common.h b/arch/arm/mach-omap1/common.h index af658ad338ec..0b77e6d68f5f 100644 --- a/arch/arm/mach-omap1/common.h +++ b/arch/arm/mach-omap1/common.h | |||
@@ -52,8 +52,18 @@ static inline void omap16xx_map_io(void) | |||
52 | } | 52 | } |
53 | #endif | 53 | #endif |
54 | 54 | ||
55 | #ifdef CONFIG_OMAP_SERIAL_WAKE | ||
56 | int omap_serial_wakeup_init(void); | ||
57 | #else | ||
58 | static inline int omap_serial_wakeup_init(void) | ||
59 | { | ||
60 | return 0; | ||
61 | } | ||
62 | #endif | ||
63 | |||
55 | void omap1_init_early(void); | 64 | void omap1_init_early(void); |
56 | void omap1_init_irq(void); | 65 | void omap1_init_irq(void); |
66 | void omap1_init_late(void); | ||
57 | void omap1_restart(char, const char *); | 67 | void omap1_restart(char, const char *); |
58 | 68 | ||
59 | extern struct sys_timer omap1_timer; | 69 | extern struct sys_timer omap1_timer; |
diff --git a/arch/arm/mach-omap1/io.c b/arch/arm/mach-omap1/io.c index d969a7203d14..cf811f2bc7fc 100644 --- a/arch/arm/mach-omap1/io.c +++ b/arch/arm/mach-omap1/io.c | |||
@@ -138,6 +138,11 @@ void __init omap1_init_early(void) | |||
138 | omap_init_consistent_dma_size(); | 138 | omap_init_consistent_dma_size(); |
139 | } | 139 | } |
140 | 140 | ||
141 | void __init omap1_init_late(void) | ||
142 | { | ||
143 | omap_serial_wakeup_init(); | ||
144 | } | ||
145 | |||
141 | /* | 146 | /* |
142 | * NOTE: Please use ioremap + __raw_read/write where possible instead of these | 147 | * NOTE: Please use ioremap + __raw_read/write where possible instead of these |
143 | */ | 148 | */ |
diff --git a/arch/arm/mach-omap1/serial.c b/arch/arm/mach-omap1/serial.c index 93ae8f29727e..6809c9e56c93 100644 --- a/arch/arm/mach-omap1/serial.c +++ b/arch/arm/mach-omap1/serial.c | |||
@@ -237,7 +237,7 @@ static void __init omap_serial_set_port_wakeup(int gpio_nr) | |||
237 | enable_irq_wake(gpio_to_irq(gpio_nr)); | 237 | enable_irq_wake(gpio_to_irq(gpio_nr)); |
238 | } | 238 | } |
239 | 239 | ||
240 | static int __init omap_serial_wakeup_init(void) | 240 | int __init omap_serial_wakeup_init(void) |
241 | { | 241 | { |
242 | if (!cpu_is_omap16xx()) | 242 | if (!cpu_is_omap16xx()) |
243 | return 0; | 243 | return 0; |
@@ -251,7 +251,6 @@ static int __init omap_serial_wakeup_init(void) | |||
251 | 251 | ||
252 | return 0; | 252 | return 0; |
253 | } | 253 | } |
254 | late_initcall(omap_serial_wakeup_init); | ||
255 | 254 | ||
256 | #endif /* CONFIG_OMAP_SERIAL_WAKE */ | 255 | #endif /* CONFIG_OMAP_SERIAL_WAKE */ |
257 | 256 | ||