device property: Don't check for NULL twice in the loops
authorAndy Shevchenko <andy.shevchenko@gmail.com>
Tue, 18 May 2021 06:48:43 +0000 (09:48 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 May 2021 13:48:12 +0000 (15:48 +0200)
In fwnode_get_next_available_child_node() we check next_child for NULL
twice. All the same in fwnode_get_next_parent_dev() we may avoid checking
fwnode for NULL twice.

Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Link: https://lore.kernel.org/r/20210518064843.3524015-1-andy.shevchenko@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/base/property.c

index 1421e9548857b34ee9f185e29875b22ab18abc7f..2ad605eb3c31315a6409370af9cf70bc09860735 100644 (file)
@@ -627,14 +627,15 @@ EXPORT_SYMBOL_GPL(fwnode_get_next_parent);
  */
 struct device *fwnode_get_next_parent_dev(struct fwnode_handle *fwnode)
 {
-       struct device *dev = NULL;
+       struct device *dev;
 
        fwnode_handle_get(fwnode);
        do {
                fwnode = fwnode_get_next_parent(fwnode);
-               if (fwnode)
-                       dev = get_dev_from_fwnode(fwnode);
-       } while (fwnode && !dev);
+               if (!fwnode)
+                       return NULL;
+               dev = get_dev_from_fwnode(fwnode);
+       } while (!dev);
        fwnode_handle_put(fwnode);
        return dev;
 }
@@ -742,10 +743,9 @@ fwnode_get_next_available_child_node(const struct fwnode_handle *fwnode,
 
        do {
                next_child = fwnode_get_next_child_node(fwnode, next_child);
-
-               if (!next_child || fwnode_device_is_available(next_child))
-                       break;
-       } while (next_child);
+               if (!next_child)
+                       return NULL;
+       } while (!fwnode_device_is_available(next_child));
 
        return next_child;
 }