summaryrefslogtreecommitdiffstats
path: root/include/asm-m32r/div64.h
diff options
context:
space:
mode:
authorHirokazu Takata <takata@linux-m32r.org>2005-06-21 17:16:17 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-21 19:07:31 -0700
commit5757b284a300e0e5d2173750906625b6470bd9f0 (patch)
tree262e1ad45505aa85ef202e5be8e3f022e5249bf6 /include/asm-m32r/div64.h
parent960c2a89a051333d2e6793a416d9a33c4b116b41 (diff)
downloadkernel-crypto-5757b284a300e0e5d2173750906625b6470bd9f0.tar.gz
kernel-crypto-5757b284a300e0e5d2173750906625b6470bd9f0.tar.xz
kernel-crypto-5757b284a300e0e5d2173750906625b6470bd9f0.zip
[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>
Diffstat (limited to 'include/asm-m32r/div64.h')
-rw-r--r--include/asm-m32r/div64.h39
1 files changed, 1 insertions, 38 deletions
diff --git a/include/asm-m32r/div64.h b/include/asm-m32r/div64.h
index 417a51bd552..6cd978cefb2 100644
--- a/include/asm-m32r/div64.h
+++ b/include/asm-m32r/div64.h
@@ -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>