Re: [PATCH net-next v2 2/2] drivers: net: Remove device_node checks with of_mdiobus_register()
Hello! On 05/16/2018 02:56 AM, Florian Fainelli wrote: > A number of drivers have the following pattern: > > if (np) > of_mdiobus_register() > else > mdiobus_register() > > which the implementation of of_mdiobus_register() now takes care of. > Remove that pattern in drivers that strictly adhere to it. > > Signed-off-by: Florian Fainelli[...] > diff --git a/drivers/net/dsa/bcm_sf2.c b/drivers/net/dsa/bcm_sf2.c > index ac621f44237a..02e8982519ce 100644 > --- a/drivers/net/dsa/bcm_sf2.c > +++ b/drivers/net/dsa/bcm_sf2.c > @@ -450,12 +450,8 @@ static int bcm_sf2_mdio_register(struct dsa_switch *ds) > priv->slave_mii_bus->parent = ds->dev->parent; > priv->slave_mii_bus->phy_mask = ~priv->indir_phy_mask; > > - if (dn) > - err = of_mdiobus_register(priv->slave_mii_bus, dn); > - else > - err = mdiobus_register(priv->slave_mii_bus); > - > - if (err) > + err = of_mdiobus_register(priv->slave_mii_bus, dn); > + if (err && dn) of_node_put() checks for NULL. > of_node_put(dn); > > return err; [...] > diff --git a/drivers/net/ethernet/freescale/fec_main.c > b/drivers/net/ethernet/freescale/fec_main.c > index d4604bc8eb5b..f3e43db0d6cb 100644 > --- a/drivers/net/ethernet/freescale/fec_main.c > +++ b/drivers/net/ethernet/freescale/fec_main.c > @@ -2052,13 +2052,9 @@ static int fec_enet_mii_init(struct platform_device > *pdev) > fep->mii_bus->parent = >dev; > > node = of_get_child_by_name(pdev->dev.of_node, "mdio"); > - if (node) { > - err = of_mdiobus_register(fep->mii_bus, node); > + err = of_mdiobus_register(fep->mii_bus, node); > + if (node) > of_node_put(node); Same comment here. [...] > diff --git a/drivers/net/ethernet/renesas/sh_eth.c > b/drivers/net/ethernet/renesas/sh_eth.c > index 5970d9e5ddf1..8dd41e08a6c6 100644 > --- a/drivers/net/ethernet/renesas/sh_eth.c > +++ b/drivers/net/ethernet/renesas/sh_eth.c > @@ -3025,15 +3025,10 @@ static int sh_mdio_init(struct sh_eth_private *mdp, >pdev->name, pdev->id); > > /* register MDIO bus */ > - if (dev->of_node) { > - ret = of_mdiobus_register(mdp->mii_bus, dev->of_node); > - } else { > - if (pd->phy_irq > 0) > - mdp->mii_bus->irq[pd->phy] = pd->phy_irq; > - > - ret = mdiobus_register(mdp->mii_bus); > - } > + if (pd->phy_irq > 0) > + mdp->mii_bus->irq[pd->phy] = pd->phy_irq; > > + ret = of_mdiobus_register(mdp->mii_bus, dev->of_node); > if (ret) > goto out_free_bus; > This part is: Acked-by: Sergei Shtylyov [...] > diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c > index 91761436709a..8dff87ec6d99 100644 > --- a/drivers/net/usb/lan78xx.c > +++ b/drivers/net/usb/lan78xx.c > @@ -1843,12 +1843,9 @@ static int lan78xx_mdio_init(struct lan78xx_net *dev) > } > > node = of_get_child_by_name(dev->udev->dev.of_node, "mdio"); > - if (node) { > - ret = of_mdiobus_register(dev->mdiobus, node); > + ret = of_mdiobus_register(dev->mdiobus, node); > + if (node) > of_node_put(node); of_node_put() checks for NULL, again... MBR, Sergei
Re: [PATCH net-next v2 2/2] drivers: net: Remove device_node checks with of_mdiobus_register()
On 16-05-2018 00:56, Florian Fainelli wrote: > A number of drivers have the following pattern: > > if (np) > of_mdiobus_register() > else > mdiobus_register() > > which the implementation of of_mdiobus_register() now takes care of. > Remove that pattern in drivers that strictly adhere to it. > > Signed-off-by: Florian Fainelli> --- > drivers/net/dsa/bcm_sf2.c | 8 ++-- > drivers/net/dsa/mv88e6xxx/chip.c | 5 + > drivers/net/ethernet/cadence/macb_main.c | 12 +++- > drivers/net/ethernet/freescale/fec_main.c | 8 ++-- > drivers/net/ethernet/marvell/mvmdio.c | 5 + > drivers/net/ethernet/renesas/sh_eth.c | 11 +++ > drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c | 5 + For stmmac: Reviewed-by: Jose Abreu Thanks and Best Regards, Jose Miguel Abreu > drivers/net/ethernet/ti/davinci_mdio.c| 8 +++- > drivers/net/phy/mdio-gpio.c | 6 +- > drivers/net/phy/mdio-mscc-miim.c | 6 +- > drivers/net/usb/lan78xx.c | 7 ++- > 11 files changed, 20 insertions(+), 61 deletions(-) >
Re: [PATCH net-next v2 2/2] drivers: net: Remove device_node checks with of_mdiobus_register()
Hi Florian, On Tue, May 15, 2018 at 04:56:19PM -0700, Florian Fainelli wrote: > A number of drivers have the following pattern: > > if (np) > of_mdiobus_register() > else > mdiobus_register() > > which the implementation of of_mdiobus_register() now takes care of. > Remove that pattern in drivers that strictly adhere to it. > > Signed-off-by: Florian Fainelli> --- > drivers/net/dsa/bcm_sf2.c | 8 ++-- > drivers/net/dsa/mv88e6xxx/chip.c | 5 + > drivers/net/ethernet/cadence/macb_main.c | 12 +++- > drivers/net/ethernet/freescale/fec_main.c | 8 ++-- > drivers/net/ethernet/marvell/mvmdio.c | 5 + For mvmdio, Reviewed-by: Antoine Tenart Thanks! Antoine > drivers/net/ethernet/renesas/sh_eth.c | 11 +++ > drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c | 5 + > drivers/net/ethernet/ti/davinci_mdio.c| 8 +++- > drivers/net/phy/mdio-gpio.c | 6 +- > drivers/net/phy/mdio-mscc-miim.c | 6 +- > drivers/net/usb/lan78xx.c | 7 ++- > 11 files changed, 20 insertions(+), 61 deletions(-) > > diff --git a/drivers/net/dsa/bcm_sf2.c b/drivers/net/dsa/bcm_sf2.c > index ac621f44237a..02e8982519ce 100644 > --- a/drivers/net/dsa/bcm_sf2.c > +++ b/drivers/net/dsa/bcm_sf2.c > @@ -450,12 +450,8 @@ static int bcm_sf2_mdio_register(struct dsa_switch *ds) > priv->slave_mii_bus->parent = ds->dev->parent; > priv->slave_mii_bus->phy_mask = ~priv->indir_phy_mask; > > - if (dn) > - err = of_mdiobus_register(priv->slave_mii_bus, dn); > - else > - err = mdiobus_register(priv->slave_mii_bus); > - > - if (err) > + err = of_mdiobus_register(priv->slave_mii_bus, dn); > + if (err && dn) > of_node_put(dn); > > return err; > diff --git a/drivers/net/dsa/mv88e6xxx/chip.c > b/drivers/net/dsa/mv88e6xxx/chip.c > index b23c11d9f4b2..2bb3f03ee1cb 100644 > --- a/drivers/net/dsa/mv88e6xxx/chip.c > +++ b/drivers/net/dsa/mv88e6xxx/chip.c > @@ -2454,10 +2454,7 @@ static int mv88e6xxx_mdio_register(struct > mv88e6xxx_chip *chip, > return err; > } > > - if (np) > - err = of_mdiobus_register(bus, np); > - else > - err = mdiobus_register(bus); > + err = of_mdiobus_register(bus, np); > if (err) { > dev_err(chip->dev, "Cannot register MDIO bus (%d)\n", err); > mv88e6xxx_g2_irq_mdio_free(chip, bus); > diff --git a/drivers/net/ethernet/cadence/macb_main.c > b/drivers/net/ethernet/cadence/macb_main.c > index b4c9268100bb..3e93df5d4e3b 100644 > --- a/drivers/net/ethernet/cadence/macb_main.c > +++ b/drivers/net/ethernet/cadence/macb_main.c > @@ -591,16 +591,10 @@ static int macb_mii_init(struct macb *bp) > dev_set_drvdata(>dev->dev, bp->mii_bus); > > np = bp->pdev->dev.of_node; > + if (pdata) > + bp->mii_bus->phy_mask = pdata->phy_mask; > > - if (np) { > - err = of_mdiobus_register(bp->mii_bus, np); > - } else { > - if (pdata) > - bp->mii_bus->phy_mask = pdata->phy_mask; > - > - err = mdiobus_register(bp->mii_bus); > - } > - > + err = of_mdiobus_register(bp->mii_bus, np); > if (err) > goto err_out_free_mdiobus; > > diff --git a/drivers/net/ethernet/freescale/fec_main.c > b/drivers/net/ethernet/freescale/fec_main.c > index d4604bc8eb5b..f3e43db0d6cb 100644 > --- a/drivers/net/ethernet/freescale/fec_main.c > +++ b/drivers/net/ethernet/freescale/fec_main.c > @@ -2052,13 +2052,9 @@ static int fec_enet_mii_init(struct platform_device > *pdev) > fep->mii_bus->parent = >dev; > > node = of_get_child_by_name(pdev->dev.of_node, "mdio"); > - if (node) { > - err = of_mdiobus_register(fep->mii_bus, node); > + err = of_mdiobus_register(fep->mii_bus, node); > + if (node) > of_node_put(node); > - } else { > - err = mdiobus_register(fep->mii_bus); > - } > - > if (err) > goto err_out_free_mdiobus; > > diff --git a/drivers/net/ethernet/marvell/mvmdio.c > b/drivers/net/ethernet/marvell/mvmdio.c > index 0495487f7b42..c5dac6bd2be4 100644 > --- a/drivers/net/ethernet/marvell/mvmdio.c > +++ b/drivers/net/ethernet/marvell/mvmdio.c > @@ -348,10 +348,7 @@ static int orion_mdio_probe(struct platform_device *pdev) > goto out_mdio; > } > > - if (pdev->dev.of_node) > - ret = of_mdiobus_register(bus, pdev->dev.of_node); > - else > - ret = mdiobus_register(bus); > + ret = of_mdiobus_register(bus, pdev->dev.of_node); > if (ret < 0) { > dev_err(>dev, "Cannot register MDIO bus (%d)\n", ret); > goto out_mdio; > diff --git
RE: [PATCH net-next v2 2/2] drivers: net: Remove device_node checks with of_mdiobus_register()
From: Florian FainelliSent: 2018年5月16日 7:56 > A number of drivers have the following pattern: > > if (np) > of_mdiobus_register() > else > mdiobus_register() > > which the implementation of of_mdiobus_register() now takes care of. > Remove that pattern in drivers that strictly adhere to it. > > Signed-off-by: Florian Fainelli For drivers/net/ethernet/freescale/fec_main.c: Reviewed-by: Fugang Duan > --- > drivers/net/dsa/bcm_sf2.c | 8 ++-- > drivers/net/dsa/mv88e6xxx/chip.c | 5 + > drivers/net/ethernet/cadence/macb_main.c | 12 +++- > drivers/net/ethernet/freescale/fec_main.c | 8 ++-- > drivers/net/ethernet/marvell/mvmdio.c | 5 + > drivers/net/ethernet/renesas/sh_eth.c | 11 +++ > drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c | 5 + > drivers/net/ethernet/ti/davinci_mdio.c| 8 +++- > drivers/net/phy/mdio-gpio.c | 6 +- > drivers/net/phy/mdio-mscc-miim.c | 6 +- > drivers/net/usb/lan78xx.c | 7 ++- > 11 files changed, 20 insertions(+), 61 deletions(-) > > diff --git a/drivers/net/dsa/bcm_sf2.c b/drivers/net/dsa/bcm_sf2.c index > ac621f44237a..02e8982519ce 100644 > --- a/drivers/net/dsa/bcm_sf2.c > +++ b/drivers/net/dsa/bcm_sf2.c > @@ -450,12 +450,8 @@ static int bcm_sf2_mdio_register(struct dsa_switch > *ds) > priv->slave_mii_bus->parent = ds->dev->parent; > priv->slave_mii_bus->phy_mask = ~priv->indir_phy_mask; > > - if (dn) > - err = of_mdiobus_register(priv->slave_mii_bus, dn); > - else > - err = mdiobus_register(priv->slave_mii_bus); > - > - if (err) > + err = of_mdiobus_register(priv->slave_mii_bus, dn); > + if (err && dn) > of_node_put(dn); > > return err; > diff --git a/drivers/net/dsa/mv88e6xxx/chip.c > b/drivers/net/dsa/mv88e6xxx/chip.c > index b23c11d9f4b2..2bb3f03ee1cb 100644 > --- a/drivers/net/dsa/mv88e6xxx/chip.c > +++ b/drivers/net/dsa/mv88e6xxx/chip.c > @@ -2454,10 +2454,7 @@ static int mv88e6xxx_mdio_register(struct > mv88e6xxx_chip *chip, > return err; > } > > - if (np) > - err = of_mdiobus_register(bus, np); > - else > - err = mdiobus_register(bus); > + err = of_mdiobus_register(bus, np); > if (err) { > dev_err(chip->dev, "Cannot register MDIO bus (%d)\n", err); > mv88e6xxx_g2_irq_mdio_free(chip, bus); diff --git > a/drivers/net/ethernet/cadence/macb_main.c > b/drivers/net/ethernet/cadence/macb_main.c > index b4c9268100bb..3e93df5d4e3b 100644 > --- a/drivers/net/ethernet/cadence/macb_main.c > +++ b/drivers/net/ethernet/cadence/macb_main.c > @@ -591,16 +591,10 @@ static int macb_mii_init(struct macb *bp) > dev_set_drvdata(>dev->dev, bp->mii_bus); > > np = bp->pdev->dev.of_node; > + if (pdata) > + bp->mii_bus->phy_mask = pdata->phy_mask; > > - if (np) { > - err = of_mdiobus_register(bp->mii_bus, np); > - } else { > - if (pdata) > - bp->mii_bus->phy_mask = pdata->phy_mask; > - > - err = mdiobus_register(bp->mii_bus); > - } > - > + err = of_mdiobus_register(bp->mii_bus, np); > if (err) > goto err_out_free_mdiobus; > > diff --git a/drivers/net/ethernet/freescale/fec_main.c > b/drivers/net/ethernet/freescale/fec_main.c > index d4604bc8eb5b..f3e43db0d6cb 100644 > --- a/drivers/net/ethernet/freescale/fec_main.c > +++ b/drivers/net/ethernet/freescale/fec_main.c > @@ -2052,13 +2052,9 @@ static int fec_enet_mii_init(struct platform_device > *pdev) > fep->mii_bus->parent = >dev; > > node = of_get_child_by_name(pdev->dev.of_node, "mdio"); > - if (node) { > - err = of_mdiobus_register(fep->mii_bus, node); > + err = of_mdiobus_register(fep->mii_bus, node); > + if (node) > of_node_put(node); > - } else { > - err = mdiobus_register(fep->mii_bus); > - } > - > if (err) > goto err_out_free_mdiobus; > > diff --git a/drivers/net/ethernet/marvell/mvmdio.c > b/drivers/net/ethernet/marvell/mvmdio.c > index 0495487f7b42..c5dac6bd2be4 100644 > --- a/drivers/net/ethernet/marvell/mvmdio.c > +++ b/drivers/net/ethernet/marvell/mvmdio.c > @@ -348,10 +348,7 @@ static int orion_mdio_probe(struct platform_device > *pdev) > goto out_mdio; > } > > - if (pdev->dev.of_node) > - ret = of_mdiobus_register(bus, pdev->dev.of_node); > - else > - ret = mdiobus_register(bus); > + ret = of_mdiobus_register(bus, pdev->dev.of_node); > if (ret < 0) { > dev_err(>dev, "Cannot register MDIO bus (%d)\n", ret); > goto out_mdio; > diff --git
Re: [PATCH net-next v2 2/2] drivers: net: Remove device_node checks with of_mdiobus_register()
On 05/15/2018 06:56 PM, Florian Fainelli wrote: A number of drivers have the following pattern: if (np) of_mdiobus_register() else mdiobus_register() which the implementation of of_mdiobus_register() now takes care of. Remove that pattern in drivers that strictly adhere to it. Signed-off-by: Florian Fainelli--- drivers/net/dsa/bcm_sf2.c | 8 ++-- drivers/net/dsa/mv88e6xxx/chip.c | 5 + drivers/net/ethernet/cadence/macb_main.c | 12 +++- drivers/net/ethernet/freescale/fec_main.c | 8 ++-- drivers/net/ethernet/marvell/mvmdio.c | 5 + drivers/net/ethernet/renesas/sh_eth.c | 11 +++ drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c | 5 + drivers/net/ethernet/ti/davinci_mdio.c| 8 +++- for drivers/net/ethernet/ti/davinci_mdio.c: Reviewed-by: Grygorii Strashko drivers/net/phy/mdio-gpio.c | 6 +- drivers/net/phy/mdio-mscc-miim.c | 6 +- drivers/net/usb/lan78xx.c | 7 ++- 11 files changed, 20 insertions(+), 61 deletions(-) -- regards, -grygorii