Merge branch 'ux500/dt' into next/dt2
[linux-flexiantxendom0-3.2.10.git] / arch / arm / mach-vexpress / ct-ca9x4.c
index 73791f0..c65cc3b 100644 (file)
@@ -42,15 +42,26 @@ static struct map_desc ct_ca9x4_io_desc[] __initdata = {
 static void __init ct_ca9x4_map_io(void)
 {
        iotable_init(ct_ca9x4_io_desc, ARRAY_SIZE(ct_ca9x4_io_desc));
-#ifdef CONFIG_LOCAL_TIMERS
-       twd_base = ioremap(A9_MPCORE_TWD, SZ_32);
-#endif
 }
 
+#ifdef CONFIG_HAVE_ARM_TWD
+static DEFINE_TWD_LOCAL_TIMER(twd_local_timer, A9_MPCORE_TWD, IRQ_LOCALTIMER);
+
+static void __init ca9x4_twd_init(void)
+{
+       int err = twd_local_timer_register(&twd_local_timer);
+       if (err)
+               pr_err("twd_local_timer_register failed %d\n", err);
+}
+#else
+#define ca9x4_twd_init()       do {} while(0)
+#endif
+
 static void __init ct_ca9x4_init_irq(void)
 {
        gic_init(0, 29, ioremap(A9_MPCORE_GIC_DIST, SZ_4K),
                 ioremap(A9_MPCORE_GIC_CPU, SZ_256));
+       ca9x4_twd_init();
 }
 
 static void ct_ca9x4_clcd_enable(struct clcd_fb *fb)