[PATCH] m32r: Use asm-generic/div64.h
authorHirokazu Takata <takata@linux-m32r.org>
Wed, 22 Jun 2005 00:16:17 +0000 (17:16 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Wed, 22 Jun 2005 02:07:31 +0000 (19:07 -0700)
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>
include/asm-m32r/div64.h

index 417a51bd552de78b0c4a26c0239626f250daff68..6cd978cefb2850be383e462f77a05c23ff7adc33 100644 (file)
@@ -1,38 +1 @@
-#ifndef _ASM_M32R_DIV64
-#define _ASM_M32R_DIV64
-
-/* $Id$ */
-
-/* unsigned long long division.
- * Input:
- *  unsigned long long  n
- *  unsigned long  base
- * Output:
- *  n = n / base;
- *  return value = n % base;
- */
-#define do_div(n, base)                                                \
-({                                                             \
-       unsigned long _res, _high, _mid, _low;                  \
-                                                               \
-       _low = (n) & 0xffffffffUL;                              \
-       _high = (n) >> 32;                                      \
-       if (_high) {                                            \
-               _mid = (_high % (unsigned long)(base)) << 16;   \
-               _high = _high / (unsigned long)(base);          \
-               _mid += _low >> 16;                             \
-               _low &= 0x0000ffffUL;                           \
-               _low += (_mid % (unsigned long)(base)) << 16;   \
-               _mid = _mid / (unsigned long)(base);            \
-               _res = _low % (unsigned long)(base);            \
-               _low = _low / (unsigned long)(base);            \
-               n = _low + ((long long)_mid << 16) +            \
-                       ((long long)_high << 32);               \
-       } else {                                                \
-               _res = _low % (unsigned long)(base);            \
-               n = (_low / (unsigned long)(base));             \
-       }                                                       \
-       _res;                                                   \
-})
-
-#endif  /* _ASM_M32R_DIV64 */
+#include <asm-generic/div64.h>