From: Cédric Le Goater Date: Thu, 24 Apr 2014 07:23:25 +0000 (+0200) Subject: powerpc/boot: Fix do_div for 64bit wrapper X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=f4bce2f784706800efcab6830111df9b75c2f199;p=openwrt%2Fstaging%2Fblogic.git powerpc/boot: Fix do_div for 64bit wrapper When the boot wrapper is compiled in 64bit, there is no need to use __div64_32. Signed-off-by: Cédric Le Goater Signed-off-by: Benjamin Herrenschmidt --- diff --git a/arch/powerpc/boot/stdio.c b/arch/powerpc/boot/stdio.c index 5b57800bbc67..a701261b1781 100644 --- a/arch/powerpc/boot/stdio.c +++ b/arch/powerpc/boot/stdio.c @@ -21,6 +21,18 @@ size_t strnlen(const char * s, size_t count) return sc - s; } +#ifdef __powerpc64__ + +# define do_div(n, base) ({ \ + unsigned int __base = (base); \ + unsigned int __rem; \ + __rem = ((unsigned long long)(n)) % __base; \ + (n) = ((unsigned long long)(n)) / __base; \ + __rem; \ +}) + +#else + extern unsigned int __div64_32(unsigned long long *dividend, unsigned int divisor); @@ -39,6 +51,8 @@ extern unsigned int __div64_32(unsigned long long *dividend, __rem; \ }) +#endif /* __powerpc64__ */ + static int skip_atoi(const char **s) { int i, c;