On Thu, 17 Feb 2011, Guan Xuetao wrote: > That's ok. > Please see following patch: Ok. So you apply that on top of the original bunch, right ? Fine with me. tglx > From: GuanXuetao <gxt@xxxxxxxxxxxxxxx> > Date: Thu, 17 Feb 2011 17:50:43 +0800 > Subject: [PATCH] unicore32: 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@xxxxxxxxxxxxxxx> > --- > 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 8090d76..8bb4b81 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 = > -- > 1.6.2.2 > > > > > Thanks, > > > > tglx > > Thanks Thomas. > > Guan Xuetao > -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html