On Fri, Sep 22, 2017 at 03:40:43PM -0400, Vivien Didelot wrote:
There is no need to store a phy_device in dsa_slave_priv since
net_device already provides one. Simply s/p->phy/dev->phydev/.
While at it, return -ENODEV when it is NULL instead of -EOPNOTSUPP.
I just did a quick poll for calling phy_mii_ioctl(). ENODEV seems the
most popular, second to EINVAL. Marvell drivers all use EOPNOTSUPP.
quoted hunk ↗ jump to hunk
static int dsa_slave_nway_reset(struct net_device *dev)
{
- struct dsa_slave_priv *p = netdev_priv(dev);
+ if (!dev->phydev)
+ return -ENODEV;
- if (p->phy != NULL)
- return genphy_restart_aneg(p->phy);
-
- return -EOPNOTSUPP;
+ return genphy_restart_aneg(dev->phydev);
}
It looks like this can now be replaced with phy_ethtool_nway_reset().
It could be there are other phy_ethtool_ helpers which can be used,
now that we have phydev in ndev.
Andrew