mirror of
https://github.com/torvalds/linux.git
synced 2026-05-23 22:52:19 +02:00
net: dsa: bcm_sf2: stop assigning an OF node to the ds->user_mii_bus
The bcm_sf2 driver does something strange. Instead of calling of_mdiobus_register() with an OF node argument, it manually assigns the bus->dev->of_node and then calls the non-OF mdiobus_register(). This circumvents some code from __of_mdiobus_register() from running, which sets the auto-scan mask, parses some device tree properties, etc. I'm going to go out on a limb and say that the OF node isn't, in fact, needed at all, and can be removed. The MDIO diversion as initially implemented in commit461cd1b03e("net: dsa: bcm_sf2: Register our slave MDIO bus") looked quite different than it is now, after commit771089c2a4("net: dsa: bcm_sf2: Ensure that MDIO diversion is used"). Initially, it made sense, as bcm_sf2 was registering another set of driver ops for the "brcm,unimac-mdio" OF node. But now, it deletes all phandles, which makes "phy-handle"s unable to find PHYs, which means that it always goes through the OF-unaware dsa_user_phy_connect(). 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> Tested-by: Florian Fainelli <florian.fainelli@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c4a1cefdf3
commit
04a4bc9ddd
|
|
@ -635,7 +635,6 @@ static int bcm_sf2_mdio_register(struct dsa_switch *ds)
|
|||
priv->user_mii_bus->write = bcm_sf2_sw_mdio_write;
|
||||
snprintf(priv->user_mii_bus->id, MII_BUS_ID_SIZE, "sf2-%d",
|
||||
index++);
|
||||
priv->user_mii_bus->dev.of_node = dn;
|
||||
|
||||
/* Include the pseudo-PHY address to divert reads towards our
|
||||
* workaround. This is only required for 7445D0, since 7445E0
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user