Commit a913a8234bb812d21bb0f75c2458f9eb941ddf91

Authored by GuanXuetao
1 parent b31d82737d

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>

Showing 1 changed file with 2 additions and 7 deletions Side-by-side Diff

arch/unicore32/kernel/time.c
... ... @@ -66,11 +66,6 @@
66 66 static struct clock_event_device ckevt_puv3_osmr0 = {
67 67 .name = "osmr0",
68 68 .features = CLOCK_EVT_FEAT_ONESHOT,
69   -#ifdef CONFIG_ARCH_FPGA
70   - .shift = 18, /* correct shift val: 16, but warn_on_slowpath */
71   -#else
72   - .shift = 30,
73   -#endif
74 69 .rating = 200,
75 70 .set_next_event = puv3_osmr0_set_next_event,
76 71 .set_mode = puv3_osmr0_set_mode,
... ... @@ -101,8 +96,8 @@
101 96 OST_OIER = 0; /* disable any timer interrupts */
102 97 OST_OSSR = 0; /* clear status on all timers */
103 98  
104   - ckevt_puv3_osmr0.mult =
105   - div_sc(CLOCK_TICK_RATE, NSEC_PER_SEC, ckevt_puv3_osmr0.shift);
  99 + clockevents_calc_mult_shift(&ckevt_puv3_osmr0, CLOCK_TICK_RATE, 5);
  100 +
106 101 ckevt_puv3_osmr0.max_delta_ns =
107 102 clockevent_delta2ns(0x7fffffff, &ckevt_puv3_osmr0);
108 103 ckevt_puv3_osmr0.min_delta_ns =