Messages in this thread | | | Date | Wed, 23 Mar 2022 20:39:48 +0100 | From | Andrew Lunn <> | Subject | Re: [PATCH RFC net-next 2/5] net: phy: support indirect c45 access in get_phy_c45_ids() |
| |
> +static int mdiobus_probe_mmd_read(struct mii_bus *bus, int prtad, int devad, > + u16 regnum) > +{ > + int ret; > + > + /* For backwards compatibility, treat MDIOBUS_NO_CAP as c45 capable */ > + if (bus->probe_capabilities == MDIOBUS_NO_CAP || > + bus->probe_capabilities >= MDIOBUS_C45)
Maybe we should do the work and mark up those that are C45 capable. At a quick count, see 16 of them.
> + return mdiobus_c45_read(bus, prtad, devad, regnum); > + > + mutex_lock(&bus->mdio_lock); > + > + /* Write the desired MMD Devad */ > + ret = __mdiobus_write(bus, prtad, MII_MMD_CTRL, devad); > + if (ret) > + goto out; > + > + /* Write the desired MMD register address */ > + ret = __mdiobus_write(bus, prtad, MII_MMD_DATA, regnum); > + if (ret) > + goto out; > + > + /* Select the Function : DATA with no post increment */ > + ret = __mdiobus_write(bus, prtad, MII_MMD_CTRL, > + devad | MII_MMD_CTRL_NOINCR); > + if (ret) > + goto out;
Make mmd_phy_indirect() usable, rather then repeat it.
Andrew
| |