Blame view

arch/sh/lib/div64-generic.c 283 Bytes
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
4
5
  /*
   * Generic __div64_32 wrapper for __xdiv64_32.
   */
  
  #include <linux/types.h>
fa43972fa   Paul Mundt   sh: fixup many sp...
6
  #include <asm/div64.h>
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
7

075fc19bd   Paul Mundt   sh: Revert __xdiv...
8
  extern uint64_t __xdiv64_32(u64 n, u32 d);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
9

04c7d9579   Paul Mundt   sh: Correct __xdi...
10
  uint32_t __div64_32(u64 *xp, u32 y)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
11
  {
04c7d9579   Paul Mundt   sh: Correct __xdi...
12
  	uint32_t rem;
075fc19bd   Paul Mundt   sh: Revert __xdiv...
13
  	uint64_t q = __xdiv64_32(*xp, y);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
14
15
16
17
18
19
  
  	rem = *xp - q * y;
  	*xp = q;
  
  	return rem;
  }