diff options
Diffstat (limited to 'arch/arm/mach-ux500/timer.c')
| -rw-r--r-- | arch/arm/mach-ux500/timer.c | 11 | 
1 files changed, 8 insertions, 3 deletions
diff --git a/arch/arm/mach-ux500/timer.c b/arch/arm/mach-ux500/timer.c index e9d580702fb..d37df98b5c3 100644 --- a/arch/arm/mach-ux500/timer.c +++ b/arch/arm/mach-ux500/timer.c @@ -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)  |