Linux Audio

Check our new training course

Loading...
v3.5.6
 1/*
 2 * Generic __div64_32 wrapper for __xdiv64_32.
 3 */
 4
 5#include <linux/types.h>
 6#include <asm/div64.h>
 7
 8extern uint64_t __xdiv64_32(u64 n, u32 d);
 9
10uint32_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}
v4.6
 1/*
 2 * Generic __div64_32 wrapper for __xdiv64_32.
 3 */
 4
 5#include <linux/types.h>
 6#include <asm/div64.h>
 7
 8extern uint64_t __xdiv64_32(u64 n, u32 d);
 9
10uint32_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}