gpio: gpiolib: Simplify gpiochip_add_data_with_key() fwnode
authorLinus Walleij <linus.walleij@linaro.org>
Tue, 11 Apr 2023 08:28:06 +0000 (10:28 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Tue, 11 Apr 2023 19:13:34 +0000 (21:13 +0200)
The code defaulting to the parents fwnode if no fwnode was assigned
is unnecessarily convoluted, probably due to refactoring. Simplify
it and make it more human-readable.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Anders Roxell <anders.roxell@linaro.org>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpiolib.c

index 88dcf40..04fb05d 100644 (file)
@@ -702,7 +702,6 @@ int gpiochip_add_data_with_key(struct gpio_chip *gc, void *data,
                               struct lock_class_key *lock_key,
                               struct lock_class_key *request_key)
 {
-       struct fwnode_handle *fwnode = NULL;
        struct gpio_device *gdev;
        unsigned long flags;
        unsigned int i;
@@ -710,12 +709,12 @@ int gpiochip_add_data_with_key(struct gpio_chip *gc, void *data,
        int base = 0;
        int ret = 0;
 
-       /* If the calling driver did not initialize firmware node, do it here */
-       if (gc->fwnode)
-               fwnode = gc->fwnode;
-       else if (gc->parent)
-               fwnode = dev_fwnode(gc->parent);
-       gc->fwnode = fwnode;
+       /*
+        * If the calling driver did not initialize firmware node, do it here
+        * using the parent device, if any.
+        */
+       if (!gc->fwnode && gc->parent)
+               gc->fwnode = dev_fwnode(gc->parent);
 
        /*
         * First: allocate and populate the internal stat container, and