net: phy: Remove the call to phy_mii_ioctl in phy_hwstamp_get/set
authorKory Maincent <kory.maincent@bootlin.com>
Tue, 14 Nov 2023 11:28:30 +0000 (12:28 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sat, 18 Nov 2023 14:52:56 +0000 (14:52 +0000)
__phy_hwtstamp_set function were calling the phy_mii_ioctl function
which will then use the ifreq pointer to call the hwtstamp callback.
Now that ifreq has been removed from the hwstamp callback parameters
it seems more logical to not go through the phy_mii_ioctl function and pass
directly kernel_hwtstamp_config parameter to the hwtstamp callback.

Lets do the same for __phy_hwtstamp_get function and return directly
EOPNOTSUPP as SIOCGHWTSTAMP is not supported for now for the PHYs.

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/phy.c

index d058316666ba0d06fe5cf9413f2910ce7ad61307..3376e58e2b88e58d2a9b17a018c58c5d4a9f6956 100644 (file)
@@ -486,7 +486,7 @@ int __phy_hwtstamp_get(struct phy_device *phydev,
        if (!phydev)
                return -ENODEV;
 
-       return phy_mii_ioctl(phydev, config->ifr, SIOCGHWTSTAMP);
+       return -EOPNOTSUPP;
 }
 
 /**
@@ -503,7 +503,10 @@ int __phy_hwtstamp_set(struct phy_device *phydev,
        if (!phydev)
                return -ENODEV;
 
-       return phy_mii_ioctl(phydev, config->ifr, SIOCSHWTSTAMP);
+       if (phydev->mii_ts && phydev->mii_ts->hwtstamp)
+               return phydev->mii_ts->hwtstamp(phydev->mii_ts, config, extack);
+
+       return -EOPNOTSUPP;
 }
 
 /**