]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
usb: common: Use helper function for_each_node_with_property()
authorZhang Zekun <zhangzekun11@huawei.com>
Fri, 9 Aug 2024 08:27:11 +0000 (16:27 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 13 Aug 2024 08:37:21 +0000 (10:37 +0200)
for_each_node_with_property() can iterate through the device_node
with a given property name, and we don't need to find the device_node
in the while loop. Since of_device_is_available() will return false if
the "controller" is NULL and break the while loop, there is no functional
change with such conversion.

Signed-off-by: Zhang Zekun <zhangzekun11@huawei.com>
Link: https://lore.kernel.org/r/20240809082711.99085-1-zhangzekun11@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/common/common.c

index 59b55d6cf49053f9a7c1097abffea70c7fabb983..84ec00b7966c70146fc8bf75e1f99b04dd69d4ad 100644 (file)
@@ -276,14 +276,13 @@ EXPORT_SYMBOL_GPL(usb_decode_interval);
  */
 enum usb_dr_mode of_usb_get_dr_mode_by_phy(struct device_node *np, int arg0)
 {
-       struct device_node *controller = NULL;
+       struct device_node *controller;
        struct of_phandle_args args;
        const char *dr_mode;
        int index;
        int err;
 
-       do {
-               controller = of_find_node_with_property(controller, "phys");
+       for_each_node_with_property(controller, "phys") {
                if (!of_device_is_available(controller))
                        continue;
                index = 0;
@@ -306,7 +305,7 @@ enum usb_dr_mode of_usb_get_dr_mode_by_phy(struct device_node *np, int arg0)
                                goto finish;
                        index++;
                } while (args.np);
-       } while (controller);
+       }
 
 finish:
        err = of_property_read_string(controller, "dr_mode", &dr_mode);