Commit ac2c9c98 authored by Russell King's avatar Russell King

[ARM] Fix up initcall ordering

ARM machine support gets initialised too late in the initialisation
order and can cause some things to unexpectedly fail.  Fix the
ordering of these initcalls by placing them in the core and arch
initcall sections.
parent 969d67a8
...@@ -181,4 +181,4 @@ static int __init integrator_cpu_init(void) ...@@ -181,4 +181,4 @@ static int __init integrator_cpu_init(void)
return 0; return 0;
} }
__initcall(integrator_cpu_init); core_initcall(integrator_cpu_init);
...@@ -124,7 +124,7 @@ static int __init pxa_dma_init (void) ...@@ -124,7 +124,7 @@ static int __init pxa_dma_init (void)
return ret; return ret;
} }
__initcall(pxa_dma_init); arch_initcall(pxa_dma_init);
EXPORT_SYMBOL(pxa_request_dma); EXPORT_SYMBOL(pxa_request_dma);
EXPORT_SYMBOL(pxa_free_dma); EXPORT_SYMBOL(pxa_free_dma);
......
...@@ -69,7 +69,7 @@ static int __init adsbitsy_init(void) ...@@ -69,7 +69,7 @@ static int __init adsbitsy_init(void)
return 0; return 0;
} }
__initcall(adsbitsy_init); arch_initcall(adsbitsy_init);
static void __init adsbitsy_init_irq(void) static void __init adsbitsy_init_irq(void)
{ {
......
...@@ -126,7 +126,7 @@ static int __init assabet_init(void) ...@@ -126,7 +126,7 @@ static int __init assabet_init(void)
return 0; return 0;
} }
__initcall(assabet_init); arch_initcall(assabet_init);
/* /*
......
...@@ -109,7 +109,7 @@ static int __init badge4_init(void) ...@@ -109,7 +109,7 @@ static int __init badge4_init(void)
return 0; return 0;
} }
__initcall(badge4_init); arch_initcall(badge4_init);
static unsigned badge4_5V_bitmap = 0; static unsigned badge4_5V_bitmap = 0;
......
...@@ -254,4 +254,4 @@ static int __init sa1100_dram_init(void) ...@@ -254,4 +254,4 @@ static int __init sa1100_dram_init(void)
return ret; return ret;
} }
__initcall(sa1100_dram_init); core_initcall(sa1100_dram_init);
...@@ -327,4 +327,4 @@ static int __init sa1110_clk_init(void) ...@@ -327,4 +327,4 @@ static int __init sa1110_clk_init(void)
return 0; return 0;
} }
__initcall(sa1110_clk_init); core_initcall(sa1110_clk_init);
...@@ -143,14 +143,6 @@ static int flexanet_serial_init(void) ...@@ -143,14 +143,6 @@ static int flexanet_serial_init(void)
} }
static int __init flexanet_init(void)
{
return 0;
}
__initcall(flexanet_init);
static struct map_desc flexanet_io_desc[] __initdata = { static struct map_desc flexanet_io_desc[] __initdata = {
/* virtual physical length type */ /* virtual physical length type */
{ 0xf0000000, 0x10000000, 0x00001000, MT_DEVICE }, /* Board Control Register */ { 0xf0000000, 0x10000000, 0x00001000, MT_DEVICE }, /* Board Control Register */
......
...@@ -48,7 +48,7 @@ static int __init freebird_init(void) ...@@ -48,7 +48,7 @@ static int __init freebird_init(void)
return 0; return 0;
} }
__initcall(freebird_init); arch_initcall(freebird_init);
static struct map_desc freebird_io_desc[] __initdata = { static struct map_desc freebird_io_desc[] __initdata = {
/* virtual physical length type */ /* virtual physical length type */
......
...@@ -8,11 +8,6 @@ ...@@ -8,11 +8,6 @@
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as * it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation. * published by the Free Software Foundation.
*
* Since this file should be linked before any other machine specific file,
* the __initcall() here will be executed first. This serves as default
* initialization stuff for SA1100 machines which can be overriden later if
* need be.
*/ */
#include <linux/config.h> #include <linux/config.h>
#include <linux/module.h> #include <linux/module.h>
...@@ -117,7 +112,7 @@ static int __init sa1100_init(void) ...@@ -117,7 +112,7 @@ static int __init sa1100_init(void)
return 0; return 0;
} }
__initcall(sa1100_init); core_initcall(sa1100_init);
void (*sa1100fb_backlight_power)(int on); void (*sa1100fb_backlight_power)(int on);
void (*sa1100fb_lcd_power)(int on); void (*sa1100fb_lcd_power)(int on);
......
...@@ -59,7 +59,7 @@ static int __init graphicsmaster_init(void) ...@@ -59,7 +59,7 @@ static int __init graphicsmaster_init(void)
return 0; return 0;
} }
__initcall(graphicsmaster_init); arch_initcall(graphicsmaster_init);
/* /*
* Handlers for GraphicsMaster's external IRQ logic * Handlers for GraphicsMaster's external IRQ logic
......
...@@ -52,7 +52,7 @@ static int __init init_huw_cs3(void) ...@@ -52,7 +52,7 @@ static int __init init_huw_cs3(void)
return 0; return 0;
} }
__initcall(init_huw_cs3); arch_initcall(init_huw_cs3);
/** /**
......
...@@ -53,7 +53,7 @@ static int __init jornada720_init(void) ...@@ -53,7 +53,7 @@ static int __init jornada720_init(void)
return 0; return 0;
} }
__initcall(jornada720_init); arch_initcall(jornada720_init);
static struct map_desc jornada720_io_desc[] __initdata = { static struct map_desc jornada720_io_desc[] __initdata = {
/* virtual physical length type */ /* virtual physical length type */
......
...@@ -44,4 +44,4 @@ sa1100_leds_init(void) ...@@ -44,4 +44,4 @@ sa1100_leds_init(void)
return 0; return 0;
} }
__initcall(sa1100_leds_init); core_initcall(sa1100_leds_init);
...@@ -216,7 +216,7 @@ static int __init neponset_init(void) ...@@ -216,7 +216,7 @@ static int __init neponset_init(void)
return sa1111_init(&neponset_device, 0x40000000, IRQ_NEPONSET_SA1111); return sa1111_init(&neponset_device, 0x40000000, IRQ_NEPONSET_SA1111);
} }
__initcall(neponset_init); arch_initcall(neponset_init);
static struct map_desc neponset_io_desc[] __initdata = { static struct map_desc neponset_io_desc[] __initdata = {
/* virtual physical length type */ /* virtual physical length type */
......
...@@ -39,7 +39,7 @@ static int __init omnimeter_init(void) ...@@ -39,7 +39,7 @@ static int __init omnimeter_init(void)
return 0; return 0;
} }
__initcall(omnimeter_init); arch_initcall(omnimeter_init);
static struct map_desc omnimeter_io_desc[] __initdata = { static struct map_desc omnimeter_io_desc[] __initdata = {
/* virtual physical length type */ /* virtual physical length type */
......
...@@ -39,7 +39,7 @@ static int __init pfs168_init(void) ...@@ -39,7 +39,7 @@ static int __init pfs168_init(void)
return sa1111_init(NULL, 0x40000000, IRQ_GPIO25); return sa1111_init(NULL, 0x40000000, IRQ_GPIO25);
} }
__initcall(pfs168_init); arch_initcall(pfs168_init);
static void __init pfs168_init_irq(void) static void __init pfs168_init_irq(void)
......
...@@ -225,7 +225,7 @@ static int __init pm_init(void) ...@@ -225,7 +225,7 @@ static int __init pm_init(void)
return 0; return 0;
} }
__initcall(pm_init); fs_initcall(pm_init);
#endif #endif
......
...@@ -131,7 +131,7 @@ static int __init cs3_init(void) ...@@ -131,7 +131,7 @@ static int __init cs3_init(void)
return 0; return 0;
} }
__initcall(cs3_init); arch_initcall(cs3_init);
#endif // CONFIG_PROC_FS #endif // CONFIG_PROC_FS
......
...@@ -429,7 +429,7 @@ static int __init system3_init(void) ...@@ -429,7 +429,7 @@ static int __init system3_init(void)
/********************************************************************** /**********************************************************************
* kernel magic macros * kernel magic macros
*/ */
__initcall(system3_init); arch_initcall(system3_init);
MACHINE_START(PT_SYSTEM3, "PT System 3") MACHINE_START(PT_SYSTEM3, "PT System 3")
BOOT_MEM(0xc0000000, 0x80000000, 0xf8000000) BOOT_MEM(0xc0000000, 0x80000000, 0xf8000000)
......
...@@ -54,7 +54,7 @@ static int __init xp860_init(void) ...@@ -54,7 +54,7 @@ static int __init xp860_init(void)
return 0; return 0;
} }
__initcall(xp860_init); arch_initcall(xp860_init);
static struct map_desc xp860_io_desc[] __initdata = { static struct map_desc xp860_io_desc[] __initdata = {
/* virtual physical length type */ /* virtual physical length type */
......
...@@ -65,7 +65,7 @@ static int __init yopy_hw_init(void) ...@@ -65,7 +65,7 @@ static int __init yopy_hw_init(void)
return 0; return 0;
} }
__initcall(yopy_hw_init); arch_initcall(yopy_hw_init);
static struct map_desc yopy_io_desc[] __initdata = { static struct map_desc yopy_io_desc[] __initdata = {
......
...@@ -611,4 +611,4 @@ static int __init alignment_init(void) ...@@ -611,4 +611,4 @@ static int __init alignment_init(void)
return 0; return 0;
} }
__initcall(alignment_init); fs_initcall(alignment_init);
...@@ -65,4 +65,4 @@ static int __init minicache_init(void) ...@@ -65,4 +65,4 @@ static int __init minicache_init(void)
return 0; return 0;
} }
__initcall(minicache_init); core_initcall(minicache_init);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment