Message ID | 20240104140037.374166-11-vladimir.oltean@nxp.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 45f62ca5cc4861d084744e79642a4969848593eb |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | ds->user_mii_bus cleanup (part 1) | expand |
On Thu, Jan 04, 2024 at 04:00:37PM +0200, Vladimir Oltean wrote: > There used to be a of_node_put(priv->master_mii_dn) call in > bcm_sf2_mdio_unregister(), which was accidentally deleted in commit > 6ca80638b90c ("net: dsa: Use conduit and user terms"). > > But it's not needed - we don't need to hold a reference on the > "brcm,unimac-mdio" OF node for that long, since we don't do anything > with it. We can release it as soon as we finish bcm_sf2_mdio_register(). > > Also reduce "if (err && dn)" to just "if (err)". We know "dn", aka the > former priv->master_mii_dn, is non-NULL. Otherwise, of_mdio_find_bus(dn) > would not have been able to find the bus behind "brcm,unimac-mdio". > > Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Alvin Šipraga <alsi@bang-olufsen.dk> > --- > drivers/net/dsa/bcm_sf2.c | 6 +++--- > drivers/net/dsa/bcm_sf2.h | 1 - > 2 files changed, 3 insertions(+), 4 deletions(-)
On 1/4/24 06:00, Vladimir Oltean wrote: > There used to be a of_node_put(priv->master_mii_dn) call in > bcm_sf2_mdio_unregister(), which was accidentally deleted in commit > 6ca80638b90c ("net: dsa: Use conduit and user terms"). > > But it's not needed - we don't need to hold a reference on the > "brcm,unimac-mdio" OF node for that long, since we don't do anything > with it. We can release it as soon as we finish bcm_sf2_mdio_register(). > > Also reduce "if (err && dn)" to just "if (err)". We know "dn", aka the > former priv->master_mii_dn, is non-NULL. Otherwise, of_mdio_find_bus(dn) > would not have been able to find the bus behind "brcm,unimac-mdio". > > Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com> Tested-by: Florian Fainelli <florian.fainelli@broadcom.com>
> There used to be a of_node_put(priv->master_mii_dn) call in > bcm_sf2_mdio_unregister(), which was accidentally deleted in commit > 6ca80638b90c ("net: dsa: Use conduit and user terms"). > > But it's not needed - we don't need to hold a reference on the > "brcm,unimac-mdio" OF node for that long, since we don't do anything > with it. We can release it as soon as we finish bcm_sf2_mdio_register(). > > Also reduce "if (err && dn)" to just "if (err)". We know "dn", aka the > former priv->master_mii_dn, is non-NULL. Otherwise, of_mdio_find_bus(dn) > would not have been able to find the bus behind "brcm,unimac-mdio". > > Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
diff --git a/drivers/net/dsa/bcm_sf2.c b/drivers/net/dsa/bcm_sf2.c index 19b325fa5a27..4a52ccbe393f 100644 --- a/drivers/net/dsa/bcm_sf2.c +++ b/drivers/net/dsa/bcm_sf2.c @@ -621,8 +621,6 @@ static int bcm_sf2_mdio_register(struct dsa_switch *ds) goto err_of_node_put; } - priv->master_mii_dn = dn; - priv->user_mii_bus = mdiobus_alloc(); if (!priv->user_mii_bus) { err = -ENOMEM; @@ -682,9 +680,11 @@ static int bcm_sf2_mdio_register(struct dsa_switch *ds) } err = mdiobus_register(priv->user_mii_bus); - if (err && dn) + if (err) goto err_free_user_mii_bus; + of_node_put(dn); + return 0; err_free_user_mii_bus: diff --git a/drivers/net/dsa/bcm_sf2.h b/drivers/net/dsa/bcm_sf2.h index 424f896b5a6f..f95f4880b69e 100644 --- a/drivers/net/dsa/bcm_sf2.h +++ b/drivers/net/dsa/bcm_sf2.h @@ -107,7 +107,6 @@ struct bcm_sf2_priv { /* Master and slave MDIO bus controller */ unsigned int indir_phy_mask; - struct device_node *master_mii_dn; struct mii_bus *user_mii_bus; struct mii_bus *master_mii_bus;
There used to be a of_node_put(priv->master_mii_dn) call in bcm_sf2_mdio_unregister(), which was accidentally deleted in commit 6ca80638b90c ("net: dsa: Use conduit and user terms"). But it's not needed - we don't need to hold a reference on the "brcm,unimac-mdio" OF node for that long, since we don't do anything with it. We can release it as soon as we finish bcm_sf2_mdio_register(). Also reduce "if (err && dn)" to just "if (err)". We know "dn", aka the former priv->master_mii_dn, is non-NULL. Otherwise, of_mdio_find_bus(dn) would not have been able to find the bus behind "brcm,unimac-mdio". Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> --- drivers/net/dsa/bcm_sf2.c | 6 +++--- drivers/net/dsa/bcm_sf2.h | 1 - 2 files changed, 3 insertions(+), 4 deletions(-)