path: root/arch/arm/mach-shmobile/setup-r8a7779.c
diff options
authorMagnus Damm <>2012-05-10 14:57:22 +0900
committerRafael J. Wysocki <>2012-05-12 22:13:38 +0200
commitb759bd114e27fbb940fb44fd16552e8f4acd831e (patch)
treeaabfb18091281cc5af1df1e76a5ebdbc7bcd5a75 /arch/arm/mach-shmobile/setup-r8a7779.c
parent173e2fec4d9e950ee5e4bba272091e248a961c98 (diff)
ARM / mach-shmobile: r8a7779 SMP TWD boot regression fix
Fix SMP TWD boot regression on r8a7779 based platforms caused by: 4200b16 ARM: shmobile: convert to twd_local_timer_register() interface After the merge of the above commit it has been impossible to boot r8a7779 based SoCs with SMP enabled and CONFIG_HAVE_ARM_TWD=y. The kernel crashes at smp_init_cpus() timing which is before the console has been initialized, so to the user this looks like a kernel lock up without any particular error message. This patch fixes the regression on r8a7779 by moving the TWD registration code from smp_init_cpus() to sys_timer->init() time. Signed-off-by: Magnus Damm <> Acked-by: Marc Zyngier <> Signed-off-by: Rafael J. Wysocki <>
Diffstat (limited to 'arch/arm/mach-shmobile/setup-r8a7779.c')
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/setup-r8a7779.c b/arch/arm/mach-shmobile/setup-r8a7779.c
index 12c6f529ab89..e98e46f6cf55 100644
--- a/arch/arm/mach-shmobile/setup-r8a7779.c
+++ b/arch/arm/mach-shmobile/setup-r8a7779.c
@@ -262,10 +262,14 @@ void __init r8a7779_add_standard_devices(void)
+/* do nothing for !CONFIG_SMP or !CONFIG_HAVE_TWD */
+void __init __weak r8a7779_register_twd(void) { }
static void __init r8a7779_earlytimer_init(void)
+ r8a7779_register_twd();
void __init r8a7779_add_early_devices(void)