Commit a913a8234bb812d21bb0f75c2458f9eb941ddf91
1 parent
b31d82737d
Exists in
master
and in
7 other branches
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 = |