[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250201162135.46443-1-biju.das.jz@bp.renesas.com>
Date: Sat, 1 Feb 2025 16:21:32 +0000
From: Biju Das <biju.das.jz@...renesas.com>
To: Felix Fietkau <nbd@....name>,
Sean Wang <sean.wang@...iatek.com>,
Lorenzo Bianconi <lorenzo@...nel.org>,
Andrew Lunn <andrew+netdev@...n.ch>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Matthias Brugger <matthias.bgg@...il.com>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>
Cc: Biju Das <biju.das.jz@...renesas.com>,
netdev@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
linux-mediatek@...ts.infradead.org,
Geert Uytterhoeven <geert+renesas@...der.be>,
Biju Das <biju.das.au@...il.com>
Subject: [PATCH] net: ethernet: mtk-star-emac: Use of_get_available_child_by_name()
Use the helper of_get_available_child_by_name() to simplify
mtk_star_mdio_init().
Signed-off-by: Biju Das <biju.das.jz@...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
Powered by blists - more mailing lists