lkml.org 
[lkml]   [2023]   [Feb]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH net-next v5 09/23] net: phy: start using genphy_c45_ethtool_get/set_eee()
    Date
    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>
    ---
    drivers/net/phy/phy.c | 60 ++-----------------------------------------
    1 file changed, 2 insertions(+), 58 deletions(-)

    diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
    index 36533746630e..2f1041a7211e 100644
    --- a/drivers/net/phy/phy.c
    +++ b/drivers/net/phy/phy.c
    @@ -1517,33 +1517,10 @@ EXPORT_SYMBOL(phy_get_eee_err);
    */
    int phy_ethtool_get_eee(struct phy_device *phydev, struct ethtool_eee *data)
    {
    - int val;
    -
    if (!phydev->drv)
    return -EIO;

    - /* Get Supported EEE */
    - val = phy_read_mmd(phydev, MDIO_MMD_PCS, MDIO_PCS_EEE_ABLE);
    - if (val < 0)
    - return val;
    - data->supported = mmd_eee_cap_to_ethtool_sup_t(val);
    -
    - /* Get advertisement EEE */
    - val = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV);
    - if (val < 0)
    - return val;
    - data->advertised = mmd_eee_adv_to_ethtool_adv_t(val);
    - data->eee_enabled = !!data->advertised;
    -
    - /* Get LP advertisement EEE */
    - val = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_LPABLE);
    - if (val < 0)
    - return val;
    - data->lp_advertised = mmd_eee_adv_to_ethtool_adv_t(val);
    -
    - data->eee_active = !!(data->advertised & data->lp_advertised);
    -
    - return 0;
    + return genphy_c45_ethtool_get_eee(phydev, data);
    }
    EXPORT_SYMBOL(phy_ethtool_get_eee);

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

    - /* Get Supported EEE */
    - cap = phy_read_mmd(phydev, MDIO_MMD_PCS, MDIO_PCS_EEE_ABLE);
    - if (cap < 0)
    - return cap;
    -
    - old_adv = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV);
    - if (old_adv < 0)
    - return old_adv;
    -
    - if (data->eee_enabled) {
    - adv = !data->advertised ? cap :
    - ethtool_adv_to_mmd_eee_adv_t(data->advertised) & cap;
    - /* Mask prohibited EEE modes */
    - adv &= ~phydev->eee_broken_modes;
    - }
    -
    - if (old_adv != adv) {
    - ret = phy_write_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV, adv);
    - if (ret < 0)
    - return ret;
    -
    - /* Restart autonegotiation so the new modes get sent to the
    - * link partner.
    - */
    - if (phydev->autoneg == AUTONEG_ENABLE) {
    - ret = phy_restart_aneg(phydev);
    - if (ret < 0)
    - return ret;
    - }
    - }
    -
    - return 0;
    + return genphy_c45_ethtool_set_eee(phydev, data);
    }
    EXPORT_SYMBOL(phy_ethtool_set_eee);

    --
    2.30.2
    \
     
     \ /
      Last update: 2023-03-27 00:11    [W:4.139 / U:0.100 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site