div64-generic.c (04c7d9579f25ff0dd01efa958805f34c92bc6a71) div64-generic.c (075fc19bdea9120989142fa2179abd958b3a5c72)
1/*
2 * Generic __div64_32 wrapper for __xdiv64_32.
3 */
4
5#include <linux/types.h>
6
1/*
2 * Generic __div64_32 wrapper for __xdiv64_32.
3 */
4
5#include <linux/types.h>
6
7extern uint32_t __xdiv64_32(u64 n, u32 d);
7extern uint64_t __xdiv64_32(u64 n, u32 d);
8
9uint32_t __div64_32(u64 *xp, u32 y)
10{
11 uint32_t rem;
8
9uint32_t __div64_32(u64 *xp, u32 y)
10{
11 uint32_t rem;
12 uint32_t q = __xdiv64_32(*xp, y);
12 uint64_t q = __xdiv64_32(*xp, y);
13
14 rem = *xp - q * y;
15 *xp = q;
16
17 return rem;
18}
13
14 rem = *xp - q * y;
15 *xp = q;
16
17 return rem;
18}