]> git.itanic.dy.fi Git - linux-stable/commitdiff
net: dsa: qca8k: consolidate calls to a single devm_of_mdiobus_register()
authorVladimir Oltean <vladimir.oltean@nxp.com>
Thu, 4 Jan 2024 14:00:34 +0000 (16:00 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 5 Jan 2024 11:56:35 +0000 (11:56 +0000)
__of_mdiobus_register() already calls __mdiobus_register() if the
OF node provided as argument is NULL. We can take advantage of that
and simplify the 2 code path, calling devm_of_mdiobus_register() only
once for both cases.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Alvin Šipraga <alsi@bang-olufsen.dk>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Reviewed-by: Christian Marangi <ansuelsmth@gmail.com>
Reviewed-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/qca/qca8k-8xxx.c

index 8f69b95c894dc0c09f10c40fda2e2fda7575289d..f12bdb30796fa8c08551cbe7f987024d70353416 100644 (file)
@@ -967,25 +967,23 @@ qca8k_mdio_register(struct qca8k_priv *priv)
                 ds->dst->index, ds->index);
        bus->parent = ds->dev;
 
-       /* Check if the devicetree declare the port:phy mapping */
        if (mdio) {
+               /* Check if the device tree declares the port:phy mapping */
                bus->name = "qca8k user mii";
                bus->read = qca8k_internal_mdio_read;
                bus->write = qca8k_internal_mdio_write;
-               err = devm_of_mdiobus_register(priv->dev, bus, mdio);
-               goto out_put_node;
+       } else {
+               /* If a mapping can't be found, the legacy mapping is used,
+                * using qca8k_port_to_phy()
+                */
+               ds->user_mii_bus = bus;
+               bus->phy_mask = ~ds->phys_mii_mask;
+               bus->name = "qca8k-legacy user mii";
+               bus->read = qca8k_legacy_mdio_read;
+               bus->write = qca8k_legacy_mdio_write;
        }
 
-       /* If a mapping can't be found the legacy mapping is used,
-        * using the qca8k_port_to_phy function
-        */
-       ds->user_mii_bus = bus;
-       bus->phy_mask = ~ds->phys_mii_mask;
-       bus->name = "qca8k-legacy user mii";
-       bus->read = qca8k_legacy_mdio_read;
-       bus->write = qca8k_legacy_mdio_write;
-
-       err = devm_mdiobus_register(priv->dev, bus);
+       err = devm_of_mdiobus_register(priv->dev, bus, mdio);
 
 out_put_node:
        of_node_put(mdio);