aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap1
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-omap1
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-omap1')
-rw-r--r--arch/arm/mach-omap1/board-ams-delta.c8
-rw-r--r--arch/arm/mach-omap1/board-fsample.c1
-rw-r--r--arch/arm/mach-omap1/board-generic.c1
-rw-r--r--arch/arm/mach-omap1/board-h2.c1
-rw-r--r--arch/arm/mach-omap1/board-h3.c1
-rw-r--r--arch/arm/mach-omap1/board-htcherald.c1
-rw-r--r--arch/arm/mach-omap1/board-innovator.c1
-rw-r--r--arch/arm/mach-omap1/board-nokia770.c1
-rw-r--r--arch/arm/mach-omap1/board-osk.c1
-rw-r--r--arch/arm/mach-omap1/board-palmte.c1
-rw-r--r--arch/arm/mach-omap1/board-palmtt.c1
-rw-r--r--arch/arm/mach-omap1/board-palmz71.c1
-rw-r--r--arch/arm/mach-omap1/board-perseus2.c1
-rw-r--r--arch/arm/mach-omap1/board-sx1.c1
-rw-r--r--arch/arm/mach-omap1/board-voiceblue.c1
-rw-r--r--arch/arm/mach-omap1/common.h10
-rw-r--r--arch/arm/mach-omap1/io.c5
-rw-r--r--arch/arm/mach-omap1/serial.c3
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}
598late_initcall(late_init); 598
599static void __init ams_delta_init_late(void)
600{
601 omap1_init_late();
602 late_init();
603}
599 604
600static void __init ams_delta_map_io(void) 605static 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,
616MACHINE_END 622MACHINE_END
diff --git a/arch/arm/mach-omap1/board-fsample.c b/arch/arm/mach-omap1/board-fsample.c
index 4a4afb371022..c7364fdbda05 100644
--- a/arch/arm/mach-omap1/board-fsample.c
+++ b/arch/arm/mach-omap1/board-fsample.c
@@ -369,6 +369,7 @@ MACHINE_START(OMAP_FSAMPLE, "OMAP730 F-Sample")
369 .reserve = omap_reserve, 369 .reserve = omap_reserve,
370 .init_irq = omap1_init_irq, 370 .init_irq = omap1_init_irq,
371 .init_machine = omap_fsample_init, 371 .init_machine = omap_fsample_init,
372 .init_late = omap1_init_late,
372 .timer = &omap1_timer, 373 .timer = &omap1_timer,
373 .restart = omap1_restart, 374 .restart = omap1_restart,
374MACHINE_END 375MACHINE_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,
93MACHINE_END 94MACHINE_END
diff --git a/arch/arm/mach-omap1/board-h2.c b/arch/arm/mach-omap1/board-h2.c
index 057ec13f0649..7e503686f7af 100644
--- a/arch/arm/mach-omap1/board-h2.c
+++ b/arch/arm/mach-omap1/board-h2.c
@@ -431,6 +431,7 @@ MACHINE_START(OMAP_H2, "TI-H2")
431 .reserve = omap_reserve, 431 .reserve = omap_reserve,
432 .init_irq = omap1_init_irq, 432 .init_irq = omap1_init_irq,
433 .init_machine = h2_init, 433 .init_machine = h2_init,
434 .init_late = omap1_init_late,
434 .timer = &omap1_timer, 435 .timer = &omap1_timer,
435 .restart = omap1_restart, 436 .restart = omap1_restart,
436MACHINE_END 437MACHINE_END
diff --git a/arch/arm/mach-omap1/board-h3.c b/arch/arm/mach-omap1/board-h3.c
index f6ddf8759657..9fb03f189d93 100644
--- a/arch/arm/mach-omap1/board-h3.c
+++ b/arch/arm/mach-omap1/board-h3.c
@@ -425,6 +425,7 @@ MACHINE_START(OMAP_H3, "TI OMAP1710 H3 board")
425 .reserve = omap_reserve, 425 .reserve = omap_reserve,
426 .init_irq = omap1_init_irq, 426 .init_irq = omap1_init_irq,
427 .init_machine = h3_init, 427 .init_machine = h3_init,
428 .init_late = omap1_init_late,
428 .timer = &omap1_timer, 429 .timer = &omap1_timer,
429 .restart = omap1_restart, 430 .restart = omap1_restart,
430MACHINE_END 431MACHINE_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,
610MACHINE_END 611MACHINE_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,
462MACHINE_END 463MACHINE_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,
260MACHINE_END 261MACHINE_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,
579MACHINE_END 580MACHINE_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,
272MACHINE_END 273MACHINE_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,
318MACHINE_END 319MACHINE_END
diff --git a/arch/arm/mach-omap1/board-palmz71.c b/arch/arm/mach-omap1/board-palmz71.c
index 61ed4f0247ce..3c71c6bace2c 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,
335MACHINE_END 336MACHINE_END
diff --git a/arch/arm/mach-omap1/board-perseus2.c b/arch/arm/mach-omap1/board-perseus2.c
index a2c88890e767..f2cb24387c22 100644
--- a/arch/arm/mach-omap1/board-perseus2.c
+++ b/arch/arm/mach-omap1/board-perseus2.c
@@ -331,6 +331,7 @@ MACHINE_START(OMAP_PERSEUS2, "OMAP730 Perseus2")
331 .reserve = omap_reserve, 331 .reserve = omap_reserve,
332 .init_irq = omap1_init_irq, 332 .init_irq = omap1_init_irq,
333 .init_machine = omap_perseus2_init, 333 .init_machine = omap_perseus2_init,
334 .init_late = omap1_init_late,
334 .timer = &omap1_timer, 335 .timer = &omap1_timer,
335 .restart = omap1_restart, 336 .restart = omap1_restart,
336MACHINE_END 337MACHINE_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,
412MACHINE_END 413MACHINE_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,
299MACHINE_END 300MACHINE_END
diff --git a/arch/arm/mach-omap1/common.h b/arch/arm/mach-omap1/common.h
index 64ce3bbe22b5..c2552b24f9f2 100644
--- a/arch/arm/mach-omap1/common.h
+++ b/arch/arm/mach-omap1/common.h
@@ -53,8 +53,18 @@ static inline void omap16xx_map_io(void)
53} 53}
54#endif 54#endif
55 55
56#ifdef CONFIG_OMAP_SERIAL_WAKE
57int omap_serial_wakeup_init(void);
58#else
59static inline int omap_serial_wakeup_init(void)
60{
61 return 0;
62}
63#endif
64
56void omap1_init_early(void); 65void omap1_init_early(void);
57void omap1_init_irq(void); 66void omap1_init_irq(void);
67void omap1_init_late(void);
58void omap1_restart(char, const char *); 68void omap1_restart(char, const char *);
59 69
60extern void __init omap_check_revision(void); 70extern void __init omap_check_revision(void);
diff --git a/arch/arm/mach-omap1/io.c b/arch/arm/mach-omap1/io.c
index 71ce017bf5d8..6c95a59f0f16 100644
--- a/arch/arm/mach-omap1/io.c
+++ b/arch/arm/mach-omap1/io.c
@@ -137,6 +137,11 @@ void __init omap1_init_early(void)
137 omap_init_consistent_dma_size(); 137 omap_init_consistent_dma_size();
138} 138}
139 139
140void __init omap1_init_late(void)
141{
142 omap_serial_wakeup_init();
143}
144
140/* 145/*
141 * NOTE: Please use ioremap + __raw_read/write where possible instead of these 146 * NOTE: Please use ioremap + __raw_read/write where possible instead of these
142 */ 147 */
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
240static int __init omap_serial_wakeup_init(void) 240int __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}
254late_initcall(omap_serial_wakeup_init);
255 254
256#endif /* CONFIG_OMAP_SERIAL_WAKE */ 255#endif /* CONFIG_OMAP_SERIAL_WAKE */
257 256