Merge branch 'next' into for-linus
[pandora-kernel.git] / arch / arm / mach-mx5 / board-mx51_3ds.c
index 49d6448..63dfbea 100644 (file)
@@ -71,24 +71,10 @@ static iomux_v3_cfg_t mx51_3ds_pads[] = {
 };
 
 /* Serial ports */
-#if defined(CONFIG_SERIAL_IMX) || defined(CONFIG_SERIAL_IMX_MODULE)
 static const struct imxuart_platform_data uart_pdata __initconst = {
        .flags = IMXUART_HAVE_RTSCTS,
 };
 
-static inline void mxc_init_imx_uart(void)
-{
-       imx51_add_imx_uart(0, &uart_pdata);
-       imx51_add_imx_uart(1, &uart_pdata);
-       imx51_add_imx_uart(2, &uart_pdata);
-}
-#else /* !SERIAL_IMX */
-static inline void mxc_init_imx_uart(void)
-{
-}
-#endif /* SERIAL_IMX */
-
-#if defined(CONFIG_KEYBOARD_IMX) || defined(CONFIG_KEYBOARD_IMX_MODULE)
 static int mx51_3ds_board_keymap[] = {
        KEY(0, 0, KEY_1),
        KEY(0, 1, KEY_2),
@@ -124,16 +110,6 @@ static const struct matrix_keymap_data mx51_3ds_map_data __initconst = {
        .keymap_size    = ARRAY_SIZE(mx51_3ds_board_keymap),
 };
 
-static void mxc_init_keypad(void)
-{
-       imx51_add_imx_keypad(&mx51_3ds_map_data);
-}
-#else
-static inline void mxc_init_keypad(void)
-{
-}
-#endif
-
 static int mx51_3ds_spi2_cs[] = {
        MXC_SPI_CS(0),
        MX51_3DS_ECSPI2_CS,
@@ -157,11 +133,14 @@ static struct spi_board_info mx51_3ds_spi_nor_device[] = {
 /*
  * Board specific initialization.
  */
-static void __init mxc_board_init(void)
+static void __init mx51_3ds_init(void)
 {
        mxc_iomux_v3_setup_multiple_pads(mx51_3ds_pads,
                                        ARRAY_SIZE(mx51_3ds_pads));
-       mxc_init_imx_uart();
+
+       imx51_add_imx_uart(0, &uart_pdata);
+       imx51_add_imx_uart(1, &uart_pdata);
+       imx51_add_imx_uart(2, &uart_pdata);
 
        imx51_add_ecspi(1, &mx51_3ds_ecspi2_pdata);
        spi_register_board_info(mx51_3ds_spi_nor_device,
@@ -172,7 +151,8 @@ static void __init mxc_board_init(void)
                                    "devices on the board are unusable.\n");
 
        imx51_add_sdhci_esdhc_imx(0, NULL);
-       mxc_init_keypad();
+       imx51_add_imx_keypad(&mx51_3ds_map_data);
+       imx51_add_imx2_wdt(0, NULL);
 }
 
 static void __init mx51_3ds_timer_init(void)
@@ -180,15 +160,16 @@ static void __init mx51_3ds_timer_init(void)
        mx51_clocks_init(32768, 24000000, 22579200, 0);
 }
 
-static struct sys_timer mxc_timer = {
-       .init   = mx51_3ds_timer_init,
+static struct sys_timer mx51_3ds_timer = {
+       .init = mx51_3ds_timer_init,
 };
 
 MACHINE_START(MX51_3DS, "Freescale MX51 3-Stack Board")
        /* Maintainer: Freescale Semiconductor, Inc. */
        .boot_params = MX51_PHYS_OFFSET + 0x100,
        .map_io = mx51_map_io,
+       .init_early = imx51_init_early,
        .init_irq = mx51_init_irq,
-       .init_machine = mxc_board_init,
-       .timer = &mxc_timer,
+       .timer = &mx51_3ds_timer,
+       .init_machine = mx51_3ds_init,
 MACHINE_END