Following build warning appears when pinctrl-single is built for ARM64:

In file included from drivers/pinctrl/pinctrl-single.c:10:0:
drivers/pinctrl/pinctrl-single.c: In function ‘single_configure_pins’:
./arch/arm/include/asm/io.h:43:28: warning: cast to pointer from integer of 
different size [-Wint-to-pointer-cast]
 #define __arch_getw(a)   (*(volatile unsigned short *)(a))

Fix this by using phys_addr_t for variable reg instead of u32

Signed-off-by: Lokesh Vutla <lokeshvu...@ti.com>
---
 drivers/pinctrl/pinctrl-single.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c
index 296eb63cc4..d80c6eda70 100644
--- a/drivers/pinctrl/pinctrl-single.c
+++ b/drivers/pinctrl/pinctrl-single.c
@@ -43,13 +43,13 @@ static int single_configure_pins(struct udevice *dev,
 {
        struct single_pdata *pdata = dev->platdata;
        int count = size / sizeof(struct single_fdt_pin_cfg);
-       int n, reg;
+       phys_addr_t n, reg;
        u32 val;
 
        for (n = 0; n < count; n++, pins++) {
                reg = fdt32_to_cpu(pins->reg);
                if ((reg < 0) || (reg > pdata->offset)) {
-                       dev_dbg(dev, "  invalid register offset 0x%08x\n", reg);
+                       dev_dbg(dev, "  invalid register offset 0x%pa\n", &reg);
                        continue;
                }
                reg += pdata->base;
@@ -66,7 +66,7 @@ static int single_configure_pins(struct udevice *dev,
                                 pdata->width);
                        continue;
                }
-               dev_dbg(dev, "  reg/val 0x%08x/0x%08x\n",reg, val);
+               dev_dbg(dev, "  reg/val 0x%pa/0x%08x\n", &reg, val);
        }
        return 0;
 }
-- 
2.18.0

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to