resource_size_t can be 32bit or 64bit depending on the architecture. Add a define for it to be able to printf a resource_size_t correctly Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> --- commands/iomem.c | 3 ++- drivers/base/driver.c | 3 ++- include/linux/ioport.h | 6 ++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/commands/iomem.c b/commands/iomem.c index 96b03ba..70355fd 100644 --- a/commands/iomem.c +++ b/commands/iomem.c @@ -30,7 +30,8 @@ static void __print_resources(struct resource *res, int indent) for (i = 0; i < indent; i++) printf(" "); - printf("0x%08x - 0x%08x (size 0x%08x) %s\n", res->start, + printf(PRINTF_CONVERSION_RESOURCE " - " PRINTF_CONVERSION_RESOURCE + " (size " PRINTF_CONVERSION_RESOURCE ") %s\n", res->start, res->start + res->size - 1, res->size, res->name); diff --git a/drivers/base/driver.c b/drivers/base/driver.c index 547d684..3be4b99 100644 --- a/drivers/base/driver.c +++ b/drivers/base/driver.c @@ -388,7 +388,8 @@ static int do_devinfo(int argc, char *argv[]) printf("num : %d\n", i); if (res->name) printf("name : %s\n", res->name); - printf("start : 0x%08x\nsize : 0x%08x\n", + printf("start : " PRINTF_CONVERSION_RESOURCE "\nsize : " + PRINTF_CONVERSION_RESOURCE "\n", res->start, res->size); } diff --git a/include/linux/ioport.h b/include/linux/ioport.h index c837b53..3f95ddd 100644 --- a/include/linux/ioport.h +++ b/include/linux/ioport.h @@ -25,6 +25,12 @@ struct resource { struct list_head sibling; }; +#ifdef CONFIG_PHYS_ADDR_T_64BIT +#define PRINTF_CONVERSION_RESOURCE "0x%016llx" +#else +#define PRINTF_CONVERSION_RESOURCE "0x%08x" +#endif + /* * IO resources have these defined flags. */ -- 1.7.10 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox