1 #ifndef __PPC_DIV64 2 #define __PPC_DIV64 3 4 #include <linux/types.h> 5 6 extern u32 __div64_32(u64 *dividend, u32 div); 7 8 #define do_div(n, div) ({ \ 9 u64 __n = (n); \ 10 u32 __d = (div); \ 11 u32 __q, __r; \ 12 if ((__n >> 32) == 0) { \ 13 __q = (u32)__n / __d; \ 14 __r = (u32)__n - __q * __d; \ 15 (n) = __q; \ 16 } else { \ 17 __r = __div64_32(&__n, __d); \ 18 (n) = __n; \ 19 } \ 20 __r; \ 21 }) 22 23 #endif 24