]> git.sur5r.net Git - u-boot/blobdiff - lib_generic/display_options.c
OMAP3 beagle Add usbtty configuration
[u-boot] / lib_generic / display_options.c
index 5ddd94fd5aca4ea8c1f4fe9f0868b46f8fd7f3e5..2dc2567410ba69636d9f51fcb0dc1d55ce019cf4 100644 (file)
@@ -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 (ulong size, const char *s)
+void print_size (phys_size_t size, const char *s)
 {
-       ulong m, n;
-       ulong d = 1 << 20;              /* 1 MB */
-       char  c = 'M';
-
-       if (size < d) {                 /* print in kB */
-               c = 'k';
-               d = 1 << 10;
+       ulong m = 0, n;
+       phys_size_t d = 1 << 30;                /* 1 GB */
+       char  c = 'G';
+
+       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);