aboutsummaryrefslogtreecommitdiffstats
path: root/lib/div64.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/div64.c')
-rw-r--r--lib/div64.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/div64.c b/lib/div64.c
index 689bd76833fa..bb5bd0c0f030 100644
--- a/lib/div64.c
+++ b/lib/div64.c
@@ -78,9 +78,10 @@ EXPORT_SYMBOL(div_s64_rem);
78#endif 78#endif
79 79
80/* 64bit divisor, dividend and result. dynamic precision */ 80/* 64bit divisor, dividend and result. dynamic precision */
81uint64_t div64_64(uint64_t dividend, uint64_t divisor) 81#ifndef div64_u64
82u64 div64_u64(u64 dividend, u64 divisor)
82{ 83{
83 uint32_t high, d; 84 u32 high, d;
84 85
85 high = divisor >> 32; 86 high = divisor >> 32;
86 if (high) { 87 if (high) {
@@ -91,10 +92,9 @@ uint64_t div64_64(uint64_t dividend, uint64_t divisor)
91 } else 92 } else
92 d = divisor; 93 d = divisor;
93 94
94 do_div(dividend, d); 95 return div_u64(dividend, d);
95
96 return dividend;
97} 96}
98EXPORT_SYMBOL(div64_64); 97EXPORT_SYMBOL(div64_u64);
98#endif
99 99
100#endif /* BITS_PER_LONG == 32 */ 100#endif /* BITS_PER_LONG == 32 */