ARM: 6606/1: sa1100: Fix platform device registration
authorJochen Friedrich <jochen@scram.de>
Mon, 3 Jan 2011 11:09:05 +0000 (12:09 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 3 Jan 2011 22:57:10 +0000 (22:57 +0000)
Since commit 7a5b4e16c880f8350d255dc188f81622905618c1, simpad devices don't
boot anymore, since platform devices are registered too early. Fix by moving
the registration from map_io to arch_initcall as done on other sa1100 boards.

Signed-off-by: Jochen Friedrich <jochen@scram.de>
Acked-by: Kristoffer Ericson <kristoffer.ericson@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-sa1100/simpad.c

index 27692d0..cfb7607 100644 (file)
@@ -166,9 +166,6 @@ static void __init simpad_map_io(void)
        PCFR = 0;
        PSDR = 0;
 
-       sa11x0_register_mtd(&simpad_flash_data, simpad_flash_resources,
-                             ARRAY_SIZE(simpad_flash_resources));
-       sa11x0_register_mcp(&simpad_mcp_data);
 }
 
 static void simpad_power_off(void)
@@ -216,6 +213,10 @@ static int __init simpad_init(void)
 
        pm_power_off = simpad_power_off;
 
+       sa11x0_register_mtd(&simpad_flash_data, simpad_flash_resources,
+                             ARRAY_SIZE(simpad_flash_resources));
+       sa11x0_register_mcp(&simpad_mcp_data);
+
        ret = platform_add_devices(devices, ARRAY_SIZE(devices));
        if(ret)
                printk(KERN_WARNING "simpad: Unable to register mq200 framebuffer device");