diff options
Diffstat (limited to 'arch/arm/mach-tegra/timer.c')
| -rw-r--r-- | arch/arm/mach-tegra/timer.c | 24 | 
1 files changed, 3 insertions, 21 deletions
diff --git a/arch/arm/mach-tegra/timer.c b/arch/arm/mach-tegra/timer.c index e2272d263a8..732c724008b 100644 --- a/arch/arm/mach-tegra/timer.c +++ b/arch/arm/mach-tegra/timer.c @@ -19,7 +19,6 @@  #include <linux/init.h>  #include <linux/err.h> -#include <linux/sched.h>  #include <linux/time.h>  #include <linux/interrupt.h>  #include <linux/irq.h> @@ -106,25 +105,9 @@ static struct clock_event_device tegra_clockevent = {  	.set_mode	= tegra_timer_set_mode,  }; -static DEFINE_CLOCK_DATA(cd); - -/* - * Constants generated by clocks_calc_mult_shift(m, s, 1MHz, NSEC_PER_SEC, 60). - * This gives a resolution of about 1us and a wrap period of about 1h11min. - */ -#define SC_MULT		4194304000u -#define SC_SHIFT	22 - -unsigned long long notrace sched_clock(void) -{ -	u32 cyc = timer_readl(TIMERUS_CNTR_1US); -	return cyc_to_fixed_sched_clock(&cd, cyc, (u32)~0, SC_MULT, SC_SHIFT); -} - -static void notrace tegra_update_sched_clock(void) +static u32 notrace tegra_read_sched_clock(void)  { -	u32 cyc = timer_readl(TIMERUS_CNTR_1US); -	update_sched_clock(&cd, cyc, (u32)~0); +	return timer_readl(TIMERUS_CNTR_1US);  }  /* @@ -218,8 +201,7 @@ static void __init tegra_init_timer(void)  		WARN(1, "Unknown clock rate");  	} -	init_fixed_sched_clock(&cd, tegra_update_sched_clock, 32, -			       1000000, SC_MULT, SC_SHIFT); +	setup_sched_clock(tegra_read_sched_clock, 32, 1000000);  	if (clocksource_mmio_init(timer_reg_base + TIMERUS_CNTR_1US,  		"timer_us", 1000000, 300, 32, clocksource_mmio_readl_up)) {  |