@@ -41,9 +41,8 @@ static const char *marzen_boards_compat_
};
DT_MACHINE_START(MARZEN, "marzen")
- .smp = smp_ops(r8a7779_smp_ops),
.map_io = r8a7779_map_io,
- .init_early = r8a7779_init_delay,
+ .init_early = r8a7779_init_early,
.init_irq = r8a7779_init_irq_dt,
.init_machine = marzen_init,
.dt_compat = marzen_boards_compat_dt,
@@ -263,7 +263,6 @@ static const char *marzen_boards_compat_
};
DT_MACHINE_START(MARZEN, "marzen")
- .smp = smp_ops(r8a7779_smp_ops),
.map_io = r8a7779_map_io,
.init_early = r8a7779_add_early_devices,
.init_irq = r8a7779_init_irq_dt,
@@ -23,7 +23,7 @@ static inline struct r8a7779_pm_ch *to_r
return &container_of(d, struct r8a7779_pm_domain, genpd)->ch;
}
-extern void r8a7779_init_delay(void);
+extern void r8a7779_init_early(void);
extern void r8a7779_init_irq_extpin(int irlm);
extern void r8a7779_init_irq_dt(void);
extern void r8a7779_map_io(void);
@@ -663,8 +663,18 @@ void __init r8a7779_earlytimer_init(void
r8a7779_register_twd();
}
+void __init r8a7779_init_early(void)
+{
+ shmobile_setup_delay(1000, 2, 4); /* Cortex-A9 @ 1000MHz */
+#ifdef CONFIG_SMP
+ smp_set_ops(&r8a7779_smp_ops);
+#endif
+}
+
void __init r8a7779_add_early_devices(void)
{
+ r8a7779_init_early();
+
early_platform_add_devices(r8a7779_devices_dt,
ARRAY_SIZE(r8a7779_devices_dt));
@@ -726,11 +736,6 @@ void __init r8a7779_init_irq_dt(void)
__raw_writel(0x003fee3f, INT2SMSKCR4);
}
-void __init r8a7779_init_delay(void)
-{
- shmobile_setup_delay(1000, 2, 4); /* Cortex-A9 @ 1000MHz */
-}
-
static const char *r8a7779_compat_dt[] __initdata = {
"renesas,r8a7779",
NULL,
@@ -738,7 +743,7 @@ static const char *r8a7779_compat_dt[] _
DT_MACHINE_START(R8A7779_DT, "Generic R8A7779 (Flattened Device Tree)")
.map_io = r8a7779_map_io,
- .init_early = r8a7779_init_delay,
+ .init_early = r8a7779_init_early,
.init_irq = r8a7779_init_irq_dt,
.init_late = r8a7779_init_late,
.dt_compat = r8a7779_compat_dt,