summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhang Zekun <zhangzekun11@huawei.com>2024-08-09 11:27:11 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-08-13 11:37:21 +0300
commit88177cd4537faf927fe994db99b62d75f73cb1fe (patch)
treec05d0d241692d7255d63883abc2f4f04696440f7
parent5cffefa1c1ede3e90a9b09f964bfd5c5e82a1041 (diff)
downloadlinux-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.c7
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);