Blackfin arch: move board specific setup out of common init code and into the board...
authorMike Frysinger <michael.frysinger@analog.com>
Mon, 21 May 2007 10:09:25 +0000 (18:09 +0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Mon, 21 May 2007 16:50:22 +0000 (09:50 -0700)
Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/blackfin/kernel/setup.c
arch/blackfin/mach-bf533/boards/stamp.c
arch/blackfin/mach-bf561/boards/ezkit.c

index c456ee5c1b4ad83518a5821b1773630b16fff33c..b6ac6f8067b82eda1691864273f668046a8c6c4e 100644 (file)
@@ -383,35 +383,19 @@ void __init setup_arch(char **cmdline_p)
 
        bf53x_cache_init();
 
-#if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE)
-# if defined(CONFIG_BFIN_SHARED_FLASH_ENET) && defined(CONFIG_BFIN533_STAMP)
-       /* setup BF533_STAMP CPLD to route AMS3 to Ethernet MAC */
-       bfin_write_FIO_DIR(bfin_read_FIO_DIR() | (1 << CONFIG_ENET_FLASH_PIN));
-       bfin_write_FIO_FLAG_S(1 << CONFIG_ENET_FLASH_PIN);
-       SSYNC();
-# endif
-# if defined (CONFIG_BFIN561_EZKIT)
-       bfin_write_FIO0_DIR(bfin_read_FIO0_DIR() | (1 << 12));
-       SSYNC();
-# endif /* defined (CONFIG_BFIN561_EZKIT) */
-#endif
-
        printk(KERN_INFO "Hardware Trace Enabled\n");
        bfin_write_TBUFCTL(0x03);
 }
 
-#if defined(CONFIG_BF561)
-static struct cpu cpu[2];
-#else
-static struct cpu cpu[1];
-#endif
 static int __init topology_init(void)
 {
 #if defined (CONFIG_BF561)
+       static struct cpu cpu[2];
        register_cpu(&cpu[0], 0);
        register_cpu(&cpu[1], 1);
        return 0;
 #else
+       static struct cpu cpu[1];
        return register_cpu(cpu, 0);
 #endif
 }
index 7d3dfcbc54aa3b5dfe294847b65ea55b240f0e2f..9a472fe15833ea25883fc0ac236275a7431a9f58 100644 (file)
@@ -338,12 +338,25 @@ static struct platform_device *stamp_devices[] __initdata = {
 
 static int __init stamp_init(void)
 {
+       int ret;
+
        printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__);
-       platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices));
+       ret = platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices));
+       if (ret < 0)
+               return ret;
+
+#if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE)
+# if defined(CONFIG_BFIN_SHARED_FLASH_ENET)
+       /* setup BF533_STAMP CPLD to route AMS3 to Ethernet MAC */
+       bfin_write_FIO_DIR(bfin_read_FIO_DIR() | (1 << CONFIG_ENET_FLASH_PIN));
+       bfin_write_FIO_FLAG_S(1 << CONFIG_ENET_FLASH_PIN);
+       SSYNC();
+# endif
+#endif
+
 #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE)
-       spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info));
+       return spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info));
 #endif
-       return 0;
 }
 
 arch_initcall(stamp_init);
index e8d4058dd7db0a090ec2d320c579c7497e74ecdf..9720b5c307ab58c82c0d5b55342b3769b959d52c 100644 (file)
@@ -184,13 +184,18 @@ static int __init ezkit_init(void)
 {
        int ret;
 
-       printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__);
-       ret = platform_add_devices(ezkit_devices,
-                ARRAY_SIZE(ezkit_devices));
+       printk(KERN_INFO "%s(): registering device resources\n", __func__);
+
+       ret = platform_add_devices(ezkit_devices, ARRAY_SIZE(ezkit_devices));
        if (ret < 0)
                return ret;
-       return spi_register_board_info(bfin_spi_board_info,
-                               ARRAY_SIZE(bfin_spi_board_info));
+
+#if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE)
+       bfin_write_FIO0_DIR(bfin_read_FIO0_DIR() | (1 << 12));
+       SSYNC();
+#endif
+
+       return spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info));
 }
 
 arch_initcall(ezkit_init);