From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiner Kallweit Subject: [PATCH RFC 10/18] r8168: switch to phy_ethtool_get/set_link_ksettings Date: Thu, 21 Dec 2017 21:50:31 +0100 Message-ID: References: <83321b2e-8402-26c5-9703-3fe795cc893d@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: David Miller , "netdev@vger.kernel.org" To: Andrew Lunn , Realtek linux nic maintainers , Chun-Hao Lin Return-path: Received: from mail-wm0-f67.google.com ([74.125.82.67]:33681 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755384AbdLUUvR (ORCPT ); Thu, 21 Dec 2017 15:51:17 -0500 Received: by mail-wm0-f67.google.com with SMTP id g130so21868143wme.0 for ; Thu, 21 Dec 2017 12:51:16 -0800 (PST) In-Reply-To: <83321b2e-8402-26c5-9703-3fe795cc893d@gmail.com> Sender: netdev-owner@vger.kernel.org List-ID: Use phy_ethtool_get/set_link_ksettings instead of open coding these ethtool ops. Signed-off-by: Heiner Kallweit --- drivers/net/ethernet/realtek/r8168.c | 50 +++--------------------------------- 1 file changed, 3 insertions(+), 47 deletions(-) diff --git a/drivers/net/ethernet/realtek/r8168.c b/drivers/net/ethernet/realtek/r8168.c index 62d0e0169..e698f13c2 100644 --- a/drivers/net/ethernet/realtek/r8168.c +++ b/drivers/net/ethernet/realtek/r8168.c @@ -2004,50 +2004,6 @@ static void rtl8168_rx_vlan_tag(struct RxDesc *desc, struct sk_buff *skb) __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), swab16(opts2 & 0xffff)); } -static int rtl8168_get_link_ksettings_xmii(struct net_device *dev, - struct ethtool_link_ksettings *cmd) -{ - struct rtl8168_private *tp = netdev_priv(dev); - - mii_ethtool_get_link_ksettings(&tp->mii, cmd); - - return 0; -} - -static int rtl8168_get_link_ksettings(struct net_device *dev, - struct ethtool_link_ksettings *cmd) -{ - struct rtl8168_private *tp = netdev_priv(dev); - int rc; - - rtl_lock_work(tp); - rc = rtl8168_get_link_ksettings_xmii(dev, cmd); - rtl_unlock_work(tp); - - return rc; -} - -static int rtl8168_set_link_ksettings(struct net_device *dev, - const struct ethtool_link_ksettings *cmd) -{ - struct rtl8168_private *tp = netdev_priv(dev); - int rc; - u32 advertising; - - if (!ethtool_convert_link_mode_to_legacy_u32(&advertising, - cmd->link_modes.advertising)) - return -EINVAL; - - del_timer_sync(&tp->timer); - - rtl_lock_work(tp); - rc = rtl8168_set_speed(dev, cmd->base.autoneg, cmd->base.speed, - cmd->base.duplex, advertising); - rtl_unlock_work(tp); - - return rc; -} - static void rtl8168_get_regs(struct net_device *dev, struct ethtool_regs *regs, void *p) { @@ -2317,7 +2273,7 @@ static const struct rtl_coalesce_info *rtl_coalesce_info(struct net_device *dev) const struct rtl_coalesce_info *ci; int rc; - rc = rtl8168_get_link_ksettings(dev, &ecmd); + rc = phy_ethtool_get_link_ksettings(dev, &ecmd); if (rc < 0) return ERR_PTR(rc); @@ -2478,8 +2434,8 @@ static const struct ethtool_ops rtl8168_ethtool_ops = { .get_ethtool_stats = rtl8168_get_ethtool_stats, .get_ts_info = ethtool_op_get_ts_info, .nway_reset = rtl8168_nway_reset, - .get_link_ksettings = rtl8168_get_link_ksettings, - .set_link_ksettings = rtl8168_set_link_ksettings, + .get_link_ksettings = phy_ethtool_get_link_ksettings, + .set_link_ksettings = phy_ethtool_set_link_ksettings, }; static void rtl8168_get_mac_version(struct rtl8168_private *tp, -- 2.15.1