Skip to content

Commit 8b68710

Browse files
oleremdavem330
authored andcommitted
net: phy: start using genphy_c45_ethtool_get/set_eee()
All preparations are done. Now we can start using new functions and remove the old code. Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 6340f9f commit 8b68710

File tree

1 file changed

+2
-58
lines changed

1 file changed

+2
-58
lines changed

drivers/net/phy/phy.c

Lines changed: 2 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1517,33 +1517,10 @@ EXPORT_SYMBOL(phy_get_eee_err);
15171517
*/
15181518
int phy_ethtool_get_eee(struct phy_device *phydev, struct ethtool_eee *data)
15191519
{
1520-
int val;
1521-
15221520
if (!phydev->drv)
15231521
return -EIO;
15241522

1525-
/* Get Supported EEE */
1526-
val = phy_read_mmd(phydev, MDIO_MMD_PCS, MDIO_PCS_EEE_ABLE);
1527-
if (val < 0)
1528-
return val;
1529-
data->supported = mmd_eee_cap_to_ethtool_sup_t(val);
1530-
1531-
/* Get advertisement EEE */
1532-
val = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV);
1533-
if (val < 0)
1534-
return val;
1535-
data->advertised = mmd_eee_adv_to_ethtool_adv_t(val);
1536-
data->eee_enabled = !!data->advertised;
1537-
1538-
/* Get LP advertisement EEE */
1539-
val = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_LPABLE);
1540-
if (val < 0)
1541-
return val;
1542-
data->lp_advertised = mmd_eee_adv_to_ethtool_adv_t(val);
1543-
1544-
data->eee_active = !!(data->advertised & data->lp_advertised);
1545-
1546-
return 0;
1523+
return genphy_c45_ethtool_get_eee(phydev, data);
15471524
}
15481525
EXPORT_SYMBOL(phy_ethtool_get_eee);
15491526

@@ -1556,43 +1533,10 @@ EXPORT_SYMBOL(phy_ethtool_get_eee);
15561533
*/
15571534
int phy_ethtool_set_eee(struct phy_device *phydev, struct ethtool_eee *data)
15581535
{
1559-
int cap, old_adv, adv = 0, ret;
1560-
15611536
if (!phydev->drv)
15621537
return -EIO;
15631538

1564-
/* Get Supported EEE */
1565-
cap = phy_read_mmd(phydev, MDIO_MMD_PCS, MDIO_PCS_EEE_ABLE);
1566-
if (cap < 0)
1567-
return cap;
1568-
1569-
old_adv = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV);
1570-
if (old_adv < 0)
1571-
return old_adv;
1572-
1573-
if (data->eee_enabled) {
1574-
adv = !data->advertised ? cap :
1575-
ethtool_adv_to_mmd_eee_adv_t(data->advertised) & cap;
1576-
/* Mask prohibited EEE modes */
1577-
adv &= ~phydev->eee_broken_modes;
1578-
}
1579-
1580-
if (old_adv != adv) {
1581-
ret = phy_write_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV, adv);
1582-
if (ret < 0)
1583-
return ret;
1584-
1585-
/* Restart autonegotiation so the new modes get sent to the
1586-
* link partner.
1587-
*/
1588-
if (phydev->autoneg == AUTONEG_ENABLE) {
1589-
ret = phy_restart_aneg(phydev);
1590-
if (ret < 0)
1591-
return ret;
1592-
}
1593-
}
1594-
1595-
return 0;
1539+
return genphy_c45_ethtool_set_eee(phydev, data);
15961540
}
15971541
EXPORT_SYMBOL(phy_ethtool_set_eee);
15981542

0 commit comments

Comments
 (0)