|
@@ -7,6 +7,7 @@
|
|
|
#include <linux/io.h>
|
|
|
#include <linux/errno.h>
|
|
|
#include <linux/clksrc-dbx500-prcmu.h>
|
|
|
+#include <linux/of.h>
|
|
|
|
|
|
#include <asm/smp_twd.h>
|
|
|
|
|
@@ -30,9 +31,13 @@ static void __init ux500_twd_init(void)
|
|
|
twd_local_timer = cpu_is_u5500() ? &u5500_twd_local_timer :
|
|
|
&u8500_twd_local_timer;
|
|
|
|
|
|
- err = twd_local_timer_register(twd_local_timer);
|
|
|
- if (err)
|
|
|
- pr_err("twd_local_timer_register failed %d\n", err);
|
|
|
+ if (of_have_populated_dt())
|
|
|
+ twd_local_timer_of_register();
|
|
|
+ else {
|
|
|
+ err = twd_local_timer_register(twd_local_timer);
|
|
|
+ if (err)
|
|
|
+ pr_err("twd_local_timer_register failed %d\n", err);
|
|
|
+ }
|
|
|
}
|
|
|
#else
|
|
|
#define ux500_twd_init() do { } while(0)
|