RE: [PATCH 09/14] net: axienet: Add mii-tool support
From: Radhey Shyam Pandey <hidden>
Date: 2020-01-13 06:12:17
Also in:
linux-arm-kernel, lkml
quoted hunk ↗ jump to hunk
-----Original Message----- From: Andre Przywara <andre.przywara@arm.com> Sent: Friday, January 10, 2020 5:24 PM To: David S . Miller <davem@davemloft.net>; Radhey Shyam Pandey [off-list ref] Cc: Michal Simek <redacted>; Robert Hancock [off-list ref]; netdev@vger.kernel.org; linux-arm- kernel@lists.infradead.org; linux-kernel@vger.kernel.org Subject: [PATCH 09/14] net: axienet: Add mii-tool support mii-tool is useful for debugging, and all it requires to work is to wire up the ioctl ops function pointer. Add this to the axienet driver to enable mii-tool. Signed-off-by: Andre Przywara <andre.przywara@arm.com> --- drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 11 +++++++++++ 1 file changed, 11 insertions(+)diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.cb/drivers/net/ethernet/xilinx/xilinx_axienet_main.c index 7a747345e98e..64f799f3d248 100644--- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c +++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c@@ -1152,6 +1152,16 @@ static void axienet_poll_controller(struct net_device*ndev) } #endif +static int axienet_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) +{ + struct axienet_local *lp = netdev_priv(dev); + + if (!netif_running(dev)) + return -EINVAL;
I think phy ioctl should be allowed even if the device is not up. Or is there any specific reason for keeping it?
quoted hunk ↗ jump to hunk
+ + return phylink_mii_ioctl(lp->phylink, rq, cmd); +} + static const struct net_device_ops axienet_netdev_ops = { .ndo_open = axienet_open, .ndo_stop = axienet_stop,@@ -1159,6 +1169,7 @@ static const struct net_device_opsaxienet_netdev_ops = { .ndo_change_mtu = axienet_change_mtu, .ndo_set_mac_address = netdev_set_mac_address, .ndo_validate_addr = eth_validate_addr, + .ndo_do_ioctl = axienet_ioctl, .ndo_set_rx_mode = axienet_set_multicast_list, #ifdef CONFIG_NET_POLL_CONTROLLER .ndo_poll_controller = axienet_poll_controller, -- 2.17.1