MN10300: Use clockevents_calc_mult_shift()
Use clockevents_calc_mult_shift() instead of the homebrewn function in mn10300/kernel/time.c. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: John Stultz <johnstul@us.ibm.com> Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com> Cc: Mark Salter <msalter@redhat.com> Signed-off-by: David Howells <dhowells@redhat.com>
This commit is contained in:
committed by
David Howells
parent
817890ba15
commit
dc7daf3362
@@ -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);
|
|||||||
* 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)
|
|||||||
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
|
||||||
*/
|
*/
|
||||||
|
Reference in New Issue
Block a user