Merge branch 'exotic-arch-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git...
[platform/adaptation/renesas_rcar/renesas_kernel.git] / arch / sh / lib / div64-generic.c
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 }