gpiolib: of: Don't use GPIO chip fwnode in of_gpiochip_*()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 3 Jul 2023 14:23:06 +0000 (17:23 +0300)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 10 Jul 2023 09:25:55 +0000 (11:25 +0200)
GPIO library should rely only on the GPIO device's fwnode.
Hence, replace GPIO chip fwnode usage by respective OF node
of the GPIO device.

JFYI, this is partial revert of 8afe82550240 ("gpiolib: of:
Prepare of_gpiochip_add() / of_gpiochip_remove() for fwnode").

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: Benjamin Tissoires <bentiss@kernel.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpiolib-of.c

index 1436cdb..5fde5a3 100644 (file)
@@ -1078,16 +1078,16 @@ int of_gpiochip_add(struct gpio_chip *chip)
        if (ret)
                return ret;
 
-       fwnode_handle_get(chip->fwnode);
+       of_node_get(np);
 
        ret = of_gpiochip_scan_gpios(chip);
        if (ret)
-               fwnode_handle_put(chip->fwnode);
+               of_node_put(np);
 
        return ret;
 }
 
 void of_gpiochip_remove(struct gpio_chip *chip)
 {
-       fwnode_handle_put(chip->fwnode);
+       of_node_put(dev_of_node(&chip->gpiodev->dev));
 }