ARM: OMAP2: use early init hook
authorRussell King - ARM Linux <linux@arm.linux.org.uk>
Mon, 14 Feb 2011 23:40:20 +0000 (15:40 -0800)
committerTony Lindgren <tony@atomide.com>
Mon, 14 Feb 2011 23:40:20 +0000 (15:40 -0800)
Move non-mapping and non-irq initialization code out of .map_io and
.init_irq respectively into the new init_early hook.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
27 files changed:
arch/arm/mach-omap2/board-2430sdp.c
arch/arm/mach-omap2/board-3430sdp.c
arch/arm/mach-omap2/board-3630sdp.c
arch/arm/mach-omap2/board-4430sdp.c
arch/arm/mach-omap2/board-am3517crane.c
arch/arm/mach-omap2/board-am3517evm.c
arch/arm/mach-omap2/board-apollon.c
arch/arm/mach-omap2/board-cm-t35.c
arch/arm/mach-omap2/board-cm-t3517.c
arch/arm/mach-omap2/board-devkit8000.c
arch/arm/mach-omap2/board-generic.c
arch/arm/mach-omap2/board-h4.c
arch/arm/mach-omap2/board-igep0020.c
arch/arm/mach-omap2/board-igep0030.c
arch/arm/mach-omap2/board-ldp.c
arch/arm/mach-omap2/board-n8x0.c
arch/arm/mach-omap2/board-omap3beagle.c
arch/arm/mach-omap2/board-omap3evm.c
arch/arm/mach-omap2/board-omap3logic.c
arch/arm/mach-omap2/board-omap3pandora.c
arch/arm/mach-omap2/board-omap3stalker.c
arch/arm/mach-omap2/board-omap3touchbook.c
arch/arm/mach-omap2/board-omap4panda.c
arch/arm/mach-omap2/board-overo.c
arch/arm/mach-omap2/board-rm680.c
arch/arm/mach-omap2/board-rx51.c
arch/arm/mach-omap2/board-zoom.c

index e0661777f599cd735341440d0f7f4d58bddd33b1..ec74c0f2051c2c3a1269572ef84e09ae29ed1c91 100644 (file)
@@ -139,13 +139,12 @@ static struct omap_board_config_kernel sdp2430_config[] __initdata = {
        {OMAP_TAG_LCD, &sdp2430_lcd_config},
 };
 
