Commit 5757b284a300e0e5d2173750906625b6470bd9f0
Committed by
Linus Torvalds
1 parent
960c2a89a0
Exists in
master
and in
7 other branches
[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> |