Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * Generic __div64_32 wrapper for __xdiv64_32. | |
3 | */ | |
4 | ||
5 | #include <linux/types.h> | |
fa43972f | 6 | #include <asm/div64.h> |
1da177e4 | 7 | |
075fc19b | 8 | extern uint64_t __xdiv64_32(u64 n, u32 d); |
1da177e4 | 9 | |
04c7d957 | 10 | uint32_t __div64_32(u64 *xp, u32 y) |
1da177e4 | 11 | { |
04c7d957 | 12 | uint32_t rem; |
075fc19b | 13 | uint64_t q = __xdiv64_32(*xp, y); |
1da177e4 LT |
14 | |
15 | rem = *xp - q * y; | |
16 | *xp = q; | |
17 | ||
18 | return rem; | |
19 | } |