--- a/arch/arm/mach-cns3xxx/laguna.c +++ b/arch/arm/mach-cns3xxx/laguna.c @@ -849,7 +849,6 @@ static struct map_desc laguna_io_desc[] static void __init laguna_map_io(void) { cns3xxx_map_io(); - cns3xxx_pcie_iotable_init(); iotable_init(ARRAY_AND_SIZE(laguna_io_desc)); laguna_early_serial_setup(); } @@ -873,15 +872,6 @@ static int laguna_register_gpio(struct g return ret; } -static int __init laguna_pcie_init(void) -{ - if (!machine_is_gw2388()) - return 0; - - return cns3xxx_pcie_init(); -} -subsys_initcall(laguna_pcie_init); - static int __init laguna_model_setup(void) { u32 __iomem *mem; @@ -1075,5 +1065,6 @@ MACHINE_START(GW2388, "Gateworks Corpora .init_irq = cns3xxx_init_irq, .init_time = cns3xxx_timer_init, .init_machine = laguna_init, + .init_late = cns3xxx_pcie_init_late, .restart = cns3xxx_restart, MACHINE_END