[U-Boot] [PATCH] mtd: fix warnings due to 64-bit partition support

Scott Wood scottwood at freescale.com
Wed Oct 16 00:41:27 CEST 2013


commit 39ac34473f3c96e77cbe03a49141771ed1639486 ("cmd_mtdparts: use 64
bits for flash size, partition size & offset") introduced warnings
in a couple places due to printf formats or pointer casting.

This patch fixes the warnings pointed out here:
http://lists.denx.de/pipermail/u-boot/2013-October/164981.html

Signed-off-by: Scott Wood <scottwood at freescale.com>
Cc: York Sun <yorksun at freescale.com>
Cc: Stefan Roese <sr at denx.de>
Cc: Paul Burton <paul.burton at imgtec.com>
Cc: Tom Rini <trini at ti.com>
---
Alternatively, given the imminent release, perhaps all but the first
patch of my recent NAND pull request should be reverted.  The first
patch was a regression fix, but on a second look the remaining patches
look more like enabling a new feature (and I didn't look too closely at
the ubi patches because Stefan had acked them and asked me to apply;
patch 4 is clearly not a bugfix).

I'm not sure why I didn't catch these warnings as I did run a makeall
on arm and ppc.  The only thing I can guess is that I forgot to check
the ppc results, or I missed them among other pre-existing warnings
such as the "AltiVec not supported in this target" warnings I get from
86xx builds.
---
 common/fdt_support.c | 4 ++--
 fs/cramfs/cramfs.c   | 5 +++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/common/fdt_support.c b/common/fdt_support.c
index b034c98..1f0d8f5 100644
--- a/common/fdt_support.c
+++ b/common/fdt_support.c
@@ -766,11 +766,11 @@ int fdt_node_set_part_info(void *blob, int parent_offset,
 
 		part = list_entry(pentry, struct part_info, link);
 
-		debug("%2d: %-20s0x%08x\t0x%08x\t%d\n",
+		debug("%2d: %-20s0x%08llx\t0x%08llx\t%d\n",
 			part_num, part->name, part->size,
 			part->offset, part->mask_flags);
 
-		sprintf(buf, "partition@%x", part->offset);
+		sprintf(buf, "partition@%llx", part->offset);
 add_sub:
 		ret = fdt_add_subnode(blob, parent_offset, buf);
 		if (ret == -FDT_ERR_NOSPACE) {
diff --git a/fs/cramfs/cramfs.c b/fs/cramfs/cramfs.c
index e578a1e..fd8e4ef 100644
--- a/fs/cramfs/cramfs.c
+++ b/fs/cramfs/cramfs.c
@@ -43,9 +43,10 @@ struct cramfs_super super;
  * device address space offset, so we need to shift it by a device start address. */
 #if !defined(CONFIG_SYS_NO_FLASH)
 extern flash_info_t flash_info[];
-#define PART_OFFSET(x)	(x->offset + flash_info[x->dev->id->num].start[0])
+#define PART_OFFSET(x)	((ulong)x->offset + \
+			 flash_info[x->dev->id->num].start[0])
 #else
-#define PART_OFFSET(x)	(x->offset)
+#define PART_OFFSET(x)	((ulong)x->offset)
 #endif
 
 static int cramfs_read_super (struct part_info *info)
-- 
1.8.1.2




More information about the U-Boot mailing list