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