bmips: backport pinctrl fixes
[openwrt/staging/noltari.git] / target / linux / bmips / patches-5.10 / 074-v5.13-pinctrl-bcm-bcm6362-fix-warning.patch
1 From 1978d88cdc8eb0986d36cac0e9541220fa71d87d Mon Sep 17 00:00:00 2001
2 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
3 Date: Tue, 30 Mar 2021 12:32:25 +0200
4 Subject: [PATCH] pinctrl: bcm: bcm6362: fix warning
5 MIME-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8
9 The current implementation of bcm6362_set_gpio() produces the following
10 warning on x86_64:
11 drivers/pinctrl/bcm/pinctrl-bcm6362.c: In function 'bcm6362_set_gpio':
12 drivers/pinctrl/bcm/pinctrl-bcm6362.c:503:8: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
13 503 | (uint32_t) desc->drv_data, 0);
14 | ^
15
16 Modify the code to make it similar to bcm63268_set_gpio() in order to fix
17 the warning.
18
19 Fixes: 705791e23ecd ("pinctrl: add a pincontrol driver for BCM6362")
20 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
21 Link: https://lore.kernel.org/r/20210330103225.3949-1-noltari@gmail.com
22 Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
23 Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
24 ---
25 drivers/pinctrl/bcm/pinctrl-bcm6362.c | 6 +++---
26 1 file changed, 3 insertions(+), 3 deletions(-)
27
28 --- a/drivers/pinctrl/bcm/pinctrl-bcm6362.c
29 +++ b/drivers/pinctrl/bcm/pinctrl-bcm6362.c
30 @@ -496,11 +496,11 @@ static int bcm6362_pinctrl_get_groups(st
31 static void bcm6362_set_gpio(struct bcm63xx_pinctrl *pc, unsigned pin)
32 {
33 const struct pinctrl_pin_desc *desc = &bcm6362_pins[pin];
34 + unsigned int basemode = (uintptr_t)desc->drv_data;
35 unsigned int mask = bcm63xx_bank_pin(pin);
36
37 - if (desc->drv_data)
38 - regmap_update_bits(pc->regs, BCM6362_BASEMODE_REG,
39 - (uint32_t) desc->drv_data, 0);
40 + if (basemode)
41 + regmap_update_bits(pc->regs, BCM6362_BASEMODE_REG, basemode, 0);
42
43 if (pin < BCM63XX_BANK_GPIOS) {
44 /* base mode 0 => gpio 1 => mux function */