From: Bin Meng <bin.m...@windriver.com>

dev_read_addr() returns fdt_addr_t which is now a 64-bit address.
In a 32-bit build, this causes the following warning seen when
building serial_sifive.c:

  warning: cast to pointer from integer of different size 
[-Wint-to-pointer-cast]

Cast the return value with uintptr_t.

Signed-off-by: Bin Meng <bin.m...@windriver.com>
---

(no changes since v1)

 drivers/serial/serial_sifive.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/serial/serial_sifive.c b/drivers/serial/serial_sifive.c
index d26fe7e770..97bf20c967 100644
--- a/drivers/serial/serial_sifive.c
+++ b/drivers/serial/serial_sifive.c
@@ -178,7 +178,7 @@ static int sifive_serial_of_to_plat(struct udevice *dev)
 {
        struct sifive_uart_plat *plat = dev_get_plat(dev);
 
-       plat->regs = (struct uart_sifive *)dev_read_addr(dev);
+       plat->regs = (struct uart_sifive *)(uintptr_t)dev_read_addr(dev);
        if (IS_ERR(plat->regs))
                return PTR_ERR(plat->regs);
 
-- 
2.25.1

Reply via email to