[PATCH 4/7] fdtdec: Cast prior_stage_fdt_address with uintptr_t

Bin Meng bmeng.cn at gmail.com
Thu Jan 21 16:00:12 CET 2021


From: Bin Meng <bin.meng at windriver.com>

At present prior_stage_fdt_address is declared as phys_addr_t. On
a 32-bit platform where phys_addr_t can be 64-bit, assigning its
value to gd->fdt_blob which is a pointer, can cause warnings.

Cast it to uintptr_t before the assignment.

Signed-off-by: Bin Meng <bin.meng at windriver.com>
---

 lib/fdtdec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/fdtdec.c b/lib/fdtdec.c
index 0ab7105fef..4abc7e00fd 100644
--- a/lib/fdtdec.c
+++ b/lib/fdtdec.c
@@ -1571,7 +1571,7 @@ int fdtdec_setup(void)
 		return -1;
 	}
 # elif defined(CONFIG_OF_PRIOR_STAGE)
-	gd->fdt_blob = (void *)prior_stage_fdt_address;
+	gd->fdt_blob = (void *)(uintptr_t)prior_stage_fdt_address;
 # endif
 # ifndef CONFIG_SPL_BUILD
 	/* Allow the early environment to override the fdt address */
-- 
2.25.1



More information about the U-Boot mailing list