RE: [PATCH] net: ethernet: actions: Use of_get_available_child_by_name()
From: Biju Das <biju.das.jz@bp.renesas.com>
Date: 2025-02-07 17:54:26
Also in:
linux-arm-kernel
Hi Manivannan Sadhasivam,
-----Original Message----- From: Manivannan Sadhasivam <redacted> Sent: 07 February 2025 17:40 Subject: Re: [PATCH] net: ethernet: actions: Use of_get_available_child_by_name() On Sat, Feb 01, 2025 at 05:15:18PM +0000, Biju Das wrote:quoted
Use the helper of_get_available_child_by_name() to simplify owl_emac_mdio_init(). Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>Acked-by: Manivannan Sadhasivam <redacted>
V2 version [1] dropping usage of _free in net is posted and is applied in net-next [1] https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=76c82eb04332b0447b726a4a794e906669964008 Cheers, Biju
- Maniquoted
--- This patch is only compile tested and depend upon[1] [1] https://lore.kernel.org/all/20250201093126.7322-1-biju.das.jz@bp.renes as.com/ --- drivers/net/ethernet/actions/owl-emac.c | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-)diff --git a/drivers/net/ethernet/actions/owl-emac.cb/drivers/net/ethernet/actions/owl-emac.c index 115f48b3342c..3457ce041335 100644--- a/drivers/net/ethernet/actions/owl-emac.c +++ b/drivers/net/ethernet/actions/owl-emac.c@@ -1323,22 +1323,15 @@ static int owl_emac_mdio_init(struct net_device *netdev) struct owl_emac_priv *priv = netdev_priv(netdev); struct device *dev = owl_emac_get_dev(priv); struct device_node *mdio_node; - int ret; + 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(dev->of_node, "mdio"); if (!mdio_node) return -ENODEV; - if (!of_device_is_available(mdio_node)) { - ret = -ENODEV; - goto err_put_node; - } - priv->mii = devm_mdiobus_alloc(dev); - if (!priv->mii) { - ret = -ENOMEM; - goto err_put_node; - } + if (!priv->mii) + return -ENOMEM; snprintf(priv->mii->id, MII_BUS_ID_SIZE, "%s", dev_name(dev)); priv->mii->name = "owl-emac-mdio";@@ -1348,11 +1341,7 @@ static int owl_emac_mdio_init(struct net_device *netdev) priv->mii->phy_mask = ~0; /* Mask out all PHYs from auto probing. */ priv->mii->priv = priv; - ret = devm_of_mdiobus_register(dev, priv->mii, mdio_node); - -err_put_node: - of_node_put(mdio_node); - return ret; + return devm_of_mdiobus_register(dev, priv->mii, mdio_node); } static int owl_emac_phy_init(struct net_device *netdev) --2.43.0-- மணிவண்ணன் சதாசிவம்