-static void __init omap_2430sdp_init_irq(void)
+static void __init omap_2430sdp_init_early(void)
 {
        omap_board_config = sdp2430_config;
        omap_board_config_size = ARRAY_SIZE(sdp2430_config);
        omap2_init_common_infrastructure();
        omap2_init_common_devices(NULL, NULL);
-       omap_init_irq();
 }
 
 static struct twl4030_gpio_platform_data sdp2430_gpio_data = {
@@ -253,9 +252,10 @@ static void __init omap_2430sdp_map_io(void)
 MACHINE_START(OMAP_2430SDP, "OMAP2430 sdp2430 board")
        /* Maintainer: Syed Khasim - Texas Instruments Inc */
        .boot_params    = 0x80000100,
-       .map_io         = omap_2430sdp_map_io,
        .reserve        = omap_reserve,
-       .init_irq       = omap_2430sdp_init_irq,
+       .map_io         = omap_2430sdp_map_io,
+       .init_early     = omap_2430sdp_init_early,
+       .init_irq       = omap_init_irq,
        .init_machine   = omap_2430sdp_init,
        .timer          = &omap_timer,
 MACHINE_END
index d4e41ef86aa5ca555040728ef10d23c69abc7ab0..31085883199eb78ea506aa3bb44aa547bb82d0bd 100644 (file)
@@ -327,14 +327,13 @@ static struct platform_device *sdp3430_devices[] __initdata = {
 static struct omap_board_config_kernel sdp3430_config[] __initdata = {
 };
 
-static void __init omap_3430sdp_init_irq(void)
+static void __init omap_3430sdp_init_early(void)
 {
        omap_board_config = sdp3430_config;
        omap_board_config_size = ARRAY_SIZE(sdp3430_config);
        omap3_pm_init_cpuidle(omap3_cpuidle_params_table);
        omap2_init_common_infrastructure();
        omap2_init_common_devices(hyb18m512160af6_sdrc_params, NULL);
-       omap_init_irq();
 }
 
 static int sdp3430_batt_table[] = {
@@ -822,9 +821,10 @@ static void __init omap_3430sdp_init(void)
 MACHINE_START(OMAP_3430SDP, "OMAP3430 3430SDP board")
        /* Maintainer: Syed Khasim - Texas Instruments Inc */
        .boot_params    = 0x80000100,
-       .map_io         = omap3_map_io,
        .reserve        = omap_reserve,
-       .init_irq       = omap_3430sdp_init_irq,
+       .map_io         = omap3_map_io,
+       .init_early     = omap_3430sdp_init_early,
+       .init_irq       = omap_init_irq,
        .init_machine   = omap_3430sdp_init,
        .timer          = &omap_timer,
 MACHINE_END
index 62645640f5e4b8723394b5acfb634fe12ddca583..16538757291a656ea77f798cbadad652bdecd1e7 100644 (file)
@@ -69,14 +69,13 @@ static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
 static struct omap_board_config_kernel sdp_config[] __initdata = {
 };
 
-static void __init omap_sdp_init_irq(void)
+static void __init omap_sdp_init_early(void)
 {
        omap_board_config = sdp_config;
        omap_board_config_size = ARRAY_SIZE(sdp_config);
        omap2_init_common_infrastructure();
        omap2_init_common_devices(h8mbx00u0mer0em_sdrc_params,
                                  h8mbx00u0mer0em_sdrc_params);
-       omap_init_irq();
 }
 
 #ifdef CONFIG_OMAP_MUX
@@ -216,9 +215,10 @@ static void __init omap_sdp_init(void)
 
 MACHINE_START(OMAP_3630SDP, "OMAP 3630SDP board")
        .boot_params    = 0x80000100,
-       .map_io         = omap3_map_io,
        .reserve        = omap_reserve,
-       .init_irq       = omap_sdp_init_irq,
+       .map_io         = omap3_map_io,
+       .init_early     = omap_sdp_init_early,
+       .init_irq       = omap_init_irq,
        .init_machine   = omap_sdp_init,
        .timer          = &omap_timer,
 MACHINE_END
index 07d1b20b11486a6c4c8629e654474e4dd7e5cb56..12d99e582cd651864b289ed70df1131191f5a488 100644 (file)
@@ -239,7 +239,7 @@ static struct omap_board_config_kernel sdp4430_config[] __initdata = {
        { OMAP_TAG_LCD,         &sdp4430_lcd_config },
 };
 
-static void __init omap_4430sdp_init_irq(void)
+static void __init omap_4430sdp_init_early(void)
 {
        omap_board_config = sdp4430_config;
        omap_board_config_size = ARRAY_SIZE(sdp4430_config);
@@ -248,7 +248,6 @@ static void __init omap_4430sdp_init_irq(void)
 #ifdef CONFIG_OMAP_32K_TIMER
        omap2_gp_clockevent_set_gptimer(1);
 #endif
-       gic_init_irq();
 }
 
 static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
@@ -605,9 +604,10 @@ static void __init omap_4430sdp_map_io(void)
 MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board")
        /* Maintainer: Santosh Shilimkar - Texas Instruments Inc */
        .boot_params    = 0x80000100,
-       .map_io         = omap_4430sdp_map_io,
        .reserve        = omap_reserve,
-       .init_irq       = omap_4430sdp_init_irq,
+       .map_io         = omap_4430sdp_map_io,
+       .init_early     = omap_4430sdp_init_early,
+       .init_irq       = gic_init_irq,
        .init_machine   = omap_4430sdp_init,
        .timer          = &omap_timer,
 MACHINE_END
index 71acb5ab281c331edda7dd4393fe4d79353df6c7..ae3a83d47dab241de1e73ec022cfe1e67bc75f46 100644 (file)
@@ -49,14 +49,13 @@ static struct omap_board_mux board_mux[] __initdata = {
 #define board_mux      NULL
 #endif
 
-static void __init am3517_crane_init_irq(void)
+static void __init am3517_crane_init_early(void)
 {
        omap_board_config = am3517_crane_config;
        omap_board_config_size = ARRAY_SIZE(am3517_crane_config);
 
        omap2_init_common_infrastructure();
        omap2_init_common_devices(NULL, NULL);
-       omap_init_irq();
 }
 
 static struct ehci_hcd_omap_platform_data ehci_pdata __initdata = {
@@ -108,9 +107,10 @@ static void __init am3517_crane_init(void)
 
 MACHINE_START(CRANEBOARD, "AM3517/05 CRANEBOARD")
        .boot_params    = 0x80000100,
-       .map_io         = omap3_map_io,
        .reserve        = omap_reserve,
-       .init_irq       = am3517_crane_init_irq,
+       .map_io         = omap3_map_io,
+       .init_early     = am3517_crane_init_early,
+       .init_irq       = omap_init_irq,
        .init_machine   = am3517_crane_init,
        .timer          = &omap_timer,
 MACHINE_END
index 10d60b7743cfa1a0b59c7ef75dacc9cd2de9532b..d0d0f5528132e39630ae8df8bec72c1fde49126f 100644 (file)
@@ -396,13 +396,12 @@ static struct platform_device *am3517_evm_devices[] __initdata = {
        &am3517_evm_dss_device,
 };
 
-static void __init am3517_evm_init_irq(void)
+static void __init am3517_evm_init_early(void)
 {
        omap_board_config = am3517_evm_config;
        omap_board_config_size = ARRAY_SIZE(am3517_evm_config);
        omap2_init_common_infrastructure();
        omap2_init_common_devices(NULL, NULL);
-       omap_init_irq();
 }
 
 static struct omap_musb_board_data musb_board_data = {
@@ -521,9 +520,10 @@ static void __init am3517_evm_init(void)
 
 MACHINE_START(OMAP3517EVM, "OMAP3517/AM3517 EVM")
        .boot_params    = 0x80000100,
-       .map_io         = omap3_map_io,
        .reserve        = omap_reserve,
-       .init_irq       = am3517_evm_init_irq,
+       .map_io         = omap3_map_io,
+       .init_early     = am3517_evm_init_early,
+       .init_irq       = omap_init_irq,
        .init_machine   = am3517_evm_init,
        .timer          = &omap_timer,
 MACHINE_END
index 9f55b68687f7fa0bfc17ca5b950a1b8f58aacf14..4ef4aad4e719d52e85d49a9bfe780f430a0b6fe2 100644 (file)
@@ -274,13 +274,12 @@ static struct omap_board_config_kernel apollon_config[] __initdata = {
        { OMAP_TAG_LCD,         &apollon_lcd_config },
 };
 
-static void __init omap_apollon_init_irq(void)
+static void __init omap_apollon_init_early(void)
 {
        omap_board_config = apollon_config;
        omap_board_config_size = ARRAY_SIZE(apollon_config);
        omap2_init_common_infrastructure();
        omap2_init_common_devices(NULL, NULL);
-       omap_init_irq();
 }
 
 static void __init apollon_led_init(void)
@@ -355,9 +354,10 @@ static void __init omap_apollon_map_io(void)
 MACHINE_START(OMAP_APOLLON, "OMAP24xx Apollon")
        /* Maintainer: Kyungmin Park <kyungmin.park@samsung.com> */
        .boot_params    = 0x80000100,
-       .map_io         = omap_apollon_map_io,
        .reserve        = omap_reserve,
-       .init_irq       = omap_apollon_init_irq,
+       .map_io         = omap_apollon_map_io,
+       .init_early     = omap_apollon_init_early,
+       .init_irq       = omap_init_irq,
        .init_machine   = omap_apollon_init,
        .timer          = &omap_timer,
 MACHINE_END
index dac141610666442dd7e578acb92b97163948d95d..9e4de92a57981280db96dfd65bba76aba37cc4eb 100644 (file)
@@ -683,7 +683,7 @@ static void __init cm_t35_init_i2c(void)
 static struct omap_board_config_kernel cm_t35_config[] __initdata = {
 };
 
-static void __init cm_t35_init_irq(void)
+static void __init cm_t35_init_early(void)
 {
        omap_board_config = cm_t35_config;
        omap_board_config_size = ARRAY_SIZE(cm_t35_config);
@@ -691,7 +691,6 @@ static void __init cm_t35_init_irq(void)
        omap2_init_common_infrastructure();
        omap2_init_common_devices(mt46h32m32lf6_sdrc_params,
                             mt46h32m32lf6_sdrc_params);
-       omap_init_irq();
 }
 
 static struct omap_board_mux board_mux[] __initdata = {
@@ -815,9 +814,10 @@ static void __init cm_t35_init(void)
 
 MACHINE_START(CM_T35, "Compulab CM-T35")
        .boot_params    = 0x80000100,
-       .map_io         = omap3_map_io,
        .reserve        = omap_reserve,
-       .init_irq       = cm_t35_init_irq,
+       .map_io         = omap3_map_io,
+       .init_early     = cm_t35_init_early,
+       .init_irq       = omap_init_irq,
        .init_machine   = cm_t35_init,
        .timer          = &omap_timer,
 MACHINE_END
index 8f9a64d650ee7896f70983ad0b9f72f717cf23ab..38bef6d004c962cb7813ea0fbc794a8ba7889d0a 100644 (file)
@@ -254,14 +254,13 @@ static inline void cm_t3517_init_nand(void) {}
 static struct omap_board_config_kernel cm_t3517_config[] __initdata = {
 };
 
-static void __init cm_t3517_init_irq(void)
+static void __init cm_t3517_init_early(void)
 {
        omap_board_config = cm_t3517_config;
        omap_board_config_size = ARRAY_SIZE(cm_t3517_config);
 
        omap2_init_common_infrastructure();
        omap2_init_common_devices(NULL, NULL);
-       omap_init_irq();
 }
 
 static struct omap_board_mux board_mux[] __initdata = {
@@ -303,9 +302,10 @@ static void __init cm_t3517_init(void)
 
 MACHINE_START(CM_T3517, "Compulab CM-T3517")
        .boot_params    = 0x80000100,
-       .map_io         = omap3_map_io,
        .reserve        = omap_reserve,
-       .init_irq       = cm_t3517_init_irq,
+       .map_io         = omap3_map_io,
+       .init_early     = cm_t3517_init_early,
+       .init_irq       = omap_init_irq,
        .init_machine   = cm_t3517_init,
        .timer          = &omap_timer,
 MACHINE_END
index 9a2a31e011ce4bab96dd0c3f7617078e35f2cbc4..af742887e83470e9d14af69c9ac4d2c4b17dbc55 100644 (file)
@@ -456,11 +456,15 @@ static struct platform_device keys_gpio = {
 };
 
 
-static void __init devkit8000_init_irq(void)
+static void __init devkit8000_init_early(void)
 {
        omap2_init_common_infrastructure();
        omap2_init_common_devices(mt46h32m32lf6_sdrc_params,
                                  mt46h32m32lf6_sdrc_params);
+}
+
+static void __init devkit8000_init_irq(void)
+{
        omap_init_irq();
 #ifdef CONFIG_OMAP_32K_TIMER
        omap2_gp_clockevent_set_gptimer(12);
@@ -813,8 +817,9 @@ static void __init devkit8000_init(void)
 
 MACHINE_START(DEVKIT8000, "OMAP3 Devkit8000")
        .boot_params    = 0x80000100,
-       .map_io         = omap3_map_io,
        .reserve        = omap_reserve,
+       .map_io         = omap3_map_io,
+       .init_early     = devkit8000_init_early,
        .init_irq       = devkit8000_init_irq,
        .init_machine   = devkit8000_init,
        .timer          = &omap_timer,
index 0e3d81e09f89ceb0578bcd5b1a489b9958e1b8f9..682da9251db6d330969f244b2a8782cf0428911d 100644 (file)
 static struct omap_board_config_kernel generic_config[] = {
 };
 
-static void __init omap_generic_init_irq(void)
+static void __init omap_generic_init_early(void)
 {
        omap_board_config = generic_config;
        omap_board_config_size = ARRAY_SIZE(generic_config);
        omap2_init_common_infrastructure();
        omap2_init_common_devices(NULL, NULL);
-       omap_init_irq();
 }
 
 static void __init omap_generic_init(void)
@@ -68,9 +67,10 @@ static void __init omap_generic_map_io(void)
 MACHINE_START(OMAP_GENERIC, "Generic OMAP24xx")
        /* Maintainer: Paul Mundt <paul.mundt@nokia.com> */
        .boot_params    = 0x80000100,
-       .map_io         = omap_generic_map_io,
        .reserve        = omap_reserve,
-       .init_irq       = omap_generic_init_irq,
+       .map_io         = omap_generic_map_io,
+       .init_early     = omap_generic_init_early,
+       .init_irq       = omap_init_irq,
        .init_machine   = omap_generic_init,
        .timer          = &omap_timer,
 MACHINE_END
index 25cc9dad4b02d2b66dd70c9cf026360890697bb4..f6a3872f72fa07f29faf32db4690dcfe9efb1f02 100644 (file)
@@ -290,12 +290,16 @@ static struct omap_board_config_kernel h4_config[] __initdata = {
        { OMAP_TAG_LCD,         &h4_lcd_config },
 };
 
-static void __init omap_h4_init_irq(void)
+static void __init omap_h4_init_early(void)
 {
        omap_board_config = h4_config;
        omap_board_config_size = ARRAY_SIZE(h4_config);
        omap2_init_common_infrastructure();
        omap2_init_common_devices(NULL, NULL);
+}
+
+static void __init omap_h4_init_irq(void)
+{
        omap_init_irq();
        h4_init_flash();
 }
@@ -378,8 +382,9 @@ static void __init omap_h4_map_io(void)
 MACHINE_START(OMAP_H4, "OMAP2420 H4 board")
        /* Maintainer: Paul Mundt <paul.mundt@nokia.com> */
        .boot_params    = 0x80000100,
-       .map_io         = omap_h4_map_io,
        .reserve        = omap_reserve,
+       .map_io         = omap_h4_map_io,
+       .init_early     = omap_h4_init_early,
        .init_irq       = omap_h4_init_irq,
        .init_machine   = omap_h4_init,
        .timer          = &omap_timer,
index 3be85a1f55f4d7ab5d1a9ca11f6bbc6292ef647d..dd0b1ac3b662dcd7b6e870eacf587f7d8117a77e 100644 (file)
@@ -525,12 +525,11 @@ static struct platform_device *igep2_devices[] __initdata = {
        &igep2_vwlan_device,
 };
 
-static void __init igep2_init_irq(void)
+static void __init igep2_init_early(void)
 {
        omap2_init_common_infrastructure();
        omap2_init_common_devices(m65kxxxxam_sdrc_params,
                                  m65kxxxxam_sdrc_params);
-       omap_init_irq();
 }
 
 static struct twl4030_codec_audio_data igep2_audio_data = {
@@ -716,9 +715,10 @@ static void __init igep2_init(void)
 
 MACHINE_START(IGEP0020, "IGEP v2 board")
        .boot_params    = 0x80000100,
-       .map_io         = omap3_map_io,
        .reserve        = omap_reserve,
-       .init_irq       = igep2_init_irq,
+       .map_io         = omap3_map_io,
+       .init_early     = igep2_init_early,
+       .init_irq       = omap_init_irq,
        .init_machine   = igep2_init,
        .timer          = &omap_timer,
 MACHINE_END
index 4dc62a9b9cb24811fae3f0c1fc1149f31e7e0f34..d75028e48f5d0ac2e1097b14ee3ca5fbafb46fc4 100644 (file)
@@ -331,12 +331,11 @@ static struct platform_device *igep3_devices[] __initdata = {
        &igep3_vwlan_device,
 };
 
-static void __init igep3_init_irq(void)
+static void __init igep3_init_early(void)
 {
        omap2_init_common_infrastructure();
        omap2_init_common_devices(m65kxxxxam_sdrc_params,
                                  m65kxxxxam_sdrc_params);
-       omap_init_irq();
 }
 
 static struct twl4030_platform_data igep3_twl4030_pdata = {
@@ -452,7 +451,8 @@ MACHINE_START(IGEP0030, "IGEP OMAP3 module")
        .boot_params    = 0x80000100,
        .reserve        = omap_reserve,
        .map_io         = omap3_map_io,
-       .init_irq       = igep3_init_irq,
+       .init_early     = igep3_init_early,
+       .init_irq       = omap_init_irq,
        .init_machine   = igep3_init,
        .timer          = &omap_timer,
 MACHINE_END
index e5dc74875f9d8ecdfc14b32ebc316c19e1e20923..d8eb2cb7cbc7d9463502dd6a832ab226ab90aa68 100644 (file)
@@ -288,13 +288,12 @@ static struct omap_board_config_kernel ldp_config[] __initdata = {
        { OMAP_TAG_LCD,         &ldp_lcd_config },
 };
 
-static void __init omap_ldp_init_irq(void)
+static void __init omap_ldp_init_early(void)
 {
        omap_board_config = ldp_config;
        omap_board_config_size = ARRAY_SIZE(ldp_config);
        omap2_init_common_infrastructure();
        omap2_init_common_devices(NULL, NULL);
-       omap_init_irq();
 }
 
 static struct twl4030_usb_data ldp_usb_data = {
@@ -443,9 +442,10 @@ static void __init omap_ldp_init(void)
 
 MACHINE_START(OMAP_LDP, "OMAP LDP board")
        .boot_params    = 0x80000100,
-       .map_io         = omap3_map_io,
        .reserve        = omap_reserve,
-       .init_irq       = omap_ldp_init_irq,
+       .map_io         = omap3_map_io,
+       .init_early     = omap_ldp_init_early,
+       .init_irq       = omap_init_irq,
        .init_machine   = omap_ldp_init,
        .timer          = &omap_timer,
 MACHINE_END
index f396756872b7e474d565feb6bb22f2213451bde5..b36cbd21e2d0a9187946c039e3b48ca8b779de04 100644 (file)
@@ -628,11 +628,10 @@ static void __init n8x0_map_io(void)
        omap242x_map_common_io();
 }
 
-static void __init n8x0_init_irq(void)
+static void __init n8x0_init_early(void)
 {
        omap2_init_common_infrastructure();
        omap2_init_common_devices(NULL, NULL);
-       omap_init_irq();
 }
 
 #ifdef CONFIG_OMAP_MUX
@@ -703,27 +702,30 @@ static void __init n8x0_init_machine(void)
 
 MACHINE_START(NOKIA_N800, "Nokia N800")
        .boot_params    = 0x80000100,
-       .map_io         = n8x0_map_io,
        .reserve        = omap_reserve,
-       .init_irq       = n8x0_init_irq,
+       .map_io         = n8x0_map_io,
+       .init_early     = n8x0_init_early,
+       .init_irq       = omap_init_irq,
        .init_machine   = n8x0_init_machine,
        .timer          = &omap_timer,
 MACHINE_END
 
 MACHINE_START(NOKIA_N810, "Nokia N810")
        .boot_params    = 0x80000100,
-       .map_io         = n8x0_map_io,
        .reserve        = omap_reserve,
-       .init_irq       = n8x0_init_irq,
+       .map_io         = n8x0_map_io,
+       .init_early     = n8x0_init_early,
+       .init_irq       = omap_init_irq,
        .init_machine   = n8x0_init_machine,
        .timer          = &omap_timer,
 MACHINE_END
 
 MACHINE_START(NOKIA_N810_WIMAX, "Nokia N810 WiMAX")
        .boot_params    = 0x80000100,
-       .map_io         = n8x0_map_io,
        .reserve        = omap_reserve,
-       .init_irq       = n8x0_init_irq,
+       .map_io         = n8x0_map_io,
+       .init_early     = n8x0_init_early,
+       .init_irq       = omap_init_irq,
        .init_machine   = n8x0_init_machine,
        .timer          = &omap_timer,
 MACHINE_END
index 46d814ab5656c078e6fad0a013c2ce8c39e312e5..19bcd004d604d791875e729dc65a2d180133b8e3 100644 (file)
@@ -536,11 +536,15 @@ static struct platform_device keys_gpio = {
        },
 };
 
-static void __init omap3_beagle_init_irq(void)
+static void __init omap3_beagle_init_early(void)
 {
        omap2_init_common_infrastructure();
        omap2_init_common_devices(mt46h32m32lf6_sdrc_params,
                                  mt46h32m32lf6_sdrc_params);
+}
+
+static void __init omap3_beagle_init_irq(void)
+{
        omap_init_irq();
 #ifdef CONFIG_OMAP_32K_TIMER
        omap2_gp_clockevent_set_gptimer(12);
@@ -638,8 +642,9 @@ static void __init omap3_beagle_init(void)
 MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
        /* Maintainer: Syed Mohammed Khasim - http://beagleboard.org */
        .boot_params    = 0x80000100,
-       .map_io         = omap3_map_io,
        .reserve        = omap_reserve,
+       .map_io         = omap3_map_io,
+       .init_early     = omap3_beagle_init_early,
        .init_irq       = omap3_beagle_init_irq,
        .init_machine   = omap3_beagle_init,
        .timer          = &omap_timer,
index 323c3809ce394fdcd98323d10aabefef07495064..c2a0fca4aa538883be79e9c6696540c87dce380e 100644 (file)
@@ -625,13 +625,12 @@ static struct spi_board_info omap3evm_spi_board_info[] = {
 static struct omap_board_config_kernel omap3_evm_config[] __initdata = {
 };
 
-static void __init omap3_evm_init_irq(void)
+static void __init omap3_evm_init_early(void)
 {
        omap_board_config = omap3_evm_config;
        omap_board_config_size = ARRAY_SIZE(omap3_evm_config);
        omap2_init_common_infrastructure();
        omap2_init_common_devices(mt46h32m32lf6_sdrc_params, NULL);
-       omap_init_irq();
 }
 
 static struct platform_device *omap3_evm_devices[] __initdata = {
@@ -720,9 +719,10 @@ static void __init omap3_evm_init(void)
 MACHINE_START(OMAP3EVM, "OMAP3 EVM")
        /* Maintainer: Syed Mohammed Khasim - Texas Instruments */
        .boot_params    = 0x80000100,
-       .map_io         = omap3_map_io,
        .reserve        = omap_reserve,
-       .init_irq       = omap3_evm_init_irq,
+       .map_io         = omap3_map_io,
+       .init_early     = omap3_evm_init_early,
+       .init_irq       = omap_init_irq,
        .init_machine   = omap3_evm_init,
        .timer          = &omap_timer,
 MACHINE_END
index 15e4b08e99ba179e8ddb24f7adc0dcc6fa84fb3b..b726943d7c93da3b92b79c71d10e790f51cb1539 100644 (file)
@@ -195,11 +195,10 @@ static inline void __init board_smsc911x_init(void)
        gpmc_smsc911x_init(&board_smsc911x_data);
 }
 
-static void __init omap3logic_init_irq(void)
+static void __init omap3logic_init_early(void)
 {
        omap2_init_common_infrastructure();
        omap2_init_common_devices(NULL, NULL);
-       omap_init_irq();
 }
 
 #ifdef CONFIG_OMAP_MUX
@@ -225,7 +224,8 @@ static void __init omap3logic_init(void)
 MACHINE_START(OMAP3_TORPEDO, "Logic OMAP3 Torpedo board")
        .boot_params    = 0x80000100,
        .map_io         = omap3_map_io,
-       .init_irq       = omap3logic_init_irq,
+       .init_early     = omap3logic_init_early,
+       .init_irq       = omap_init_irq,
        .init_machine   = omap3logic_init,
        .timer          = &omap_timer,
 MACHINE_END
@@ -233,7 +233,8 @@ MACHINE_END
 MACHINE_START(OMAP3530_LV_SOM, "OMAP Logic 3530 LV SOM board")
        .boot_params    = 0x80000100,
        .map_io         = omap3_map_io,
-       .init_irq       = omap3logic_init_irq,
+       .init_early     = omap3logic_init_early,
+       .init_irq       = omap_init_irq,
        .init_machine   = omap3logic_init,
        .timer          = &omap_timer,
 MACHINE_END
index 0b34beded11f066c5ae48fa02478f66b2bf11445..b91f74ce3a9f31d4eb0bd415d20001b732334a39 100644 (file)
@@ -634,12 +634,11 @@ static struct spi_board_info omap3pandora_spi_board_info[] __initdata = {
        }
 };
 
-static void __init omap3pandora_init_irq(void)
+static void __init omap3pandora_init_early(void)
 {
        omap2_init_common_infrastructure();
        omap2_init_common_devices(mt46h32m32lf6_sdrc_params,
                                  mt46h32m32lf6_sdrc_params);
-       omap_init_irq();
 }
 
 static void __init pandora_wl1251_init(void)
@@ -727,9 +726,10 @@ static void __init omap3pandora_init(void)
 
 MACHINE_START(OMAP3_PANDORA, "Pandora Handheld Console")
        .boot_params    = 0x80000100,
-       .map_io         = omap3_map_io,
        .reserve        = omap_reserve,
-       .init_irq       = omap3pandora_init_irq,
+       .map_io         = omap3_map_io,
+       .init_early     = omap3pandora_init_early,
+       .init_irq       = omap_init_irq,
        .init_machine   = omap3pandora_init,
        .timer          = &omap_timer,
 MACHINE_END
index 2a2dad447e86b66b94575d289577670bdcfe1405..5d1ccef69164429f408dd434f818ad89116ced20 100644 (file)
@@ -591,12 +591,16 @@ static struct spi_board_info omap3stalker_spi_board_info[] = {
 static struct omap_board_config_kernel omap3_stalker_config[] __initdata = {
 };
 
-static void __init omap3_stalker_init_irq(void)
+static void __init omap3_stalker_init_early(void)
 {
        omap_board_config = omap3_stalker_config;
        omap_board_config_size = ARRAY_SIZE(omap3_stalker_config);
        omap2_init_common_infrastructure();
        omap2_init_common_devices(mt46h32m32lf6_sdrc_params, NULL);
+}
+
+static void __init omap3_stalker_init_irq(void)
+{
        omap_init_irq();
 #ifdef CONFIG_OMAP_32K_TIMER
        omap2_gp_clockevent_set_gptimer(12);
@@ -666,6 +670,7 @@ MACHINE_START(SBC3530, "OMAP3 STALKER")
        /* Maintainer: Jason Lam -lzg@ema-tech.com */
        .boot_params            = 0x80000100,
        .map_io                 = omap3_map_io,
+       .init_early             = omap3_stalker_init_early,
        .init_irq               = omap3_stalker_init_irq,
        .init_machine           = omap3_stalker_init,
        .timer                  = &omap_timer,
index db1f74fe6c4f0b24288d8be092d95207cc2e0d43..6a60f79dcccb602220741af6d4ae247baad2d675 100644 (file)
@@ -415,7 +415,7 @@ static struct omap_board_mux board_mux[] __initdata = {
 };
 #endif
 
-static void __init omap3_touchbook_init_irq(void)
+static void __init omap3_touchbook_init_early(void)
 {
        omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
        omap_board_config = omap3_touchbook_config;
@@ -423,6 +423,10 @@ static void __init omap3_touchbook_init_irq(void)
        omap2_init_common_infrastructure();
        omap2_init_common_devices(mt46h32m32lf6_sdrc_params,
                                  mt46h32m32lf6_sdrc_params);
+}
+
+static void __init omap3_touchbook_init_irq(void)
+{
        omap_init_irq();
 #ifdef CONFIG_OMAP_32K_TIMER
        omap2_gp_clockevent_set_gptimer(12);
@@ -538,8 +542,9 @@ static void __init omap3_touchbook_init(void)
 MACHINE_START(TOUCHBOOK, "OMAP3 touchbook Board")
        /* Maintainer: Gregoire Gentil - http://www.alwaysinnovating.com */
        .boot_params    = 0x80000100,
-       .map_io         = omap3_map_io,
        .reserve        = omap_reserve,
+       .map_io         = omap3_map_io,
+       .init_early     = omap3_touchbook_init_early,
        .init_irq       = omap3_touchbook_init_irq,
        .init_machine   = omap3_touchbook_init,
        .timer          = &omap_timer,
index e944025d5ef8a8105de4beefea23df6fd4f9d877..fca5b9e80c18e701bbd11546a9f111b53c1af0cf 100644 (file)
@@ -76,11 +76,10 @@ static struct platform_device *panda_devices[] __initdata = {
        &leds_gpio,
 };
 
-static void __init omap4_panda_init_irq(void)
+static void __init omap4_panda_init_early(void)
 {
        omap2_init_common_infrastructure();
        omap2_init_common_devices(NULL, NULL);
-       gic_init_irq();
 }
 
 static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
@@ -424,7 +423,8 @@ MACHINE_START(OMAP4_PANDA, "OMAP4 Panda board")
        .boot_params    = 0x80000100,
        .reserve        = omap_reserve,
        .map_io         = omap4_panda_map_io,
-       .init_irq       = omap4_panda_init_irq,
+       .init_early     = omap4_panda_init_early,
+       .init_irq       = gic_init_irq,
        .init_machine   = omap4_panda_init,
        .timer          = &omap_timer,
 MACHINE_END
index cb26e5d8268d071f8ca2a2d52b50f27d5d4cb2c0..a33ec0edec134c79a42df19abbfe60f083bb37d6 100644 (file)
@@ -409,14 +409,13 @@ static struct omap_board_config_kernel overo_config[] __initdata = {
        { OMAP_TAG_LCD,         &overo_lcd_config },
 };
 
-static void __init overo_init_irq(void)
+static void __init overo_init_early(void)
 {
        omap_board_config = overo_config;
        omap_board_config_size = ARRAY_SIZE(overo_config);
        omap2_init_common_infrastructure();
        omap2_init_common_devices(mt46h32m32lf6_sdrc_params,
                                  mt46h32m32lf6_sdrc_params);
-       omap_init_irq();
 }
 
 static struct platform_device *overo_devices[] __initdata = {
@@ -501,9 +500,10 @@ static void __init overo_init(void)
 
 MACHINE_START(OVERO, "Gumstix Overo")
        .boot_params    = 0x80000100,
-       .map_io         = omap3_map_io,
        .reserve        = omap_reserve,
-       .init_irq       = overo_init_irq,
+       .map_io         = omap3_map_io,
+       .init_early     = overo_init_early,
+       .init_irq       = omap_init_irq,
        .init_machine   = overo_init,
        .timer          = &omap_timer,
 MACHINE_END
index 39a71bb8a3084675887a9e66b71ee9fd92ad3ecb..bdebcb7328e6c48b42f3ec6c9e58104c4b0c9109 100644 (file)
@@ -138,14 +138,13 @@ static void __init rm680_peripherals_init(void)
        omap2_hsmmc_init(mmc);
 }
 
-static void __init rm680_init_irq(void)
+static void __init rm680_init_early(void)
 {
        struct omap_sdrc_params *sdrc_params;
 
        omap2_init_common_infrastructure();
        sdrc_params = nokia_get_sdram_timings();
        omap2_init_common_devices(sdrc_params, sdrc_params);
-       omap_init_irq();
 }
 
 #ifdef CONFIG_OMAP_MUX
@@ -176,9 +175,10 @@ static void __init rm680_map_io(void)
 
 MACHINE_START(NOKIA_RM680, "Nokia RM-680 board")
        .boot_params    = 0x80000100,
-       .map_io         = rm680_map_io,
        .reserve        = omap_reserve,
-       .init_irq       = rm680_init_irq,
+       .map_io         = rm680_map_io,
+       .init_early     = rm680_init_early,
+       .init_irq       = omap_init_irq,
        .init_machine   = rm680_init,
        .timer          = &omap_timer,
 MACHINE_END
index f53fc551c58fe85ffc5f24e18acffc597e7cca1c..3cf72fe6d75bb5611fe1f6b9398e869bc2999a0b 100644 (file)
@@ -98,7 +98,7 @@ static struct omap_board_config_kernel rx51_config[] = {
        { OMAP_TAG_LCD,         &rx51_lcd_config },
 };
 
-static void __init rx51_init_irq(void)
+static void __init rx51_init_early(void)
 {
        struct omap_sdrc_params *sdrc_params;
 
@@ -108,7 +108,6 @@ static void __init rx51_init_irq(void)
        omap2_init_common_infrastructure();
        sdrc_params = nokia_get_sdram_timings();
        omap2_init_common_devices(sdrc_params, sdrc_params);
-       omap_init_irq();
 }
 
 extern void __init rx51_peripherals_init(void);
@@ -149,9 +148,10 @@ static void __init rx51_map_io(void)
 MACHINE_START(NOKIA_RX51, "Nokia RX-51 board")
        /* Maintainer: Lauri Leukkunen <lauri.leukkunen@nokia.com> */
        .boot_params    = 0x80000100,
-       .map_io         = rx51_map_io,
        .reserve        = omap_reserve,
-       .init_irq       = rx51_init_irq,
+       .map_io         = rx51_map_io,
+       .init_early     = rx51_init_early,
+       .init_irq       = omap_init_irq,
        .init_machine   = rx51_init,
        .timer          = &omap_timer,
 MACHINE_END
index e26754c24ee84892515e47e4fec818a552b031d1..85d4170f30ab981237d21098cc5d65a3da3d48dd 100644 (file)
@@ -33,7 +33,7 @@
 
 #define ZOOM3_EHCI_RESET_GPIO          64
 
-static void __init omap_zoom_init_irq(void)
+static void __init omap_zoom_init_early(void)
 {
        omap2_init_common_infrastructure();
        if (machine_is_omap_zoom2())
@@ -42,8 +42,6 @@ static void __init omap_zoom_init_irq(void)
        else if (machine_is_omap_zoom3())
                omap2_init_common_devices(h8mbx00u0mer0em_sdrc_params,
                                          h8mbx00u0mer0em_sdrc_params);
-
-       omap_init_irq();
 }
 
 #ifdef CONFIG_OMAP_MUX
@@ -135,18 +133,20 @@ static void __init omap_zoom_init(void)
 
 MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board")
        .boot_params    = 0x80000100,
-       .map_io         = omap3_map_io,
        .reserve        = omap_reserve,
-       .init_irq       = omap_zoom_init_irq,
+       .map_io         = omap3_map_io,
+       .init_early     = omap_zoom_init_early,
+       .init_irq       = omap_init_irq,
        .init_machine   = omap_zoom_init,
        .timer          = &omap_timer,
 MACHINE_END
 
 MACHINE_START(OMAP_ZOOM3, "OMAP Zoom3 board")
        .boot_params    = 0x80000100,
-       .map_io         = omap3_map_io,
        .reserve        = omap_reserve,
-       .init_irq       = omap_zoom_init_irq,
+       .map_io         = omap3_map_io,
+       .init_early     = omap_zoom_init_early,
+       .init_irq       = omap_init_irq,
        .init_machine   = omap_zoom_init,
        .timer          = &omap_timer,
 MACHINE_END