> -static int bcm_sf2_sw_phy_read(struct dsa_switch *ds, int addr, int regnum) > +static int bcm_sf2_sw_phy_read(struct mii_bus *bus, int addr, int regnum)
Hi Florian When i did the same for mv88e6xxx, i renamed _phy_ to _mdio_. That keeps with the general pattern for other mdio drivers, making it clear there can be something else than a phy on the bus. > + priv->slave_mii_bus->priv = priv; > + priv->slave_mii_bus->name = "sf2 slave mii"; > + if (dn) > + snprintf(priv->slave_mii_bus->id, MII_BUS_ID_SIZE, "%s", > + ds->dev->of_node->full_name); I tried lots of different things with mv88e6xxx, including i think this. The problem is full_name can be quite long, so it gets truncated. And i often found two different mv88e6xxx ended up with identical truncated names, since the unique part was getting discarded. > + else > + snprintf(priv->slave_mii_bus->id, MII_BUS_ID_SIZE, "sf2-%d", > + index++); So i ended up with this, which is 100% reliable. Andrew