]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
net: dsa: microchip: Use scoped function to simplfy code
authorJinjie Ruan <ruanjinjie@huawei.com>
Fri, 30 Aug 2024 03:13:24 +0000 (11:13 +0800)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 3 Sep 2024 10:54:43 +0000 (12:54 +0200)
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>
drivers/net/dsa/microchip/ksz_common.c

index 6609bf271ad002fd92ed688507f001987b3fdbc1..cd116de3ddb85937c27eba7ffd3cc25119821854 100644 (file)
@@ -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;
                                }