diff options
author | Michal Nazarewicz <mina86@mina86.com> | 2014-06-18 21:58:36 -0400 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2014-06-20 01:04:50 -0400 |
commit | 891715793f0451e5114d200be932ac14ce8521a3 (patch) | |
tree | a72b0f4acb5f87762a286453cd5e7d1afda4babc | |
parent | 7171511eaec5bf23fb06078f59784a3a0626b38f (diff) |
x86/tsc: Get rid of custom DIV_ROUND() macro
When invoced for positive values, DIV_ROUND macro defined in
arch/x86/kernel/tsc.c behaves exactly like DIV_ROUND_CLOSEST from
include/linux/kernel.h file, so remove the custom macro in favour
of the shared one.
[ hpa: changed line breaks ]
Signed-off-by: Michal Nazarewicz <mina86@mina86.com>
Link: http://lkml.kernel.org/r/1403143116-21755-1-git-send-email-mina86@mina86.com
Acked-by: David Rientjes <rientjes@google.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r-- | arch/x86/kernel/tsc.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c index 57e5ce126d5a..8764232bf0f1 100644 --- a/arch/x86/kernel/tsc.c +++ b/arch/x86/kernel/tsc.c | |||
@@ -234,9 +234,6 @@ static inline unsigned long long cycles_2_ns(unsigned long long cyc) | |||
234 | return ns; | 234 | return ns; |
235 | } | 235 | } |
236 | 236 | ||
237 | /* XXX surely we already have this someplace in the kernel?! */ | ||
238 | #define DIV_ROUND(n, d) (((n) + ((d) / 2)) / (d)) | ||
239 | |||
240 | static void set_cyc2ns_scale(unsigned long cpu_khz, int cpu) | 237 | static void set_cyc2ns_scale(unsigned long cpu_khz, int cpu) |
241 | { | 238 | { |
242 | unsigned long long tsc_now, ns_now; | 239 | unsigned long long tsc_now, ns_now; |
@@ -259,7 +256,9 @@ static void set_cyc2ns_scale(unsigned long cpu_khz, int cpu) | |||
259 | * time function is continuous; see the comment near struct | 256 | * time function is continuous; see the comment near struct |
260 | * cyc2ns_data. | 257 | * cyc2ns_data. |
261 | */ | 258 | */ |
262 | data->cyc2ns_mul = DIV_ROUND(NSEC_PER_MSEC << CYC2NS_SCALE_FACTOR, cpu_khz); | 259 | data->cyc2ns_mul = |
260 | DIV_ROUND_CLOSEST(NSEC_PER_MSEC << CYC2NS_SCALE_FACTOR, | ||
261 | cpu_khz); | ||
263 | data->cyc2ns_shift = CYC2NS_SCALE_FACTOR; | 262 | data->cyc2ns_shift = CYC2NS_SCALE_FACTOR; |
264 | data->cyc2ns_offset = ns_now - | 263 | data->cyc2ns_offset = ns_now - |
265 | mul_u64_u32_shr(tsc_now, data->cyc2ns_mul, CYC2NS_SCALE_FACTOR); | 264 | mul_u64_u32_shr(tsc_now, data->cyc2ns_mul, CYC2NS_SCALE_FACTOR); |