From: Dirk Behme Date: Wed, 22 Jul 2009 15:51:56 +0000 (+0200) Subject: Use do_div from div64.h for vsprintf X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=479105065d965121f57b55dcfe83a940cba46ac1;p=project%2Fbcm63xx%2Fu-boot.git Use do_div from div64.h for vsprintf Use do_div from div64.h for vsprintf in case of 64bit division. For 32bit division, do_div from div64.h can't be used as it needs a 64bit parameter. Signed-off-by: Dirk Behme Acked-by: Stefan Roese CC: Simon Kagstrom --- diff --git a/lib_generic/vsprintf.c b/lib_generic/vsprintf.c index 7f534c7853..3d95728efb 100644 --- a/lib_generic/vsprintf.c +++ b/lib_generic/vsprintf.c @@ -22,18 +22,19 @@ extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]); #endif #ifdef CONFIG_SYS_64BIT_VSPRINTF +#include # define NUM_TYPE long long #else # define NUM_TYPE long -#endif -#define noinline __attribute__((noinline)) - #define do_div(n, base) ({ \ unsigned int __res; \ __res = ((unsigned NUM_TYPE) n) % base; \ n = ((unsigned NUM_TYPE) n) / base; \ __res; \ }) +#endif +#define noinline __attribute__((noinline)) + const char hex_asc[] = "0123456789abcdef"; #define hex_asc_lo(x) hex_asc[((x) & 0x0f)]