Skip to content

Commit

Permalink
net: phylink: Convert to mdiobus_c45_{read|write}
Browse files Browse the repository at this point in the history
Stop using the helpers to construct a special phy address which
indicates C45. Instead use the C45 accessors, which will call the
busses C45 specific read/write API.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  • Loading branch information
lunn authored and Paolo Abeni committed May 2, 2022
1 parent 2fc9f69 commit 70dcf3c
Showing 1 changed file with 17 additions and 15 deletions.
32 changes: 17 additions & 15 deletions drivers/net/phy/phylink.c
Original file line number Diff line number Diff line change
Expand Up @@ -2303,8 +2303,11 @@ static int phylink_phy_read(struct phylink *pl, unsigned int phy_id,
if (mdio_phy_id_is_c45(phy_id)) {
prtad = mdio_phy_id_prtad(phy_id);
devad = mdio_phy_id_devad(phy_id);
devad = mdiobus_c45_addr(devad, reg);
} else if (phydev->is_c45) {
return mdiobus_c45_read(pl->phydev->mdio.bus, prtad, devad,
reg);
}

if (phydev->is_c45) {
switch (reg) {
case MII_BMCR:
case MII_BMSR:
Expand All @@ -2326,12 +2329,11 @@ static int phylink_phy_read(struct phylink *pl, unsigned int phy_id,
return -EINVAL;
}
prtad = phy_id;
devad = mdiobus_c45_addr(devad, reg);
} else {
prtad = phy_id;
devad = reg;
return mdiobus_c45_read(pl->phydev->mdio.bus, prtad, devad,
reg);
}
return mdiobus_read(pl->phydev->mdio.bus, prtad, devad);

return mdiobus_read(pl->phydev->mdio.bus, phy_id, reg);
}

static int phylink_phy_write(struct phylink *pl, unsigned int phy_id,
Expand All @@ -2343,8 +2345,11 @@ static int phylink_phy_write(struct phylink *pl, unsigned int phy_id,
if (mdio_phy_id_is_c45(phy_id)) {
prtad = mdio_phy_id_prtad(phy_id);
devad = mdio_phy_id_devad(phy_id);
devad = mdiobus_c45_addr(devad, reg);
} else if (phydev->is_c45) {
return mdiobus_c45_write(pl->phydev->mdio.bus, prtad, devad,
reg, val);
}

if (phydev->is_c45) {
switch (reg) {
case MII_BMCR:
case MII_BMSR:
Expand All @@ -2365,14 +2370,11 @@ static int phylink_phy_write(struct phylink *pl, unsigned int phy_id,
default:
return -EINVAL;
}
prtad = phy_id;
devad = mdiobus_c45_addr(devad, reg);
} else {
prtad = phy_id;
devad = reg;
return mdiobus_c45_write(pl->phydev->mdio.bus, phy_id, devad,
reg, val);
}

return mdiobus_write(phydev->mdio.bus, prtad, devad, val);
return mdiobus_write(phydev->mdio.bus, phy_id, reg, val);
}

static int phylink_mii_read(struct phylink *pl, unsigned int phy_id,
Expand Down

0 comments on commit 70dcf3c

Please sign in to comment.