diff options
| author | Stefan Roese <[email protected]> | 2008-07-10 09:09:45 +0200 |
|---|---|---|
| committer | Stefan Roese <[email protected]> | 2008-07-10 09:09:45 +0200 |
| commit | ac5ba41c2234dd513ed2c879914e964cc05a0135 (patch) | |
| tree | eea25003c17267efc504264bc1faa419a355a138 /lib_generic | |
| parent | 7c6237b3e2f2ee0098897da39b79aff4642b8946 (diff) | |
| parent | 4188f0491886b3b486164e819c0a83fdb97efd7d (diff) | |
Merge branch 'master' of /home/stefan/git/u-boot/u-boot
Diffstat (limited to 'lib_generic')
| -rw-r--r-- | lib_generic/display_options.c | 32 | ||||
| -rw-r--r-- | lib_generic/lmb.c | 6 |
2 files changed, 23 insertions, 15 deletions
diff --git a/lib_generic/display_options.c b/lib_generic/display_options.c index a52fa045481..2dc2567410b 100644 --- a/lib_generic/display_options.c +++ b/lib_generic/display_options.c @@ -39,27 +39,35 @@ int display_options (void) } /* - * print sizes as "xxx kB", "xxx.y kB", "xxx MB" or "xxx.y MB" as needed; - * allow for optional trailing string (like "\n") + * print sizes as "xxx kB", "xxx.y kB", "xxx MB", "xxx.y MB", + * xxx GB, or xxx.y GB as needed; allow for optional trailing string + * (like "\n") */ void print_size (phys_size_t size, const char *s) { - ulong m, n; - ulong d = 1 << 20; /* 1 MB */ - char c = 'M'; + ulong m = 0, n; + phys_size_t d = 1 << 30; /* 1 GB */ + char c = 'G'; - if (size < d) { /* print in kB */ - c = 'k'; - d = 1 << 10; + if (size < d) { /* try MB */ + c = 'M'; + d = 1 << 20; + if (size < d) { /* print in kB */ + c = 'k'; + d = 1 << 10; + } } n = size / d; - m = (10 * (size - (n * d)) + (d / 2) ) / d; + /* If there's a remainder, deal with it */ + if(size % d) { + m = (10 * (size - (n * d)) + (d / 2) ) / d; - if (m >= 10) { - m -= 10; - n += 1; + if (m >= 10) { + m -= 10; + n += 1; + } } printf ("%2ld", n); diff --git a/lib_generic/lmb.c b/lib_generic/lmb.c index 93264c15ec6..6b46fa88684 100644 --- a/lib_generic/lmb.c +++ b/lib_generic/lmb.c @@ -181,11 +181,11 @@ long lmb_add(struct lmb *lmb, phys_addr_t base, phys_size_t size) return lmb_add_region(_rgn, base, size); } -long lmb_free(struct lmb *lmb, u64 base, u64 size) +long lmb_free(struct lmb *lmb, phys_addr_t base, phys_size_t size) { struct lmb_region *rgn = &(lmb->reserved); - u64 rgnbegin, rgnend; - u64 end = base + size; + phys_addr_t rgnbegin, rgnend; + phys_addr_t end = base + size; int i; rgnbegin = rgnend = 0; /* supress gcc warnings */ |
