diff options
Diffstat (limited to 'include/linux/math64.h')
-rw-r--r-- | include/linux/math64.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/include/linux/math64.h b/include/linux/math64.h index b8ba85544721..931a619407bf 100644 --- a/include/linux/math64.h +++ b/include/linux/math64.h | |||
@@ -30,6 +30,15 @@ static inline s64 div_s64_rem(s64 dividend, s32 divisor, s32 *remainder) | |||
30 | } | 30 | } |
31 | 31 | ||
32 | /** | 32 | /** |
33 | * div64_u64_rem - unsigned 64bit divide with 64bit divisor | ||
34 | */ | ||
35 | static inline u64 div64_u64_rem(u64 dividend, u64 divisor, u64 *remainder) | ||
36 | { | ||
37 | *remainder = dividend % divisor; | ||
38 | return dividend / divisor; | ||
39 | } | ||
40 | |||
41 | /** | ||
33 | * div64_u64 - unsigned 64bit divide with 64bit divisor | 42 | * div64_u64 - unsigned 64bit divide with 64bit divisor |
34 | */ | 43 | */ |
35 | static inline u64 div64_u64(u64 dividend, u64 divisor) | 44 | static inline u64 div64_u64(u64 dividend, u64 divisor) |
@@ -61,8 +70,16 @@ static inline u64 div_u64_rem(u64 dividend, u32 divisor, u32 *remainder) | |||
61 | extern s64 div_s64_rem(s64 dividend, s32 divisor, s32 *remainder); | 70 | extern s64 div_s64_rem(s64 dividend, s32 divisor, s32 *remainder); |
62 | #endif | 71 | #endif |
63 | 72 | ||
73 | #ifndef div64_u64_rem | ||
74 | extern u64 div64_u64_rem(u64 dividend, u64 divisor, u64 *remainder); | ||
75 | #endif | ||
76 | |||
64 | #ifndef div64_u64 | 77 | #ifndef div64_u64 |
65 | extern u64 div64_u64(u64 dividend, u64 divisor); | 78 | static inline u64 div64_u64(u64 dividend, u64 divisor) |
79 | { | ||
80 | u64 remainder; | ||
81 | return div64_u64_rem(dividend, divisor, &remainder); | ||
82 | } | ||
66 | #endif | 83 | #endif |
67 | 84 | ||
68 | #ifndef div64_s64 | 85 | #ifndef div64_s64 |