diff options
author | Vladimir Oltean <vladimir.oltean@nxp.com> | 2024-01-04 17:00:34 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2024-01-05 14:56:35 +0300 |
commit | 5c5d6b34b683c044a5d61dc0ace94e5c20f32bcf (patch) | |
tree | 1cf45f6a5528fbead709aed3e3587d6f11cc01a5 | |
parent | 525366b81f3382ad1c76ba5e47b71e8b7925c85e (diff) | |
download | linux-5c5d6b34b683c044a5d61dc0ace94e5c20f32bcf.tar.xz |
net: dsa: qca8k: consolidate calls to a single devm_of_mdiobus_register()
__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>
-rw-r--r-- | drivers/net/dsa/qca/qca8k-8xxx.c | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/drivers/net/dsa/qca/qca8k-8xxx.c b/drivers/net/dsa/qca/qca8k-8xxx.c index 8f69b95c894d..f12bdb30796f 100644 --- a/drivers/net/dsa/qca/qca8k-8xxx.c +++ b/drivers/net/dsa/qca/qca8k-8xxx.c @@ -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); |