mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-30 06:10:56 +00:00
net: mscc: use the PHY MII ioctl interface when possible
Allow ioctl to be implemented by the PHY, when a PHY is attached to the Ocelot switch. In case the ioctl is a request to set or get the hardware timestamp, use the Ocelot switch implementation for now. Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
626a83238e
commit
7ff4f3f315
1 changed files with 9 additions and 11 deletions
|
@ -1204,18 +1204,16 @@ static int ocelot_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
|
|||
struct ocelot *ocelot = priv->port.ocelot;
|
||||
int port = priv->chip_port;
|
||||
|
||||
/* The function is only used for PTP operations for now */
|
||||
if (!ocelot->ptp)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
switch (cmd) {
|
||||
case SIOCSHWTSTAMP:
|
||||
return ocelot_hwstamp_set(ocelot, port, ifr);
|
||||
case SIOCGHWTSTAMP:
|
||||
return ocelot_hwstamp_get(ocelot, port, ifr);
|
||||
default:
|
||||
return -EOPNOTSUPP;
|
||||
if (ocelot->ptp) {
|
||||
switch (cmd) {
|
||||
case SIOCSHWTSTAMP:
|
||||
return ocelot_hwstamp_set(ocelot, port, ifr);
|
||||
case SIOCGHWTSTAMP:
|
||||
return ocelot_hwstamp_get(ocelot, port, ifr);
|
||||
}
|
||||
}
|
||||
|
||||
return phy_mii_ioctl(dev->phydev, ifr, cmd);
|
||||
}
|
||||
|
||||
static const struct net_device_ops ocelot_port_netdev_ops = {
|
||||
|
|
Loading…
Reference in a new issue