net: ethtool: Use the PHY time stamping interface.
authorRichard Cochran <richardcochran@gmail.com>
Thu, 26 Dec 2019 02:16:12 +0000 (18:16 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 26 Dec 2019 03:51:33 +0000 (19:51 -0800)
The ethtool layer tests fields of the phy_device in order to determine
whether to invoke the PHY's tsinfo ethtool callback.  This patch
replaces the open coded logic with an invocation of the proper
methods.

Signed-off-by: Richard Cochran <richardcochran@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ethtool/ioctl.c

index aed2c2c..88f7cdd 100644 (file)
@@ -2096,8 +2096,8 @@ static int ethtool_get_ts_info(struct net_device *dev, void __user *useraddr)
        memset(&info, 0, sizeof(info));
        info.cmd = ETHTOOL_GET_TS_INFO;
 
-       if (phydev && phydev->drv && phydev->drv->ts_info) {
-               err = phydev->drv->ts_info(phydev, &info);
+       if (phy_has_tsinfo(phydev)) {
+               err = phy_ts_info(phydev, &info);
        } else if (ops->get_ts_info) {
                err = ops->get_ts_info(dev, &info);
        } else {