Commit dc7daf33 authored by Thomas Gleixner's avatar Thomas Gleixner Committed by David Howells

MN10300: Use clockevents_calc_mult_shift()

Use clockevents_calc_mult_shift() instead of the homebrewn function in
mn10300/kernel/time.c.
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Acked-by: default avatarJohn Stultz <johnstul@us.ibm.com>
Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com>
Cc: Mark Salter <msalter@redhat.com>
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
parent 817890ba
...@@ -89,9 +89,10 @@ int __init init_clockevents(void) ...@@ -89,9 +89,10 @@ int __init init_clockevents(void)
cd->name = "Timestamp"; cd->name = "Timestamp";
cd->features = CLOCK_EVT_FEAT_ONESHOT; cd->features = CLOCK_EVT_FEAT_ONESHOT;
/* Calculate the min / max delta */ /* Calculate shift/mult. We want to spawn at least 1 second */
clockevent_set_clock(cd, MN10300_JCCLK); clockevents_calc_mult_shift(cd, MN10300_JCCLK, 1);
/* Calculate the min / max delta */
cd->max_delta_ns = clockevent_delta2ns(TMJCBR_MAX, cd); cd->max_delta_ns = clockevent_delta2ns(TMJCBR_MAX, cd);
cd->min_delta_ns = clockevent_delta2ns(100, cd); cd->min_delta_ns = clockevent_delta2ns(100, cd);
......
...@@ -33,10 +33,3 @@ extern void mn10300_low_ipi_handler(void); ...@@ -33,10 +33,3 @@ extern void mn10300_low_ipi_handler(void);
* time.c * time.c
*/ */
extern irqreturn_t local_timer_interrupt(void); extern irqreturn_t local_timer_interrupt(void);
/*
* time.c
*/
#ifdef CONFIG_CSRC_MN10300
extern void clocksource_set_clock(struct clocksource *, unsigned int);
#endif
...@@ -93,23 +93,6 @@ irqreturn_t local_timer_interrupt(void) ...@@ -93,23 +93,6 @@ irqreturn_t local_timer_interrupt(void)
return IRQ_HANDLED; return IRQ_HANDLED;
} }
void __cpuinit clockevent_set_clock(struct clock_event_device *cd,
unsigned int clock)
{
u64 temp;
u32 shift;
/* Find a shift value */
for (shift = 32; shift > 0; shift--) {
temp = (u64) clock << shift;
do_div(temp, NSEC_PER_SEC);
if ((temp >> 32) == 0)
break;
}
cd->shift = shift;
cd->mult = (u32) temp;
}
/* /*
* initialise the various timers used by the main part of the kernel * initialise the various timers used by the main part of the kernel
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment