diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2011-03-18 16:52:50 +0000 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2011-03-18 16:52:50 +0000 |
commit | dc7daf33626d1f4afc97505516f824caf440d52c (patch) | |
tree | 15daa531f01830a97659f46445b467c735c6a91c /arch/mn10300 | |
parent | 817890ba15df44181bc9c2bf7527cb066ebae06f (diff) | |
download | op-kernel-dev-dc7daf33626d1f4afc97505516f824caf440d52c.zip op-kernel-dev-dc7daf33626d1f4afc97505516f824caf440d52c.tar.gz |
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>
Diffstat (limited to 'arch/mn10300')
-rw-r--r-- | arch/mn10300/kernel/cevt-mn10300.c | 5 | ||||
-rw-r--r-- | arch/mn10300/kernel/internal.h | 7 | ||||
-rw-r--r-- | arch/mn10300/kernel/time.c | 17 |
3 files changed, 3 insertions, 26 deletions
diff --git a/arch/mn10300/kernel/cevt-mn10300.c b/arch/mn10300/kernel/cevt-mn10300.c index d4cb535..9eb387a 100644 --- a/arch/mn10300/kernel/cevt-mn10300.c +++ b/arch/mn10300/kernel/cevt-mn10300.c @@ -89,9 +89,10 @@ int __init init_clockevents(void) cd->name = "Timestamp"; cd->features = CLOCK_EVT_FEAT_ONESHOT; - /* Calculate the min / max delta */ - clockevent_set_clock(cd, MN10300_JCCLK); + /* Calculate shift/mult. We want to spawn at least 1 second */ + clockevents_calc_mult_shift(cd, MN10300_JCCLK, 1); + /* Calculate the min / max delta */ cd->max_delta_ns = clockevent_delta2ns(TMJCBR_MAX, cd); cd->min_delta_ns = clockevent_delta2ns(100, cd); diff --git a/arch/mn10300/kernel/internal.h b/arch/mn10300/kernel/internal.h index 3d43d4d..ea94661 100644 --- a/arch/mn10300/kernel/internal.h +++ b/arch/mn10300/kernel/internal.h @@ -33,10 +33,3 @@ extern void mn10300_low_ipi_handler(void); * time.c */ extern irqreturn_t local_timer_interrupt(void); - -/* - * time.c - */ -#ifdef CONFIG_CSRC_MN10300 -extern void clocksource_set_clock(struct clocksource *, unsigned int); -#endif diff --git a/arch/mn10300/kernel/time.c b/arch/mn10300/kernel/time.c index 78f7208..67c6416 100644 --- a/arch/mn10300/kernel/time.c +++ b/arch/mn10300/kernel/time.c @@ -93,23 +93,6 @@ irqreturn_t local_timer_interrupt(void) 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 */ |