Round clock frequencies for printing. Many boards printed off clock frequencies like 399 MHz instead of the exact 400 MHz because numberes were not rounded. This is fixed now.
Signed-off-by: Wolfgang Denk <[EMAIL PROTECTED]> --- include/common.h | 5 +++-- lib_generic/strmhz.c | 6 ++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/include/common.h b/include/common.h index 33c6e10..976a72a 100644 --- a/include/common.h +++ b/include/common.h @@ -692,8 +692,9 @@ void __attribute__((weak)) show_boot_progress (int val); #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) -#define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d)) -#define roundup(x, y) ((((x) + ((y) - 1)) / (y)) * (y)) +#define DIV_ROUND(n,d) (((n) + ((d)/2)) / (d)) +#define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d)) +#define roundup(x, y) ((((x) + ((y) - 1)) / (y)) * (y)) #define ALIGN(x,a) __ALIGN_MASK((x),(typeof(x))(a)-1) #define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask)) diff --git a/lib_generic/strmhz.c b/lib_generic/strmhz.c index d0b6bc6..342cf2b 100644 --- a/lib_generic/strmhz.c +++ b/lib_generic/strmhz.c @@ -27,9 +27,11 @@ char *strmhz (char *buf, long hz) long l, n; long m; - n = hz / 1000000L; + n = DIV_ROUND(hz, 1000000L); l = sprintf (buf, "%ld", n); - m = (hz % 1000000L) / 1000L; + + hz -= n * 1000000L; + m = DIV_ROUND(hz, 1000L); if (m != 0) sprintf (buf + l, ".%03ld", m); return (buf); -- 1.5.6.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot