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