Commit 5757b284a300e0e5d2173750906625b6470bd9f0

Authored by Hirokazu Takata
Committed by Linus Torvalds
1 parent 960c2a89a0

[PATCH] m32r: Use asm-generic/div64.h

The current include/asm-m32r/div64.h of 2.6.12-rc5 looks buggy.  Here is a
patch for updating it to use asm-generic/div64.h for m32r like other
architectures.

Signed-off-by: Hitoshi Yamamoto <hitoshiy@isl.melco.co.jp>
Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

Showing 1 changed file with 1 additions and 38 deletions Side-by-side Diff

include/asm-m32r/div64.h
1   -#ifndef _ASM_M32R_DIV64
2   -#define _ASM_M32R_DIV64
3   -
4   -/* $Id$ */
5   -
6   -/* unsigned long long division.
7   - * Input:
8   - * unsigned long long n
9   - * unsigned long base
10   - * Output:
11   - * n = n / base;
12   - * return value = n % base;
13   - */
14   -#define do_div(n, base) \
15   -({ \
16   - unsigned long _res, _high, _mid, _low; \
17   - \
18   - _low = (n) & 0xffffffffUL; \
19   - _high = (n) >> 32; \
20   - if (_high) { \
21   - _mid = (_high % (unsigned long)(base)) << 16; \
22   - _high = _high / (unsigned long)(base); \
23   - _mid += _low >> 16; \
24   - _low &= 0x0000ffffUL; \
25   - _low += (_mid % (unsigned long)(base)) << 16; \
26   - _mid = _mid / (unsigned long)(base); \
27   - _res = _low % (unsigned long)(base); \
28   - _low = _low / (unsigned long)(base); \
29   - n = _low + ((long long)_mid << 16) + \
30   - ((long long)_high << 32); \
31   - } else { \
32   - _res = _low % (unsigned long)(base); \
33   - n = (_low / (unsigned long)(base)); \
34   - } \
35   - _res; \
36   -})
37   -
38   -#endif /* _ASM_M32R_DIV64 */
  1 +#include <asm-generic/div64.h>