From 9586b75358ef816b3c52e1ea317301a7b00f195a Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Wed, 22 Apr 2026 23:37:22 -0700 Subject: [PATCH] ar8216: use devm for mdiobus consistently devm_mdiobus_alloc is already used. Be consistent and use devm_of_mdiobus_register. Also add a missing of_node_put for the mdio node. Signed-off-by: Rosen Penev Link: https://github.com/openwrt/openwrt/pull/22998 Signed-off-by: Hauke Mehrtens --- target/linux/generic/files/drivers/net/phy/ar8216.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/target/linux/generic/files/drivers/net/phy/ar8216.c b/target/linux/generic/files/drivers/net/phy/ar8216.c index c1988defcae..71bf0bf04d2 100644 --- a/target/linux/generic/files/drivers/net/phy/ar8216.c +++ b/target/linux/generic/files/drivers/net/phy/ar8216.c @@ -2793,7 +2793,8 @@ ar8xxx_mdiodev_probe(struct mdio_device *mdiodev) snprintf(priv->sw_mii_bus->id, MII_BUS_ID_SIZE, "%s", dev_name(&mdiodev->dev)); mdio_node = of_get_child_by_name(priv->pdev->of_node, "mdio-bus"); - ret = of_mdiobus_register(priv->sw_mii_bus, mdio_node); + ret = devm_of_mdiobus_register(priv->pdev, priv->sw_mii_bus, mdio_node); + of_node_put(mdio_node); if (ret) goto free_priv; } @@ -2859,8 +2860,6 @@ ar8xxx_mdiodev_remove(struct mdio_device *mdiodev) unregister_switch(&priv->dev); ar8xxx_mib_stop(priv); - if(priv->sw_mii_bus) - mdiobus_unregister(priv->sw_mii_bus); ar8xxx_free(priv); }