]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - arch/arm/mach-omap1/board-perseus2.c
omap: Fix gpio_request calls to happen as arch_initcall
[mv-sheeva.git] / arch / arm / mach-omap1 / board-perseus2.c
index a8d16a255c1866daedf2af778aad68b4fc0e6ff0..07660be4f2289d719a40f3404675e98e07811ebc 100644 (file)
@@ -251,8 +251,19 @@ static struct omap_board_config_kernel perseus2_config[] __initdata = {
        { OMAP_TAG_LCD,         &perseus2_lcd_config },
 };
 
+static void __init perseus2_init_smc91x(void)
+{
+       fpga_write(1, H2P2_DBG_FPGA_LAN_RESET);
+       mdelay(50);
+       fpga_write(fpga_read(H2P2_DBG_FPGA_LAN_RESET) & ~1,
+                  H2P2_DBG_FPGA_LAN_RESET);
+       mdelay(50);
+}
+
 static void __init omap_perseus2_init(void)
 {
+       perseus2_init_smc91x();
+
        if (gpio_request(P2_NAND_RB_GPIO_PIN, "NAND ready") < 0)
                BUG();
        gpio_direction_input(P2_NAND_RB_GPIO_PIN);
@@ -280,21 +291,11 @@ static void __init omap_perseus2_init(void)
        omap_register_i2c_bus(1, 100, NULL, 0);
 }
 
-static void __init perseus2_init_smc91x(void)
-{
-       fpga_write(1, H2P2_DBG_FPGA_LAN_RESET);
-       mdelay(50);
-       fpga_write(fpga_read(H2P2_DBG_FPGA_LAN_RESET) & ~1,
-                  H2P2_DBG_FPGA_LAN_RESET);
-       mdelay(50);
-}
-
 static void __init omap_perseus2_init_irq(void)
 {
        omap1_init_common_hw();
        omap_init_irq();
        omap_gpio_init();
-       perseus2_init_smc91x();
 }
 /* Only FPGA needs to be mapped here. All others are done with ioremap */
 static struct map_desc omap_perseus2_io_desc[] __initdata = {