ARM: mxs: merge imx23 and imx28 into one machine_desc
authorShawn Guo <shawn.guo@linaro.org>
Fri, 29 Mar 2013 06:04:07 +0000 (14:04 +0800)
committerShawn Guo <shawn.guo@linaro.org>
Mon, 1 Apr 2013 12:42:21 +0000 (20:42 +0800)
Most of the function hooks are same between imx23 and imx28
machine_desc, so merge them into one.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
arch/arm/mach-mxs/mach-mxs.c

index fc762579d30fea231642525d953a8b8f7130071d..a6e1ccb05066580cfe5ae335d7e079bc6c658101 100644 (file)
@@ -171,18 +171,6 @@ static struct of_dev_auxdata mxs_auxdata_lookup[] __initdata = {
        { /* sentinel */ }
 };
 
-static void __init imx23_timer_init(void)
-{
-       mx23_clocks_init();
-       clocksource_of_init();
-}
-
-static void __init imx28_timer_init(void)
-{
-       mx28_clocks_init();
-       clocksource_of_init();
-}
-
 #define OCOTP_WORD_OFFSET              0x20
 #define OCOTP_WORD_COUNT               0x20
 
@@ -573,32 +561,27 @@ soft:
        soft_restart(0);
 }
 
-static const char *imx23_dt_compat[] __initdata = {
-       "fsl,imx23",
-       NULL,
-};
+static void __init mxs_timer_init(void)
+{
+       if (of_machine_is_compatible("fsl,imx23"))
+               mx23_clocks_init();
+       else
+               mx28_clocks_init();
+       clocksource_of_init();
+}
 
-static const char *imx28_dt_compat[] __initdata = {
+static const char *mxs_dt_compat[] __initdata = {
        "fsl,imx28",
+       "fsl,imx23",
        NULL,
 };
 
-DT_MACHINE_START(IMX23, "Freescale i.MX23 (Device Tree)")
-       .map_io         = debug_ll_io_init,
-       .init_irq       = irqchip_init,
-       .handle_irq     = icoll_handle_irq,
-       .init_time      = imx23_timer_init,
-       .init_machine   = mxs_machine_init,
-       .dt_compat      = imx23_dt_compat,
-       .restart        = mxs_restart,
-MACHINE_END
-
-DT_MACHINE_START(IMX28, "Freescale i.MX28 (Device Tree)")
+DT_MACHINE_START(MXS, "Freescale MXS (Device Tree)")
        .map_io         = debug_ll_io_init,
        .init_irq       = irqchip_init,
        .handle_irq     = icoll_handle_irq,
-       .init_time      = imx28_timer_init,
+       .init_time      = mxs_timer_init,
        .init_machine   = mxs_machine_init,
-       .dt_compat      = imx28_dt_compat,
+       .dt_compat      = mxs_dt_compat,
        .restart        = mxs_restart,
 MACHINE_END