diff options
Diffstat (limited to 'arch/arm/mach-at91/at91rm9200_time.c')
| -rw-r--r-- | arch/arm/mach-at91/at91rm9200_time.c | 10 | 
1 files changed, 4 insertions, 6 deletions
diff --git a/arch/arm/mach-at91/at91rm9200_time.c b/arch/arm/mach-at91/at91rm9200_time.c index 180b3024bec..7fd13aef982 100644 --- a/arch/arm/mach-at91/at91rm9200_time.c +++ b/arch/arm/mach-at91/at91rm9200_time.c @@ -31,6 +31,7 @@  #include <asm/mach/time.h>  #include <mach/at91_st.h> +#include <mach/hardware.h>  static unsigned long last_crtr;  static u32 irqmask; @@ -93,7 +94,7 @@ static irqreturn_t at91rm9200_timer_interrupt(int irq, void *dev_id)  static struct irqaction at91rm9200_timer_irq = {  	.name		= "at91_tick", -	.flags		= IRQF_SHARED | IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, +	.flags		= IRQF_SHARED | IRQF_TIMER | IRQF_IRQPOLL,  	.handler	= at91rm9200_timer_interrupt,  	.irq		= NR_IRQS_LEGACY + AT91_ID_SYS,  }; @@ -174,7 +175,6 @@ clkevt32k_next_event(unsigned long delta, struct clock_event_device *dev)  static struct clock_event_device clkevt = {  	.name		= "at91_tick",  	.features	= CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT, -	.shift		= 32,  	.rating		= 150,  	.set_next_event	= clkevt32k_next_event,  	.set_mode	= clkevt32k_mode, @@ -265,11 +265,9 @@ void __init at91rm9200_timer_init(void)  	at91_st_write(AT91_ST_RTMR, 1);  	/* Setup timer clockevent, with minimum of two ticks (important!!) */ -	clkevt.mult = div_sc(AT91_SLOW_CLOCK, NSEC_PER_SEC, clkevt.shift); -	clkevt.max_delta_ns = clockevent_delta2ns(AT91_ST_ALMV, &clkevt); -	clkevt.min_delta_ns = clockevent_delta2ns(2, &clkevt) + 1;  	clkevt.cpumask = cpumask_of(0); -	clockevents_register_device(&clkevt); +	clockevents_config_and_register(&clkevt, AT91_SLOW_CLOCK, +					2, AT91_ST_ALMV);  	/* register clocksource */  	clocksource_register_hz(&clk32k, AT91_SLOW_CLOCK);  | 
