pinctrl: bcm2835: Switch to use ->add_pin_ranges()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 13 Jan 2023 21:53:51 +0000 (23:53 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 26 Jan 2023 12:38:55 +0000 (13:38 +0100)
Yeah, while the ->add_pin_ranges() shouldn't be used by DT drivers,
this one requires it to support quite old firmware descriptions that
do not have gpio-ranges property.

The change allows to clean up GPIO library from OF specifics.
There is no functional change intended.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
Tested-by: Florian Fainelli <f.fainelli@gmail.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Acked-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/r/20230113215352.44272-4-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/bcm/pinctrl-bcm2835.c

index c7cdccd..8e2551a 100644 (file)
@@ -358,9 +358,9 @@ static int bcm2835_gpio_direction_output(struct gpio_chip *chip,
        return 0;
 }
 
-static int bcm2835_of_gpio_ranges_fallback(struct gpio_chip *gc,
-                                          struct device_node *np)
+static int bcm2835_add_pin_ranges_fallback(struct gpio_chip *gc)
 {
+       struct device_node *np = dev_of_node(gc->parent);
        struct pinctrl_dev *pctldev = of_pinctrl_get(np);
 
        if (!pctldev)
@@ -386,7 +386,7 @@ static const struct gpio_chip bcm2835_gpio_chip = {
        .base = -1,
        .ngpio = BCM2835_NUM_GPIOS,
        .can_sleep = false,
-       .of_gpio_ranges_fallback = bcm2835_of_gpio_ranges_fallback,
+       .add_pin_ranges = bcm2835_add_pin_ranges_fallback,
 };
 
 static const struct gpio_chip bcm2711_gpio_chip = {
@@ -403,7 +403,7 @@ static const struct gpio_chip bcm2711_gpio_chip = {
        .base = -1,
        .ngpio = BCM2711_NUM_GPIOS,
        .can_sleep = false,
-       .of_gpio_ranges_fallback = bcm2835_of_gpio_ranges_fallback,
+       .add_pin_ranges = bcm2835_add_pin_ranges_fallback,
 };
 
 static void bcm2835_gpio_irq_handle_bank(struct bcm2835_pinctrl *pc,