diff options
Diffstat (limited to 'arch/arm/mach-omap2/timer.c')
| -rw-r--r-- | arch/arm/mach-omap2/timer.c | 13 | 
1 files changed, 9 insertions, 4 deletions
diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c index 2bdd4cf17a8..63e6384fa72 100644 --- a/arch/arm/mach-omap2/timer.c +++ b/arch/arm/mach-omap2/timer.c @@ -62,6 +62,7 @@  #define OMAP2_MPU_SOURCE	"sys_ck"  #define OMAP3_MPU_SOURCE	OMAP2_MPU_SOURCE  #define OMAP4_MPU_SOURCE	"sys_clkin_ck" +#define OMAP5_MPU_SOURCE	"sys_clkin"  #define OMAP2_32K_SOURCE	"func_32k_ck"  #define OMAP3_32K_SOURCE	"omap_32k_fck"  #define OMAP4_32K_SOURCE	"sys_32k_ck" @@ -287,7 +288,7 @@ static int __init omap_dm_timer_init_one(struct omap_dm_timer *timer,  			r = -EINVAL;  		} else {  			r = clk_set_parent(timer->fclk, src); -			if (IS_ERR_VALUE(r)) +			if (r < 0)  				pr_warn("%s: %s cannot set source\n",  					__func__, oh->name);  			clk_put(src); @@ -487,7 +488,7 @@ static void __init realtime_counter_init(void)  		pr_err("%s: ioremap failed\n", __func__);  		return;  	} -	sys_clk = clk_get(NULL, "sys_clkin_ck"); +	sys_clk = clk_get(NULL, OMAP5_MPU_SOURCE);  	if (IS_ERR(sys_clk)) {  		pr_err("%s: failed to get system clock handle\n", __func__);  		iounmap(base); @@ -547,6 +548,8 @@ static inline void __init realtime_counter_init(void)  			       clksrc_nr, clksrc_src)			\  void __init omap##name##_gptimer_timer_init(void)			\  {									\ +	if (omap_clk_init)						\ +		omap_clk_init();					\  	omap_dmtimer_init();						\  	omap2_gp_clockevent_init((clkev_nr), clkev_src, clkev_prop);	\  	omap2_gptimer_clocksource_init((clksrc_nr), clksrc_src);	\ @@ -556,6 +559,8 @@ void __init omap##name##_gptimer_timer_init(void)			\  				clksrc_nr, clksrc_src)			\  void __init omap##name##_sync32k_timer_init(void)		\  {									\ +	if (omap_clk_init)						\ +		omap_clk_init();					\  	omap_dmtimer_init();						\  	omap2_gp_clockevent_init((clkev_nr), clkev_src, clkev_prop);	\  	/* Enable the use of clocksource="gp_timer" kernel parameter */	\ @@ -597,7 +602,7 @@ void __init omap4_local_timer_init(void)  		int err;  		if (of_have_populated_dt()) { -			twd_local_timer_of_register(); +			clocksource_of_init();  			return;  		} @@ -616,7 +621,7 @@ void __init omap4_local_timer_init(void)  #ifdef CONFIG_SOC_OMAP5  OMAP_SYS_32K_TIMER_INIT(5, 1, OMAP4_32K_SOURCE, "ti,timer-alwon", -			2, OMAP4_MPU_SOURCE); +			2, OMAP5_MPU_SOURCE);  void __init omap5_realtime_timer_init(void)  {  	int err;  |