Patchwork [U-Boot,RFC,v2,02/14] sandbox: Correct data sizes and printf() strings in fdtdec.c

login
register
mail settings
Submitter Simon Glass
Date May 7, 2013, 7:41 p.m.
Message ID <1367955730-31902-3-git-send-email-sjg@chromium.org>
Download mbox | patch
Permalink /patch/242444/
State RFC
Delegated to: Tom Rini
Headers show

Comments

Simon Glass - May 7, 2013, 7:41 p.m.
There are a few wwrnings in this file when building for sandbox. Addresses
coming from the device tree need to be treated as ulong as elsewhere in
U-Boot and we must use map_sysmem() to convert to a pointer when needed.

Signed-off-by: Simon Glass <sjg@chromium.org>
---
Changes in v2: None

 lib/fdtdec.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Patch

diff --git a/lib/fdtdec.c b/lib/fdtdec.c
index ac1fe0b..36f5d8e 100644
--- a/lib/fdtdec.c
+++ b/lib/fdtdec.c
@@ -92,10 +92,10 @@  fdt_addr_t fdtdec_get_addr_size(const void *blob, int node,
 			size = (fdt_size_t *)((char *)cell +
 					sizeof(fdt_addr_t));
 			*sizep = fdt_size_to_cpu(*size);
-			debug("addr=%p, size=%p\n", (void *)addr,
-			      (void *)*sizep);
+			debug("addr=%08lx, size=%08x\n",
+			      (ulong)addr, *sizep);
 		} else {
-			debug("%p\n", (void *)addr);
+			debug("%08lx\n", (ulong)addr);
 		}
 		return addr;
 	}
@@ -617,7 +617,7 @@  int fdtdec_decode_region(const void *blob, int node,
 	if (!cell || (len != sizeof(fdt_addr_t) * 2))
 		return -1;
 
-	*ptrp = (void *)fdt_addr_to_cpu(*cell);
+	*ptrp = map_sysmem(fdt_addr_to_cpu(*cell), *size);
 	*size = fdt_size_to_cpu(cell[1]);
 	debug("%s: size=%zx\n", __func__, *size);
 	return 0;