diff options
author | Zhang Zekun <zhangzekun11@huawei.com> | 2024-08-09 11:27:11 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-08-13 11:37:21 +0300 |
commit | 88177cd4537faf927fe994db99b62d75f73cb1fe (patch) | |
tree | c05d0d241692d7255d63883abc2f4f04696440f7 | |
parent | 5cffefa1c1ede3e90a9b09f964bfd5c5e82a1041 (diff) | |
download | linux-88177cd4537faf927fe994db99b62d75f73cb1fe.tar.xz |
usb: common: Use helper function for_each_node_with_property()
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>
-rw-r--r-- | drivers/usb/common/common.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/usb/common/common.c b/drivers/usb/common/common.c index 59b55d6cf490..84ec00b7966c 100644 --- a/drivers/usb/common/common.c +++ b/drivers/usb/common/common.c @@ -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); |