lkml.org 
[lkml]   [2020]   [Jan]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [PATCH 09/14] net: axienet: Add mii-tool support
Date
> -----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
> <radheys@xilinx.com>
> Cc: Michal Simek <michals@xilinx.com>; Robert Hancock
> <hancock@sedsystems.ca>; 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.c
> b/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?

> +
> + 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_ops
> axienet_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

\
 
 \ /
  Last update: 2020-01-13 07:12    [W:0.313 / U:0.424 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site