[PATCH net-next v2 11/13] net: dsa: microchip: Use __free() to simplfy code
Jinjie Ruan
ruanjinjie at huawei.com
Tue Aug 27 20:23:41 PDT 2024
Avoids the need for manual cleanup of_node_put() by using __free().
Signed-off-by: Jinjie Ruan <ruanjinjie at huawei.com>
---
v2:
- Split into 2 patches.
---
drivers/net/dsa/microchip/ksz_common.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/microchip/ksz_common.c
index 86ed563938f6..8058a0b7c161 100644
--- a/drivers/net/dsa/microchip/ksz_common.c
+++ b/drivers/net/dsa/microchip/ksz_common.c
@@ -4595,7 +4595,6 @@ 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 *ports;
phy_interface_t interface;
unsigned int port_num;
int ret;
@@ -4677,7 +4676,8 @@ int ksz_switch_register(struct ksz_device *dev)
ret = of_get_phy_mode(dev->dev->of_node, &interface);
if (ret == 0)
dev->compat_interface = interface;
- ports = of_get_child_by_name(dev->dev->of_node, "ethernet-ports");
+ struct device_node *ports __free(device_node) =
+ of_get_child_by_name(dev->dev->of_node, "ethernet-ports");
if (!ports)
ports = of_get_child_by_name(dev->dev->of_node, "ports");
if (ports) {
@@ -4685,16 +4685,13 @@ int ksz_switch_register(struct ksz_device *dev)
if (of_property_read_u32(port, "reg",
&port_num))
continue;
- if (!(dev->port_mask & BIT(port_num))) {
- of_node_put(ports);
+ if (!(dev->port_mask & BIT(port_num)))
return -EINVAL;
- }
of_get_phy_mode(port,
&dev->ports[port_num].interface);
ksz_parse_rgmii_delay(dev, port_num, port);
}
- of_node_put(ports);
}
dev->synclko_125 = of_property_read_bool(dev->dev->of_node,
"microchip,synclko-125");
--
2.34.1
More information about the linux-arm-kernel
mailing list