diff options
author | Jinjie Ruan <ruanjinjie@huawei.com> | 2024-08-30 05:13:24 +0200 |
---|---|---|
committer | Paolo Abeni <pabeni@redhat.com> | 2024-09-03 12:54:43 +0200 |
commit | f834d572b7e995fa443f802da0f19d9c1285f41b (patch) | |
tree | f7c454b62e46549510468773b6d8a3771f0597e8 /drivers/net/dsa | |
parent | net: mv643xx_eth: Simplify with scoped for each OF child loop (diff) | |
download | linux-f834d572b7e995fa443f802da0f19d9c1285f41b.tar.xz linux-f834d572b7e995fa443f802da0f19d9c1285f41b.zip |
net: dsa: microchip: Use scoped function to simplfy code
Avoids the need for manual cleanup of_node_put() in early exits
from the loop by using for_each_available_child_of_node_scoped().
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'drivers/net/dsa')
-rw-r--r-- | drivers/net/dsa/microchip/ksz_common.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/microchip/ksz_common.c index 6609bf271ad0..cd116de3ddb8 100644 --- a/drivers/net/dsa/microchip/ksz_common.c +++ b/drivers/net/dsa/microchip/ksz_common.c @@ -4717,7 +4717,7 @@ static int ksz_parse_drive_strength(struct ksz_device *dev) int ksz_switch_register(struct ksz_device *dev) { const struct ksz_chip_data *info; - struct device_node *port, *ports; + struct device_node *ports; phy_interface_t interface; unsigned int port_num; int ret; @@ -4803,12 +4803,11 @@ int ksz_switch_register(struct ksz_device *dev) if (!ports) ports = of_get_child_by_name(dev->dev->of_node, "ports"); if (ports) { - for_each_available_child_of_node(ports, port) { + for_each_available_child_of_node_scoped(ports, port) { if (of_property_read_u32(port, "reg", &port_num)) continue; if (!(dev->port_mask & BIT(port_num))) { - of_node_put(port); of_node_put(ports); return -EINVAL; } |