Skip to content

Commit

Permalink
net: arc_emac: Add support for ndo_do_ioctl net_device_ops operation
Browse files Browse the repository at this point in the history
This operation is required for handling ioctl commands like SIOCGMIIREG,
when debugging MDIO registers from userspace.

This commit adds support for this operation.

Signed-off-by: Romain Perier <romain.perier@collabora.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Romain Perier authored and David S. Miller committed Aug 3, 2017
1 parent f4b2a42 commit e11e872
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions drivers/net/ethernet/arc/emac_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -720,13 +720,26 @@ static int arc_emac_set_address(struct net_device *ndev, void *p)
return 0;
}

static int arc_emac_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
{
if (!netif_running(dev))
return -EINVAL;

if (!dev->phydev)
return -ENODEV;

return phy_mii_ioctl(dev->phydev, rq, cmd);
}


static const struct net_device_ops arc_emac_netdev_ops = {
.ndo_open = arc_emac_open,
.ndo_stop = arc_emac_stop,
.ndo_start_xmit = arc_emac_tx,
.ndo_set_mac_address = arc_emac_set_address,
.ndo_get_stats = arc_emac_stats,
.ndo_set_rx_mode = arc_emac_set_rx_mode,
.ndo_do_ioctl = arc_emac_ioctl,
#ifdef CONFIG_NET_POLL_CONTROLLER
.ndo_poll_controller = arc_emac_poll_controller,
#endif
Expand Down

0 comments on commit e11e872

Please sign in to comment.