On 5/26/2020 8:29 AM, Russell King wrote:
> There is a recurring pattern throughout some of the PHY code converting
> a devad and regnum to our packed clause 45 representation. Rather than
> having this scattered around the code, let's put a common translation
> function in mdio.h, and provide some register accessors.
> 
> Convert the phylib core, phylink, bcm87xx and cortina to use these.
> 
> Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk>
> ---

[snip]

> --- a/drivers/net/phy/phy-core.c
> +++ b/drivers/net/phy/phy-core.c
> @@ -428,9 +428,8 @@ int __phy_read_mmd(struct phy_device *phydev, int devad, 
> u32 regnum)

This should probably be changed to use u16 regnum in a separate patch.

>       if (phydev->drv && phydev->drv->read_mmd) {
>               val = phydev->drv->read_mmd(phydev, devad, regnum);
>       } else if (phydev->is_c45) {
> -             u32 addr = MII_ADDR_C45 | (devad << 16) | (regnum & 0xffff);
> -
> -             val = __mdiobus_read(phydev->mdio.bus, phydev->mdio.addr, addr);
> +             val = __mdiobus_c45_read(phydev->mdio.bus, phydev->mdio.addr,
> +                                      devad, regnum);
>       } else {
>               struct mii_bus *bus = phydev->mdio.bus;
>               int phy_addr = phydev->mdio.addr;
> @@ -485,10 +484,8 @@ int __phy_write_mmd(struct phy_device *phydev, int 
> devad, u32 regnum, u16 val)

and likewise.

Reviewed-by: Florian Fainelli <f.faine...@gmail.com>
-- 
Florian

Reply via email to