[PATCH] net: ethernet: mtk-star-emac: Use of_get_available_child_by_name()
Biju Das
biju.das.jz at bp.renesas.com
Sat Feb 1 08:21:32 PST 2025
Use the helper of_get_available_child_by_name() to simplify
mtk_star_mdio_init().
Signed-off-by: Biju Das <biju.das.jz at bp.renesas.com>
---
This patch is only compile tested and depend upon[1]
[1] https://lore.kernel.org/all/20250201093126.7322-1-biju.das.jz@bp.renesas.com/
---
drivers/net/ethernet/mediatek/mtk_star_emac.c | 24 ++++---------------
1 file changed, 5 insertions(+), 19 deletions(-)
diff --git a/drivers/net/ethernet/mediatek/mtk_star_emac.c b/drivers/net/ethernet/mediatek/mtk_star_emac.c
index 25989c79c92e..beb0500fe9d5 100644
--- a/drivers/net/ethernet/mediatek/mtk_star_emac.c
+++ b/drivers/net/ethernet/mediatek/mtk_star_emac.c
@@ -1422,25 +1422,15 @@ static int mtk_star_mdio_init(struct net_device *ndev)
{
struct mtk_star_priv *priv = netdev_priv(ndev);
struct device *dev = mtk_star_get_dev(priv);
- struct device_node *of_node, *mdio_node;
- int ret;
-
- of_node = dev->of_node;
+ struct device_node *mdio_node _free(device_node) =
+ of_get_available_child_by_name(dev->of_node, "mdio");
- mdio_node = of_get_child_by_name(of_node, "mdio");
if (!mdio_node)
return -ENODEV;
- if (!of_device_is_available(mdio_node)) {
- ret = -ENODEV;
- goto out_put_node;
- }
-
priv->mii = devm_mdiobus_alloc(dev);
- if (!priv->mii) {
- ret = -ENOMEM;
- goto out_put_node;
- }
+ if (!priv->mii)
+ return -ENOMEM;
snprintf(priv->mii->id, MII_BUS_ID_SIZE, "%s", dev_name(dev));
priv->mii->name = "mtk-mac-mdio";
@@ -1449,11 +1439,7 @@ static int mtk_star_mdio_init(struct net_device *ndev)
priv->mii->write = mtk_star_mdio_write;
priv->mii->priv = priv;
- ret = devm_of_mdiobus_register(dev, priv->mii, mdio_node);
-
-out_put_node:
- of_node_put(mdio_node);
- return ret;
+ return devm_of_mdiobus_register(dev, priv->mii, mdio_node);
}
static __maybe_unused int mtk_star_suspend(struct device *dev)
--
2.43.0
More information about the linux-arm-kernel
mailing list