diff options
author | GuanXuetao <gxt@mprc.pku.edu.cn> | 2011-02-17 17:50:43 +0800 |
---|---|---|
committer | GuanXuetao <gxt@mprc.pku.edu.cn> | 2011-03-17 09:19:16 +0800 |
commit | a913a8234bb812d21bb0f75c2458f9eb941ddf91 (patch) | |
tree | fc030a37abde57dd2b87bf399b51c99546329a53 /arch/unicore32/kernel | |
parent | b31d82737d068bf7ff8ed4592914c8fd7fdb51f0 (diff) |
unicore32 time.c: change calculate method for clock_event_device
apply clockevents_calc_mult_shift() to get rid of
shift assignment and mult calculation for osmr0
-- by advice with Thomas Gleixner
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Diffstat (limited to 'arch/unicore32/kernel')
-rw-r--r-- | arch/unicore32/kernel/time.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/arch/unicore32/kernel/time.c b/arch/unicore32/kernel/time.c index 8090d763a60..8bb4b815bce 100644 --- a/arch/unicore32/kernel/time.c +++ b/arch/unicore32/kernel/time.c @@ -66,11 +66,6 @@ puv3_osmr0_set_mode(enum clock_event_mode mode, struct clock_event_device *c) static struct clock_event_device ckevt_puv3_osmr0 = { .name = "osmr0", .features = CLOCK_EVT_FEAT_ONESHOT, -#ifdef CONFIG_ARCH_FPGA - .shift = 18, /* correct shift val: 16, but warn_on_slowpath */ -#else - .shift = 30, -#endif .rating = 200, .set_next_event = puv3_osmr0_set_next_event, .set_mode = puv3_osmr0_set_mode, @@ -101,8 +96,8 @@ void __init time_init(void) OST_OIER = 0; /* disable any timer interrupts */ OST_OSSR = 0; /* clear status on all timers */ - ckevt_puv3_osmr0.mult = - div_sc(CLOCK_TICK_RATE, NSEC_PER_SEC, ckevt_puv3_osmr0.shift); + clockevents_calc_mult_shift(&ckevt_puv3_osmr0, CLOCK_TICK_RATE, 5); + ckevt_puv3_osmr0.max_delta_ns = clockevent_delta2ns(0x7fffffff, &ckevt_puv3_osmr0); ckevt_puv3_osmr0.min_delta_ns = |