grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH]: Fix up a few build warnings.


From: David Miller
Subject: [PATCH]: Fix up a few build warnings.
Date: Wed, 29 Apr 2009 18:20:30 -0700 (PDT)

I noticed these in the build, and they result from the fact
that grub_uint64_t is "unsigned long" and consequently
grub_addr_t and grub_disk_addr_t have this type as well.

Since grub_uint64_t can be either "long long" or "long" depending
on the platform, a cast is the best fix for now.

Committed.

2009-04-29  David S. Miller  <address@hidden>

        * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
        warnings.
        * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
        * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
        grub_ofdisk_read): Likewise, and deal similarly with the fact that
        ihandles have a 32-bit type but need to be stored in a "void *".

diff --git a/commands/lsmmap.c b/commands/lsmmap.c
index 562ba21..4fe9a5a 100644
--- a/commands/lsmmap.c
+++ b/commands/lsmmap.c
@@ -30,7 +30,7 @@ grub_cmd_lsmmap (grub_command_t cmd __attribute__ ((unused)),
   int NESTED_FUNC_ATTR hook (grub_uint64_t addr, grub_uint64_t size, 
grub_uint32_t type)
     {
       grub_printf ("base_addr = 0x%llx, length = 0x%llx, type = 0x%x\n",
-                  addr, size, type);
+                  (long long) addr, (long long) size, type);
       return 0;
     }
   grub_machine_mmap_iterate (hook);
diff --git a/disk/ieee1275/ofdisk.c b/disk/ieee1275/ofdisk.c
index 202be24..e2c7867 100644
--- a/disk/ieee1275/ofdisk.c
+++ b/disk/ieee1275/ofdisk.c
@@ -155,7 +155,8 @@ grub_ofdisk_open (const char *name, grub_disk_t disk)
       goto fail;
     }
 
-  grub_dprintf ("disk", "Opened `%s' as handle %p.\n", op->devpath, (void *) 
dev_ihandle);
+  grub_dprintf ("disk", "Opened `%s' as handle %p.\n", op->devpath,
+               (void *) (unsigned long) dev_ihandle);
 
   if (grub_ieee1275_finddevice (op->devpath, &dev))
     {
@@ -185,7 +186,7 @@ grub_ofdisk_open (const char *name, grub_disk_t disk)
 
   /* XXX: Read this, somehow.  */
   disk->has_partitions = 1;
-  disk->data = (void *) dev_ihandle;
+  disk->data = (void *) (unsigned long) dev_ihandle;
   return 0;
 
  fail:
@@ -199,7 +200,7 @@ grub_ofdisk_close (grub_disk_t disk)
 {
   grub_dprintf ("disk", "Closing handle %p.\n",
                (void *) disk->data);
-  grub_ieee1275_close ((grub_ieee1275_ihandle_t) disk->data);
+  grub_ieee1275_close ((grub_ieee1275_ihandle_t) (unsigned long) disk->data);
 }
 
 static grub_err_t
@@ -211,21 +212,21 @@ grub_ofdisk_read (grub_disk_t disk, grub_disk_addr_t 
sector,
 
   grub_dprintf ("disk",
                "Reading handle %p: sector 0x%llx, size 0x%lx, buf %p.\n",
-               (void *) disk->data, sector, (long) size, buf);
+               (void *) disk->data, (long long) sector, (long) size, buf);
 
   pos = sector * 512UL;
 
-  grub_ieee1275_seek ((grub_ieee1275_ihandle_t) disk->data, (int) (pos >> 32),
-                     (int) pos & 0xFFFFFFFFUL, &status);
+  grub_ieee1275_seek ((grub_ieee1275_ihandle_t) (unsigned long) disk->data,
+                     (int) (pos >> 32), (int) pos & 0xFFFFFFFFUL, &status);
   if (status < 0)
     return grub_error (GRUB_ERR_READ_ERROR,
                       "Seek error, can't seek block %llu",
-                      sector);
-  grub_ieee1275_read ((grub_ieee1275_ihandle_t) disk->data, buf,
-                     size * 512UL, &actual);
+                      (long long) sector);
+  grub_ieee1275_read ((grub_ieee1275_ihandle_t) (unsigned long) disk->data,
+                     buf, size * 512UL, &actual);
   if (actual != actual)
     return grub_error (GRUB_ERR_READ_ERROR, "Read error on block: %llu",
-                      sector);
+                      (long long) sector);
     
   return 0;
 }
diff --git a/kern/ieee1275/openfw.c b/kern/ieee1275/openfw.c
index b23149e..7d65023 100644
--- a/kern/ieee1275/openfw.c
+++ b/kern/ieee1275/openfw.c
@@ -238,7 +238,8 @@ grub_claimmap (grub_addr_t addr, grub_size_t size)
   if (! grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_REAL_MODE)
       && grub_map (addr, addr, size, 0x00))
     {
-      grub_printf ("map failed: address 0x%x, size 0x%x\n", addr, size);
+      grub_printf ("map failed: address 0x%llx, size 0x%llx\n",
+                  (long long) addr, (long long) size);
       grub_ieee1275_release (addr, size);
       return -1;
     }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]