Fix up a compiler error on 64bit architectures where pointers and integers differ in size. Cc: Rafał Miłecki <rafal@xxxxxxxxxx> Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> --- ChangeLog v1->v2: - Make a proper change including cast type. --- drivers/pinctrl/bcm/pinctrl-ns.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/pinctrl/bcm/pinctrl-ns.c b/drivers/pinctrl/bcm/pinctrl-ns.c index aedbb2813c50..925823a1e33f 100644 --- a/drivers/pinctrl/bcm/pinctrl-ns.c +++ b/drivers/pinctrl/bcm/pinctrl-ns.c @@ -20,7 +20,7 @@ struct ns_pinctrl { struct device *dev; - unsigned int chipset_flag; + uintptr_t chipset_flag; struct pinctrl_dev *pctldev; void __iomem *base; @@ -285,7 +285,7 @@ static int ns_pinctrl_probe(struct platform_device *pdev) of_id = of_match_device(ns_pinctrl_of_match_table, dev); if (!of_id) return -EINVAL; - ns_pinctrl->chipset_flag = (unsigned int)of_id->data; + ns_pinctrl->chipset_flag = (uintptr_t)of_id->data; res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "cru_gpio_control"); @@ -307,7 +307,7 @@ static int ns_pinctrl_probe(struct platform_device *pdev) for (i = 0, pin = (struct pinctrl_pin_desc *)&pctldesc->pins[0]; i < ARRAY_SIZE(ns_pinctrl_pins); i++) { const struct pinctrl_pin_desc *src = &ns_pinctrl_pins[i]; - unsigned int chipsets = (unsigned int)src->drv_data; + uintptr_t chipsets = (uintptr_t)src->drv_data; if (chipsets & ns_pinctrl->chipset_flag) { memcpy(pin++, src, sizeof(*src)); -- 2.17.1