[U-Boot] [PATCH 06/10] Tidy up data sizes and function comment in display_options

Simon Glass
2014-10-15T10:38:35Z

Use inttypes.h and uint64_t to correct the code so that it will not issue
warnings on 64-bit machines where 'uint64_t' is 'unsigned long'.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

include/common.h | 14 +++++++++++++-
lib/display_options.c | 14 +++++---------
2 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/include/common.h b/include/common.h
index 02befa6..3ccde60 100644
--- a/include/common.h
+++ b/include/common.h
@@ -256,7 +256,19 @@ int cpu_init(void);
/* */
phys_size_t initdram (int);
int display_options (void);
-void print_size(unsigned long long, const char *);
+
+/**
+ * print_size() - Print a size with a suffic
+ *
+ * print sizes as "xxx KiB", "xxx.y KiB", "xxx MiB", "xxx.y MiB",
+ * xxx GiB, xxx.y GiB, etc as needed; allow for optional trailing string
+ * (like "\n")
+ *
+ * @size: Size to print
+ * @suffix String to print after the size
+ */
+void print_size(uint64_t size, const char *suffix);
+
int print_buffer(ulong addr, const void *data, uint width, uint count,
uint linelen);

diff --git a/lib/display_options.c b/lib/display_options.c
index 4c0c886..d5d17b2 100644
--- a/lib/display_options.c
+++ b/lib/display_options.c
@@ -7,6 +7,7 @@

#include <config.h>
#include <common.h>
+#include <inttypes.h>
#include <version.h>
#include <linux/ctype.h>
#include <asm/io.h>
@@ -21,15 +22,10 @@ int display_options (void)
return 0;
}

-/*
- * print sizes as "xxx KiB", "xxx.y KiB", "xxx MiB", "xxx.y MiB",
- * xxx GiB, xxx.y GiB, etc as needed; allow for optional trailing string
- * (like "\n")
- */
-void print_size(unsigned long long size, const char *s)
+void print_size(uint64_t size, const char *s)
{
unsigned long m = 0, n;
- unsigned long long f;
+ uint64_t f;
static const char names[] = {'E', 'P', 'T', 'G', 'M', 'K'};
unsigned long d = 10 * ARRAY_SIZE(names);
char c = 0;
@@ -43,7 +39,7 @@ void print_size(unsigned long long size, const char *s)
}

if (!c) {
- printf("%llu Bytes%s", size, s);
+ printf("%" PRIu64 " Bytes%s", size, s);
return;
}

@@ -127,7 +123,7 @@ int print_buffer(ulong addr, const void *data, uint width, uint count,
else
x = lb.uc[i] = *(volatile uint8_t *)data;
#ifdef CONFIG_SYS_SUPPORT_64BIT_DATA
- printf(" %0*llx", width * 2, x);
+ printf(" %0*" PRIx64, width * 2, x);
#else
printf(" %0*x", width * 2, x);
#endif
--
2.1.0.rc2.206.gedb03e5