pinctrl: ingenic: use new pinctrl GPIO helpers
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Tue, 3 Oct 2023 08:51:02 +0000 (10:51 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Sat, 4 Nov 2023 09:23:20 +0000 (10:23 +0100)
Replace the pinctrl helpers taking the global GPIO number as argument
with the improved variants that instead take a pointer to the GPIO chip
and the controller-relative offset.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-ingenic.c

index 2f220a47b749788b1cb3a0cb4a961652e761a0a2..5072fb9071939f1a7a717aa1961aa0ffd5f1c764 100644 (file)
@@ -133,6 +133,8 @@ struct ingenic_pinctrl {
        struct pinctrl_pin_desc *pdesc;
 
        const struct ingenic_chip_info *info;
+
+       struct gpio_chip *gc;
 };
 
 struct ingenic_gpio_chip {
@@ -3561,14 +3563,14 @@ static int ingenic_gpio_get(struct gpio_chip *gc, unsigned int offset)
 static int ingenic_gpio_direction_input(struct gpio_chip *gc,
                unsigned int offset)
 {
-       return pinctrl_gpio_direction_input(gc->base + offset);
+       return pinctrl_gpio_direction_input_new(gc, offset);
 }
 
 static int ingenic_gpio_direction_output(struct gpio_chip *gc,
                unsigned int offset, int value)
 {
        ingenic_gpio_set(gc, offset, value);
-       return pinctrl_gpio_direction_output(gc->base + offset);
+       return pinctrl_gpio_direction_output_new(gc, offset);
 }
 
 static inline void ingenic_config_pin(struct ingenic_pinctrl *jzpc,
@@ -4052,7 +4054,8 @@ static int ingenic_pinconf_set(struct pinctrl_dev *pctldev, unsigned int pin,
                        break;
 
                case PIN_CONFIG_OUTPUT:
-                       ret = pinctrl_gpio_direction_output(pin);
+                       ret = pinctrl_gpio_direction_output_new(jzpc->gc,
+                                                       pin - jzpc->gc->base);
                        if (ret)
                                return ret;
 
@@ -4172,6 +4175,8 @@ static int __init ingenic_gpio_probe(struct ingenic_pinctrl *jzpc,
        if (!jzgc)
                return -ENOMEM;
 
+       jzpc->gc = &jzgc->gc;
+
        jzgc->jzpc = jzpc;
        jzgc->reg_base = bank * jzpc->info->reg_offset;