diff options
Diffstat (limited to 'arch/m68k/platform/coldfire/sltimers.c')
-rw-r--r-- | arch/m68k/platform/coldfire/sltimers.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/m68k/platform/coldfire/sltimers.c b/arch/m68k/platform/coldfire/sltimers.c index 54e1452f853a..2027fc20b876 100644 --- a/arch/m68k/platform/coldfire/sltimers.c +++ b/arch/m68k/platform/coldfire/sltimers.c | |||
@@ -81,12 +81,14 @@ void mcfslt_profile_init(void) | |||
81 | static u32 mcfslt_cycles_per_jiffy; | 81 | static u32 mcfslt_cycles_per_jiffy; |
82 | static u32 mcfslt_cnt; | 82 | static u32 mcfslt_cnt; |
83 | 83 | ||
84 | static irq_handler_t timer_interrupt; | ||
85 | |||
84 | static irqreturn_t mcfslt_tick(int irq, void *dummy) | 86 | static irqreturn_t mcfslt_tick(int irq, void *dummy) |
85 | { | 87 | { |
86 | /* Reset Slice Timer 0 */ | 88 | /* Reset Slice Timer 0 */ |
87 | __raw_writel(MCFSLT_SSR_BE | MCFSLT_SSR_TE, TA(MCFSLT_SSR)); | 89 | __raw_writel(MCFSLT_SSR_BE | MCFSLT_SSR_TE, TA(MCFSLT_SSR)); |
88 | mcfslt_cnt += mcfslt_cycles_per_jiffy; | 90 | mcfslt_cnt += mcfslt_cycles_per_jiffy; |
89 | return arch_timer_interrupt(irq, dummy); | 91 | return timer_interrupt(irq, dummy); |
90 | } | 92 | } |
91 | 93 | ||
92 | static struct irqaction mcfslt_timer_irq = { | 94 | static struct irqaction mcfslt_timer_irq = { |
@@ -121,7 +123,7 @@ static struct clocksource mcfslt_clk = { | |||
121 | .flags = CLOCK_SOURCE_IS_CONTINUOUS, | 123 | .flags = CLOCK_SOURCE_IS_CONTINUOUS, |
122 | }; | 124 | }; |
123 | 125 | ||
124 | void hw_timer_init(void) | 126 | void hw_timer_init(irq_handler_t handler) |
125 | { | 127 | { |
126 | mcfslt_cycles_per_jiffy = MCF_BUSCLK / HZ; | 128 | mcfslt_cycles_per_jiffy = MCF_BUSCLK / HZ; |
127 | /* | 129 | /* |
@@ -136,6 +138,7 @@ void hw_timer_init(void) | |||
136 | /* initialize mcfslt_cnt knowing that slice timers count down */ | 138 | /* initialize mcfslt_cnt knowing that slice timers count down */ |
137 | mcfslt_cnt = mcfslt_cycles_per_jiffy; | 139 | mcfslt_cnt = mcfslt_cycles_per_jiffy; |
138 | 140 | ||
141 | timer_interrupt = handler; | ||
139 | setup_irq(MCF_IRQ_TIMER, &mcfslt_timer_irq); | 142 | setup_irq(MCF_IRQ_TIMER, &mcfslt_timer_irq); |
140 | 143 | ||
141 | clocksource_register_hz(&mcfslt_clk, MCF_BUSCLK); | 144 | clocksource_register_hz(&mcfslt_clk, MCF_BUSCLK); |