]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
net: netcp_ethss: Use the PHY time stamping interface.
authorRichard Cochran <richardcochran@gmail.com>
Thu, 26 Dec 2019 02:16:13 +0000 (18:16 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 26 Dec 2019 03:51:33 +0000 (19:51 -0800)
The netcp_ethss driver tests fields of the phy_device in order to
determine whether to defer to the PHY's time stamping functionality.
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>
drivers/net/ethernet/ti/netcp_ethss.c

index d6a192c1f3378e46277eb77e9851e3d9df1c0fec..fb36115e9c510c7315eb13e0992575a59d091dc4 100644 (file)
@@ -2533,8 +2533,6 @@ static int gbe_del_vid(void *intf_priv, int vid)
 }
 
 #if IS_ENABLED(CONFIG_TI_CPTS)
-#define HAS_PHY_TXTSTAMP(p) ((p)->drv && (p)->drv->txtstamp)
-#define HAS_PHY_RXTSTAMP(p) ((p)->drv && (p)->drv->rxtstamp)
 
 static void gbe_txtstamp(void *context, struct sk_buff *skb)
 {
@@ -2566,7 +2564,7 @@ static int gbe_txtstamp_mark_pkt(struct gbe_intf *gbe_intf,
         * We mark it here because skb_tx_timestamp() is called
         * after all the txhooks are called.
         */
-       if (phydev && HAS_PHY_TXTSTAMP(phydev)) {
+       if (phy_has_txtstamp(phydev)) {
                skb_shinfo(p_info->skb)->tx_flags |= SKBTX_IN_PROGRESS;
                return 0;
        }
@@ -2588,7 +2586,7 @@ static int gbe_rxtstamp(struct gbe_intf *gbe_intf, struct netcp_packet *p_info)
        if (p_info->rxtstamp_complete)
                return 0;
 
-       if (phydev && HAS_PHY_RXTSTAMP(phydev)) {
+       if (phy_has_rxtstamp(phydev)) {
                p_info->rxtstamp_complete = true;
                return 0;
        }
@@ -2830,7 +2828,7 @@ static int gbe_ioctl(void *intf_priv, struct ifreq *req, int cmd)
        struct gbe_intf *gbe_intf = intf_priv;
        struct phy_device *phy = gbe_intf->slave->phy;
 
-       if (!phy || !phy->drv->hwtstamp) {
+       if (!phy_has_hwtstamp(phy)) {
                switch (cmd) {
                case SIOCGHWTSTAMP:
                        return gbe_hwtstamp_get(gbe_intf, req);