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