diff mbox

dpaa_eth: implement ioctl() for PHY-related ops

Message ID 1487606058-10994-1-git-send-email-michael@walle.cc
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Michael Walle Feb. 20, 2017, 3:54 p.m. UTC
This commit adds the ndo_do_ioctl() callback which allows the userspace to
access PHY registers, for example. This will make mii-diag and similar
tools work.

Signed-off-by: Michael Walle <michael@walle.cc>
---
 drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

David Miller Feb. 21, 2017, 3:21 a.m. UTC | #1
From: Michael Walle <michael@walle.cc>
Date: Mon, 20 Feb 2017 16:54:18 +0100

> This commit adds the ndo_do_ioctl() callback which allows the userspace to
> access PHY registers, for example. This will make mii-diag and similar
> tools work.
> 
> Signed-off-by: Michael Walle <michael@walle.cc>

Applied, thanks.
diff mbox

Patch

diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
index 726b569..b0f5990 100644
--- a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
+++ b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
@@ -2335,6 +2335,13 @@  static int dpaa_eth_stop(struct net_device *net_dev)
 	return err;
 }
 
+static int dpaa_ioctl(struct net_device *net_dev, struct ifreq *rq, int cmd)
+{
+	if (!net_dev->phydev)
+		return -EINVAL;
+	return phy_mii_ioctl(net_dev->phydev, rq, cmd);
+}
+
 static const struct net_device_ops dpaa_ops = {
 	.ndo_open = dpaa_open,
 	.ndo_start_xmit = dpaa_start_xmit,
@@ -2344,6 +2351,7 @@  static const struct net_device_ops dpaa_ops = {
 	.ndo_set_mac_address = dpaa_set_mac_address,
 	.ndo_validate_addr = eth_validate_addr,
 	.ndo_set_rx_mode = dpaa_set_rx_mode,
+	.ndo_do_ioctl = dpaa_ioctl,
 };
 
 static int dpaa_napi_add(struct net_device *net_dev)