gpiolib: of: make fwnode take precedence in struct gpio_chip
authorBartosz Golaszewski <brgl@bgdev.pl>
Tue, 7 Dec 2021 09:34:08 +0000 (10:34 +0100)
committerBartosz Golaszewski <brgl@bgdev.pl>
Fri, 17 Dec 2021 11:26:13 +0000 (12:26 +0100)
If the driver sets the fwnode in struct gpio_chip, let it take
precedence over the of_node. This only affects OF-based systems,
ACPI needs to be converted separately.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpiolib-of.c

index 0ad288ab6262ddb57cd32fabadcde88e1c8cd6b9..91dcf2c6cdd848434df35fdebf21677903b8ca12 100644 (file)
@@ -1046,6 +1046,9 @@ void of_gpio_dev_init(struct gpio_chip *gc, struct gpio_device *gdev)
        if (gc->parent)
                gdev->dev.of_node = gc->parent->of_node;
 
+       if (gc->fwnode)
+               gc->of_node = to_of_node(gc->fwnode);
+
        /* If the gpiochip has an assigned OF node this takes precedence */
        if (gc->of_node)
                gdev->dev.of_node = gc->of_node;