diff options
Diffstat (limited to 'arch/arm/mach-omap1/time.c')
| -rw-r--r-- | arch/arm/mach-omap1/time.c | 58 | 
1 files changed, 4 insertions, 54 deletions
diff --git a/arch/arm/mach-omap1/time.c b/arch/arm/mach-omap1/time.c index 485a21d3100..b8faffa44f9 100644 --- a/arch/arm/mach-omap1/time.c +++ b/arch/arm/mach-omap1/time.c @@ -37,7 +37,6 @@  #include <linux/init.h>  #include <linux/delay.h>  #include <linux/interrupt.h> -#include <linux/sched.h>  #include <linux/spinlock.h>  #include <linux/clk.h>  #include <linux/err.h> @@ -190,30 +189,9 @@ static __init void omap_init_mpu_timer(unsigned long rate)   * ---------------------------------------------------------------------------   */ -static DEFINE_CLOCK_DATA(cd); - -static inline unsigned long long notrace _omap_mpu_sched_clock(void) -{ -	u32 cyc = ~omap_mpu_timer_read(1); -	return cyc_to_sched_clock(&cd, cyc, (u32)~0); -} - -#ifndef CONFIG_OMAP_32K_TIMER -unsigned long long notrace sched_clock(void) -{ -	return _omap_mpu_sched_clock(); -} -#else -static unsigned long long notrace omap_mpu_sched_clock(void) -{ -	return _omap_mpu_sched_clock(); -} -#endif - -static void notrace mpu_update_sched_clock(void) +static u32 notrace omap_mpu_read_sched_clock(void)  { -	u32 cyc = ~omap_mpu_timer_read(1); -	update_sched_clock(&cd, cyc, (u32)~0); +	return ~omap_mpu_timer_read(1);  }  static void __init omap_init_clocksource(unsigned long rate) @@ -223,7 +201,7 @@ static void __init omap_init_clocksource(unsigned long rate)  			"%s: can't register clocksource!\n";  	omap_mpu_timer_start(1, ~0, 1); -	init_sched_clock(&cd, mpu_update_sched_clock, 32, rate); +	setup_sched_clock(omap_mpu_read_sched_clock, 32, rate);  	if (clocksource_mmio_init(&timer->read_tim, "mpu_timer2", rate,  			300, 32, clocksource_mmio_readl_down)) @@ -254,30 +232,6 @@ static inline void omap_mpu_timer_init(void)  }  #endif	/* CONFIG_OMAP_MPU_TIMER */ -#if defined(CONFIG_OMAP_MPU_TIMER) && defined(CONFIG_OMAP_32K_TIMER) -static unsigned long long (*preferred_sched_clock)(void); - -unsigned long long notrace sched_clock(void) -{ -	if (!preferred_sched_clock) -		return 0; - -	return preferred_sched_clock(); -} - -static inline void preferred_sched_clock_init(bool use_32k_sched_clock) -{ -	if (use_32k_sched_clock) -		preferred_sched_clock = omap_32k_sched_clock; -	else -		preferred_sched_clock = omap_mpu_sched_clock; -} -#else -static inline void preferred_sched_clock_init(bool use_32k_sched_clcok) -{ -} -#endif -  static inline int omap_32k_timer_usable(void)  {  	int res = false; @@ -299,12 +253,8 @@ static inline int omap_32k_timer_usable(void)   */  static void __init omap1_timer_init(void)  { -	if (omap_32k_timer_usable()) { -		preferred_sched_clock_init(1); -	} else { +	if (!omap_32k_timer_usable())  		omap_mpu_timer_init(); -		preferred_sched_clock_init(0); -	}  }  struct sys_timer omap1_timer = {  |