lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a6583174-65b1-d74e-0518-0c609a4b035c@pensando.io>
Date:   Wed, 21 Jul 2021 09:21:58 -0700
From:   Shannon Nelson <snelson@...sando.io>
To:     Arnd Bergmann <arnd@...nel.org>, netdev@...r.kernel.org
Cc:     Christoph Hellwig <hch@....de>, Arnd Bergmann <arnd@...db.de>
Subject: Re: [PATCH net-next v2 27/31] dev_ioctl: split out ndo_eth_ioctl



On 7/20/21 7:46 AM, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@...db.de>
>
> Most users of ndo_do_ioctl are ethernet drivers that implement
> the MII commands SIOCGMIIPHY/SIOCGMIIREG/SIOCSMIIREG, or hardware
> timestamping with SIOCSHWTSTAMP/SIOCGHWTSTAMP.
>
> Separate these from the few drivers that use ndo_do_ioctl to
> implement SIOCBOND, SIOCBR and SIOCWANDEV commands.
>
> This is a purely cosmetic change intended to help readers find
> their way through the implementation.
>
> Signed-off-by: Arnd Bergmann <arnd@...db.de>
> ---
>   Documentation/networking/netdevices.rst       |  4 ++
>   Documentation/networking/timestamping.rst     |  6 +--
>   drivers/infiniband/ulp/ipoib/ipoib_main.c     |  8 ++--
>   drivers/net/bonding/bond_main.c               | 42 +++++++++++++------
>   drivers/net/ethernet/3com/3c574_cs.c          |  2 +-
>   drivers/net/ethernet/3com/3c59x.c             |  4 +-
>   drivers/net/ethernet/8390/ax88796.c           |  2 +-
>   drivers/net/ethernet/8390/axnet_cs.c          |  2 +-
>   drivers/net/ethernet/8390/pcnet_cs.c          |  2 +-
>   drivers/net/ethernet/actions/owl-emac.c       |  6 +--
>   drivers/net/ethernet/adaptec/starfire.c       |  2 +-
>   drivers/net/ethernet/agere/et131x.c           |  2 +-
>   drivers/net/ethernet/allwinner/sun4i-emac.c   |  2 +-
>   drivers/net/ethernet/amd/amd8111e.c           |  2 +-
>   drivers/net/ethernet/amd/au1000_eth.c         |  2 +-
>   drivers/net/ethernet/amd/pcnet32.c            |  2 +-
>   drivers/net/ethernet/amd/xgbe/xgbe-drv.c      |  2 +-
>   .../net/ethernet/aquantia/atlantic/aq_main.c  |  2 +-
>   drivers/net/ethernet/arc/emac_main.c          |  2 +-
>   drivers/net/ethernet/atheros/ag71xx.c         |  2 +-
>   drivers/net/ethernet/atheros/alx/main.c       |  2 +-
>   .../net/ethernet/atheros/atl1c/atl1c_main.c   |  2 +-
>   .../net/ethernet/atheros/atl1e/atl1e_main.c   |  2 +-
>   drivers/net/ethernet/atheros/atlx/atl1.c      |  2 +-
>   drivers/net/ethernet/atheros/atlx/atl2.c      |  2 +-
>   drivers/net/ethernet/broadcom/b44.c           |  2 +-
>   drivers/net/ethernet/broadcom/bcm63xx_enet.c  |  4 +-
>   drivers/net/ethernet/broadcom/bgmac.c         |  2 +-
>   drivers/net/ethernet/broadcom/bnx2.c          |  2 +-
>   .../net/ethernet/broadcom/bnx2x/bnx2x_main.c  |  2 +-
>   drivers/net/ethernet/broadcom/bnxt/bnxt.c     |  2 +-
>   .../net/ethernet/broadcom/genet/bcmgenet.c    |  2 +-
>   drivers/net/ethernet/broadcom/sb1250-mac.c    |  2 +-
>   drivers/net/ethernet/broadcom/tg3.c           |  2 +-
>   drivers/net/ethernet/cadence/macb_main.c      |  4 +-
>   .../net/ethernet/cavium/liquidio/lio_main.c   |  2 +-
>   .../ethernet/cavium/liquidio/lio_vf_main.c    |  2 +-
>   .../net/ethernet/cavium/octeon/octeon_mgmt.c  |  2 +-
>   .../net/ethernet/cavium/thunder/nicvf_main.c  |  2 +-
>   drivers/net/ethernet/chelsio/cxgb/cxgb2.c     |  2 +-
>   .../net/ethernet/chelsio/cxgb3/cxgb3_main.c   |  2 +-
>   .../net/ethernet/chelsio/cxgb4/cxgb4_main.c   |  2 +-
>   .../ethernet/chelsio/cxgb4vf/cxgb4vf_main.c   |  2 +-
>   drivers/net/ethernet/cirrus/ep93xx_eth.c      |  2 +-
>   drivers/net/ethernet/davicom/dm9000.c         |  2 +-
>   drivers/net/ethernet/dec/tulip/tulip_core.c   |  2 +-
>   drivers/net/ethernet/dec/tulip/winbond-840.c  |  2 +-
>   drivers/net/ethernet/dlink/dl2k.c             |  2 +-
>   drivers/net/ethernet/dlink/sundance.c         |  2 +-
>   drivers/net/ethernet/dnet.c                   |  2 +-
>   drivers/net/ethernet/ethoc.c                  |  2 +-
>   drivers/net/ethernet/faraday/ftgmac100.c      |  2 +-
>   drivers/net/ethernet/faraday/ftmac100.c       |  2 +-
>   drivers/net/ethernet/fealnx.c                 |  2 +-
>   .../net/ethernet/freescale/dpaa/dpaa_eth.c    |  2 +-
>   .../net/ethernet/freescale/dpaa2/dpaa2-eth.c  |  2 +-
>   .../net/ethernet/freescale/enetc/enetc_pf.c   |  2 +-
>   .../net/ethernet/freescale/enetc/enetc_vf.c   |  2 +-
>   drivers/net/ethernet/freescale/fec_main.c     |  2 +-
>   drivers/net/ethernet/freescale/fec_mpc52xx.c  |  2 +-
>   .../ethernet/freescale/fs_enet/fs_enet-main.c |  2 +-
>   drivers/net/ethernet/freescale/gianfar.c      |  2 +-
>   drivers/net/ethernet/freescale/ucc_geth.c     |  2 +-
>   drivers/net/ethernet/hisilicon/hisi_femac.c   |  2 +-
>   drivers/net/ethernet/hisilicon/hns/hns_enet.c |  2 +-
>   .../net/ethernet/hisilicon/hns3/hns3_enet.c   |  2 +-
>   drivers/net/ethernet/ibm/emac/core.c          |  4 +-
>   drivers/net/ethernet/ibm/ibmveth.c            |  2 +-
>   drivers/net/ethernet/intel/e100.c             |  2 +-
>   drivers/net/ethernet/intel/e1000/e1000_main.c |  2 +-
>   drivers/net/ethernet/intel/e1000e/netdev.c    |  2 +-
>   drivers/net/ethernet/intel/i40e/i40e_main.c   |  2 +-
>   drivers/net/ethernet/intel/ice/ice_main.c     |  4 +-
>   drivers/net/ethernet/intel/igb/igb_main.c     |  2 +-
>   drivers/net/ethernet/intel/igbvf/netdev.c     |  2 +-
>   drivers/net/ethernet/intel/igc/igc_main.c     |  2 +-
>   drivers/net/ethernet/intel/ixgbe/ixgbe_main.c |  2 +-
>   drivers/net/ethernet/jme.c                    |  2 +-
>   drivers/net/ethernet/korina.c                 |  2 +-
>   drivers/net/ethernet/lantiq_etop.c            |  2 +-
>   drivers/net/ethernet/marvell/mv643xx_eth.c    |  2 +-
>   drivers/net/ethernet/marvell/mvneta.c         |  2 +-
>   .../net/ethernet/marvell/mvpp2/mvpp2_main.c   |  2 +-
>   .../ethernet/marvell/octeontx2/nic/otx2_pf.c  |  2 +-
>   drivers/net/ethernet/marvell/pxa168_eth.c     |  2 +-
>   drivers/net/ethernet/marvell/skge.c           |  2 +-
>   drivers/net/ethernet/marvell/sky2.c           |  4 +-
>   drivers/net/ethernet/mediatek/mtk_eth_soc.c   |  2 +-
>   drivers/net/ethernet/mediatek/mtk_star_emac.c |  2 +-
>   .../net/ethernet/mellanox/mlx4/en_netdev.c    |  2 +-
>   .../net/ethernet/mellanox/mlx5/core/en_main.c |  2 +-
>   .../ethernet/mellanox/mlx5/core/ipoib/ipoib.c |  2 +-
>   .../mellanox/mlx5/core/ipoib/ipoib_vlan.c     |  2 +-
>   .../mellanox/mlxbf_gige/mlxbf_gige_main.c     |  4 +-
>   .../net/ethernet/mellanox/mlxsw/spectrum.c    |  2 +-
>   drivers/net/ethernet/micrel/ks8851_common.c   |  2 +-
>   drivers/net/ethernet/micrel/ksz884x.c         |  2 +-
>   drivers/net/ethernet/microchip/lan743x_main.c |  2 +-
>   drivers/net/ethernet/mscc/ocelot_net.c        |  2 +-
>   drivers/net/ethernet/natsemi/natsemi.c        |  2 +-
>   drivers/net/ethernet/neterion/s2io.c          |  2 +-
>   .../net/ethernet/neterion/vxge/vxge-main.c    |  2 +-
>   drivers/net/ethernet/nxp/lpc_eth.c            |  2 +-
>   .../ethernet/oki-semi/pch_gbe/pch_gbe_main.c  |  2 +-
>   drivers/net/ethernet/packetengines/hamachi.c  |  2 +-
>   .../net/ethernet/packetengines/yellowfin.c    |  2 +-
>   .../net/ethernet/pensando/ionic/ionic_lif.c   |  4 +-

for ionic:
Acked-by: Shannon Nelson <snelson@...sando.io>


>   drivers/net/ethernet/qlogic/qede/qede_main.c  |  2 +-
>   drivers/net/ethernet/qualcomm/emac/emac.c     |  2 +-
>   drivers/net/ethernet/rdc/r6040.c              |  2 +-
>   drivers/net/ethernet/realtek/8139cp.c         |  2 +-
>   drivers/net/ethernet/realtek/8139too.c        |  2 +-
>   drivers/net/ethernet/realtek/r8169_main.c     |  2 +-
>   drivers/net/ethernet/renesas/ravb_main.c      |  2 +-
>   drivers/net/ethernet/renesas/sh_eth.c         |  4 +-
>   .../net/ethernet/samsung/sxgbe/sxgbe_main.c   |  2 +-
>   drivers/net/ethernet/sfc/efx.c                |  2 +-
>   drivers/net/ethernet/sfc/falcon/efx.c         |  2 +-
>   drivers/net/ethernet/sgi/ioc3-eth.c           |  2 +-
>   drivers/net/ethernet/sgi/meth.c               |  2 +-
>   drivers/net/ethernet/sis/sis190.c             |  2 +-
>   drivers/net/ethernet/sis/sis900.c             |  2 +-
>   drivers/net/ethernet/smsc/epic100.c           |  2 +-
>   drivers/net/ethernet/smsc/smc91c92_cs.c       |  2 +-
>   drivers/net/ethernet/smsc/smsc911x.c          |  2 +-
>   drivers/net/ethernet/smsc/smsc9420.c          |  2 +-
>   drivers/net/ethernet/socionext/netsec.c       |  2 +-
>   drivers/net/ethernet/socionext/sni_ave.c      |  2 +-
>   .../net/ethernet/stmicro/stmmac/stmmac_main.c |  2 +-
>   drivers/net/ethernet/sun/cassini.c            |  2 +-
>   drivers/net/ethernet/sun/niu.c                |  2 +-
>   drivers/net/ethernet/sun/sungem.c             |  2 +-
>   .../net/ethernet/synopsys/dwc-xlgmac-net.c    |  2 +-
>   drivers/net/ethernet/ti/am65-cpsw-nuss.c      |  2 +-
>   drivers/net/ethernet/ti/cpmac.c               |  2 +-
>   drivers/net/ethernet/ti/cpsw.c                |  2 +-
>   drivers/net/ethernet/ti/cpsw_new.c            |  2 +-
>   drivers/net/ethernet/ti/davinci_emac.c        |  2 +-
>   drivers/net/ethernet/ti/netcp_core.c          |  2 +-
>   drivers/net/ethernet/ti/tlan.c                |  2 +-
>   drivers/net/ethernet/toshiba/spider_net.c     |  2 +-
>   drivers/net/ethernet/toshiba/tc35815.c        |  2 +-
>   drivers/net/ethernet/tundra/tsi108_eth.c      |  2 +-
>   drivers/net/ethernet/via/via-rhine.c          |  2 +-
>   drivers/net/ethernet/via/via-velocity.c       |  2 +-
>   drivers/net/ethernet/xilinx/ll_temac_main.c   |  2 +-
>   .../net/ethernet/xilinx/xilinx_axienet_main.c |  2 +-
>   drivers/net/ethernet/xilinx/xilinx_emaclite.c |  2 +-
>   drivers/net/ethernet/xircom/xirc2ps_cs.c      |  2 +-
>   drivers/net/ethernet/xscale/ixp4xx_eth.c      |  2 +-
>   drivers/net/macvlan.c                         |  8 ++--
>   drivers/net/phy/phy.c                         |  4 +-
>   drivers/net/usb/asix_devices.c                |  6 +--
>   drivers/net/usb/ax88172a.c                    |  2 +-
>   drivers/net/usb/ax88179_178a.c                |  2 +-
>   drivers/net/usb/dm9601.c                      |  2 +-
>   drivers/net/usb/lan78xx.c                     |  2 +-
>   drivers/net/usb/mcs7830.c                     |  2 +-
>   drivers/net/usb/r8152.c                       |  2 +-
>   drivers/net/usb/smsc75xx.c                    |  2 +-
>   drivers/net/usb/smsc95xx.c                    |  2 +-
>   drivers/net/usb/sr9700.c                      |  2 +-
>   drivers/net/usb/sr9800.c                      |  2 +-
>   drivers/s390/net/qeth_l2_main.c               |  2 +-
>   drivers/s390/net/qeth_l3_main.c               |  4 +-
>   drivers/staging/octeon/ethernet.c             | 12 +++---
>   include/linux/netdevice.h                     |  6 +++
>   include/net/dsa.h                             | 14 +++----
>   net/8021q/vlan_dev.c                          |  6 +--
>   net/core/dev_ioctl.c                          | 38 ++++++++++++-----
>   net/dsa/master.c                              |  6 +--
>   net/dsa/slave.c                               |  2 +-
>   172 files changed, 272 insertions(+), 230 deletions(-)
>
> diff --git a/Documentation/networking/netdevices.rst b/Documentation/networking/netdevices.rst
> index 02f1faac839a..f57f255f2397 100644
> --- a/Documentation/networking/netdevices.rst
> +++ b/Documentation/networking/netdevices.rst
> @@ -229,6 +229,10 @@ ndo_siocdevprivate:
>   	This is used to implement SIOCDEVPRIVATE ioctl helpers.
>   	These should not be added to new drivers, so don't use.
>   
> +ndo_eth_ioctl:
> +	Synchronization: rtnl_lock() semaphore.
> +	Context: process
> +
>   ndo_get_stats:
>   	Synchronization: rtnl_lock() semaphore, dev_base_lock rwlock, or RCU.
>   	Context: atomic (can't sleep under rwlock or RCU)
> diff --git a/Documentation/networking/timestamping.rst b/Documentation/networking/timestamping.rst
> index 7db3985359bc..a722eb30e014 100644
> --- a/Documentation/networking/timestamping.rst
> +++ b/Documentation/networking/timestamping.rst
> @@ -625,7 +625,7 @@ interfaces of a DSA switch to share the same PHC.
>   By design, PTP timestamping with a DSA switch does not need any special
>   handling in the driver for the host port it is attached to.  However, when the
>   host port also supports PTP timestamping, DSA will take care of intercepting
> -the ``.ndo_do_ioctl`` calls towards the host port, and block attempts to enable
> +the ``.ndo_eth_ioctl`` calls towards the host port, and block attempts to enable
>   hardware timestamping on it. This is because the SO_TIMESTAMPING API does not
>   allow the delivery of multiple hardware timestamps for the same packet, so
>   anybody else except for the DSA switch port must be prevented from doing so.
> @@ -688,7 +688,7 @@ ethtool ioctl operations for them need to be mediated by their respective MAC
>   driver.  Therefore, as opposed to DSA switches, modifications need to be done
>   to each individual MAC driver for PHY timestamping support. This entails:
>   
> -- Checking, in ``.ndo_do_ioctl``, whether ``phy_has_hwtstamp(netdev->phydev)``
> +- Checking, in ``.ndo_eth_ioctl``, whether ``phy_has_hwtstamp(netdev->phydev)``
>     is true or not. If it is, then the MAC driver should not process this request
>     but instead pass it on to the PHY using ``phy_mii_ioctl()``.
>   
> @@ -747,7 +747,7 @@ For example, a typical driver design for TX timestamping might be to split the
>   transmission part into 2 portions:
>   
>   1. "TX": checks whether PTP timestamping has been previously enabled through
> -   the ``.ndo_do_ioctl`` ("``priv->hwtstamp_tx_enabled == true``") and the
> +   the ``.ndo_eth_ioctl`` ("``priv->hwtstamp_tx_enabled == true``") and the
>      current skb requires a TX timestamp ("``skb_shinfo(skb)->tx_flags &
>      SKBTX_HW_TSTAMP``"). If this is true, it sets the
>      "``skb_shinfo(skb)->tx_flags |= SKBTX_IN_PROGRESS``" flag. Note: as
> diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c b/drivers/infiniband/ulp/ipoib/ipoib_main.c
> index abf60f4d9203..0aa8629fdf62 100644
> --- a/drivers/infiniband/ulp/ipoib/ipoib_main.c
> +++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c
> @@ -1745,10 +1745,10 @@ static int ipoib_ioctl(struct net_device *dev, struct ifreq *ifr,
>   {
>   	struct ipoib_dev_priv *priv = ipoib_priv(dev);
>   
> -	if (!priv->rn_ops->ndo_do_ioctl)
> +	if (!priv->rn_ops->ndo_eth_ioctl)
>   		return -EOPNOTSUPP;
>   
> -	return priv->rn_ops->ndo_do_ioctl(dev, ifr, cmd);
> +	return priv->rn_ops->ndo_eth_ioctl(dev, ifr, cmd);
>   }
>   
>   static int ipoib_dev_init(struct net_device *dev)
> @@ -2078,7 +2078,7 @@ static const struct net_device_ops ipoib_netdev_ops_pf = {
>   	.ndo_set_vf_guid	 = ipoib_set_vf_guid,
>   	.ndo_set_mac_address	 = ipoib_set_mac,
>   	.ndo_get_stats64	 = ipoib_get_stats,
> -	.ndo_do_ioctl		 = ipoib_ioctl,
> +	.ndo_eth_ioctl		 = ipoib_ioctl,
>   };
>   
>   static const struct net_device_ops ipoib_netdev_ops_vf = {
> @@ -2093,7 +2093,7 @@ static const struct net_device_ops ipoib_netdev_ops_vf = {
>   	.ndo_set_rx_mode	 = ipoib_set_mcast_list,
>   	.ndo_get_iflink		 = ipoib_get_iflink,
>   	.ndo_get_stats64	 = ipoib_get_stats,
> -	.ndo_do_ioctl		 = ipoib_ioctl,
> +	.ndo_eth_ioctl		 = ipoib_ioctl,
>   };
>   
>   static const struct net_device_ops ipoib_netdev_default_pf = {
> diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
> index 94f8d6a9adfb..0e580f6e4f5b 100644
> --- a/drivers/net/bonding/bond_main.c
> +++ b/drivers/net/bonding/bond_main.c
> @@ -732,7 +732,7 @@ static int bond_check_dev_link(struct bonding *bond,
>   			BMSR_LSTATUS : 0;
>   
>   	/* Ethtool can't be used, fallback to MII ioctls. */
> -	ioctl = slave_ops->ndo_do_ioctl;
> +	ioctl = slave_ops->ndo_eth_ioctl;
>   	if (ioctl) {
>   		/* TODO: set pointer to correct ioctl on a per team member
>   		 *       bases to make this more efficient. that is, once
> @@ -756,7 +756,7 @@ static int bond_check_dev_link(struct bonding *bond,
>   		}
>   	}
>   
> -	/* If reporting, report that either there's no dev->do_ioctl,
> +	/* If reporting, report that either there's no ndo_eth_ioctl,
>   	 * or both SIOCGMIIREG and get_link failed (meaning that we
>   	 * cannot report link status).  If not reporting, pretend
>   	 * we're ok.
> @@ -1733,7 +1733,7 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev,
>   
>   	if (!bond->params.use_carrier &&
>   	    slave_dev->ethtool_ops->get_link == NULL &&
> -	    slave_ops->ndo_do_ioctl == NULL) {
> +	    slave_ops->ndo_eth_ioctl == NULL) {
>   		slave_warn(bond_dev, slave_dev, "no link monitoring support\n");
>   	}
>   
> @@ -3960,20 +3960,13 @@ static void bond_get_stats(struct net_device *bond_dev,
>   	rcu_read_unlock();
>   }
>   
> -static int bond_do_ioctl(struct net_device *bond_dev, struct ifreq *ifr, int cmd)
> +static int bond_eth_ioctl(struct net_device *bond_dev, struct ifreq *ifr, int cmd)
>   {
>   	struct bonding *bond = netdev_priv(bond_dev);
> -	struct net_device *slave_dev = NULL;
> -	struct ifbond k_binfo;
> -	struct ifbond __user *u_binfo = NULL;
> -	struct ifslave k_sinfo;
> -	struct ifslave __user *u_sinfo = NULL;
>   	struct mii_ioctl_data *mii = NULL;
> -	struct bond_opt_value newval;
> -	struct net *net;
> -	int res = 0;
> +	int res;
>   
> -	netdev_dbg(bond_dev, "bond_ioctl: cmd=%d\n", cmd);
> +	netdev_dbg(bond_dev, "bond_eth_ioctl: cmd=%d\n", cmd);
>   
>   	switch (cmd) {
>   	case SIOCGMIIPHY:
> @@ -3998,6 +3991,28 @@ static int bond_do_ioctl(struct net_device *bond_dev, struct ifreq *ifr, int cmd
>   		}
>   
>   		return 0;
> +	default:
> +		res = -EOPNOTSUPP;
> +	}
> +
> +	return res;
> +}
> +
> +static int bond_do_ioctl(struct net_device *bond_dev, struct ifreq *ifr, int cmd)
> +{
> +	struct bonding *bond = netdev_priv(bond_dev);
> +	struct net_device *slave_dev = NULL;
> +	struct ifbond k_binfo;
> +	struct ifbond __user *u_binfo = NULL;
> +	struct ifslave k_sinfo;
> +	struct ifslave __user *u_sinfo = NULL;
> +	struct bond_opt_value newval;
> +	struct net *net;
> +	int res = 0;
> +
> +	netdev_dbg(bond_dev, "bond_ioctl: cmd=%d\n", cmd);
> +
> +	switch (cmd) {
>   	case SIOCBONDINFOQUERY:
>   		u_binfo = (struct ifbond __user *)ifr->ifr_data;
>   
> @@ -4970,6 +4985,7 @@ static const struct net_device_ops bond_netdev_ops = {
>   	.ndo_start_xmit		= bond_start_xmit,
>   	.ndo_select_queue	= bond_select_queue,
>   	.ndo_get_stats64	= bond_get_stats,
> +	.ndo_eth_ioctl		= bond_eth_ioctl,
>   	.ndo_do_ioctl		= bond_do_ioctl,
>   	.ndo_siocdevprivate	= bond_siocdevprivate,
>   	.ndo_change_rx_flags	= bond_change_rx_flags,
> diff --git a/drivers/net/ethernet/3com/3c574_cs.c b/drivers/net/ethernet/3com/3c574_cs.c
> index f66e7fb9a2bb..dd4d3c48b98d 100644
> --- a/drivers/net/ethernet/3com/3c574_cs.c
> +++ b/drivers/net/ethernet/3com/3c574_cs.c
> @@ -252,7 +252,7 @@ static const struct net_device_ops el3_netdev_ops = {
>   	.ndo_start_xmit		= el3_start_xmit,
>   	.ndo_tx_timeout 	= el3_tx_timeout,
>   	.ndo_get_stats		= el3_get_stats,
> -	.ndo_do_ioctl		= el3_ioctl,
> +	.ndo_eth_ioctl		= el3_ioctl,
>   	.ndo_set_rx_mode	= set_multicast_list,
>   	.ndo_set_mac_address 	= eth_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
> diff --git a/drivers/net/ethernet/3com/3c59x.c b/drivers/net/ethernet/3com/3c59x.c
> index 7d7d3ffe25c3..17c16333a412 100644
> --- a/drivers/net/ethernet/3com/3c59x.c
> +++ b/drivers/net/ethernet/3com/3c59x.c
> @@ -1052,7 +1052,7 @@ static const struct net_device_ops boomrang_netdev_ops = {
>   	.ndo_tx_timeout		= vortex_tx_timeout,
>   	.ndo_get_stats		= vortex_get_stats,
>   #ifdef CONFIG_PCI
> -	.ndo_do_ioctl 		= vortex_ioctl,
> +	.ndo_eth_ioctl		= vortex_ioctl,
>   #endif
>   	.ndo_set_rx_mode	= set_rx_mode,
>   	.ndo_set_mac_address 	= eth_mac_addr,
> @@ -1069,7 +1069,7 @@ static const struct net_device_ops vortex_netdev_ops = {
>   	.ndo_tx_timeout		= vortex_tx_timeout,
>   	.ndo_get_stats		= vortex_get_stats,
>   #ifdef CONFIG_PCI
> -	.ndo_do_ioctl 		= vortex_ioctl,
> +	.ndo_eth_ioctl		= vortex_ioctl,
>   #endif
>   	.ndo_set_rx_mode	= set_rx_mode,
>   	.ndo_set_mac_address 	= eth_mac_addr,
> diff --git a/drivers/net/ethernet/8390/ax88796.c b/drivers/net/ethernet/8390/ax88796.c
> index 172947fc051a..9595dd1f32ca 100644
> --- a/drivers/net/ethernet/8390/ax88796.c
> +++ b/drivers/net/ethernet/8390/ax88796.c
> @@ -635,7 +635,7 @@ static void ax_eeprom_register_write(struct eeprom_93cx6 *eeprom)
>   static const struct net_device_ops ax_netdev_ops = {
>   	.ndo_open		= ax_open,
>   	.ndo_stop		= ax_close,
> -	.ndo_do_ioctl		= ax_ioctl,
> +	.ndo_eth_ioctl		= ax_ioctl,
>   
>   	.ndo_start_xmit		= ax_ei_start_xmit,
>   	.ndo_tx_timeout		= ax_ei_tx_timeout,
> diff --git a/drivers/net/ethernet/8390/axnet_cs.c b/drivers/net/ethernet/8390/axnet_cs.c
> index 8c321dfc7b3b..3c370e686ec3 100644
> --- a/drivers/net/ethernet/8390/axnet_cs.c
> +++ b/drivers/net/ethernet/8390/axnet_cs.c
> @@ -128,7 +128,7 @@ static inline struct axnet_dev *PRIV(struct net_device *dev)
>   static const struct net_device_ops axnet_netdev_ops = {
>   	.ndo_open 		= axnet_open,
>   	.ndo_stop		= axnet_close,
> -	.ndo_do_ioctl		= axnet_ioctl,
> +	.ndo_eth_ioctl		= axnet_ioctl,
>   	.ndo_start_xmit		= axnet_start_xmit,
>   	.ndo_tx_timeout		= axnet_tx_timeout,
>   	.ndo_get_stats		= get_stats,
> diff --git a/drivers/net/ethernet/8390/pcnet_cs.c b/drivers/net/ethernet/8390/pcnet_cs.c
> index cac036706382..96ad72abd373 100644
> --- a/drivers/net/ethernet/8390/pcnet_cs.c
> +++ b/drivers/net/ethernet/8390/pcnet_cs.c
> @@ -223,7 +223,7 @@ static const struct net_device_ops pcnet_netdev_ops = {
>   	.ndo_set_config		= set_config,
>   	.ndo_start_xmit 	= ei_start_xmit,
>   	.ndo_get_stats		= ei_get_stats,
> -	.ndo_do_ioctl 		= ei_ioctl,
> +	.ndo_eth_ioctl		= ei_ioctl,
>   	.ndo_set_rx_mode	= ei_set_multicast_list,
>   	.ndo_tx_timeout 	= ei_tx_timeout,
>   	.ndo_set_mac_address 	= eth_mac_addr,
> diff --git a/drivers/net/ethernet/actions/owl-emac.c b/drivers/net/ethernet/actions/owl-emac.c
> index b8e771c2bc40..c4ecf4fcadf8 100644
> --- a/drivers/net/ethernet/actions/owl-emac.c
> +++ b/drivers/net/ethernet/actions/owl-emac.c
> @@ -1179,8 +1179,8 @@ static int owl_emac_ndo_set_mac_addr(struct net_device *netdev, void *addr)
>   	return owl_emac_setup_frame_xmit(netdev_priv(netdev));
>   }
>   
> -static int owl_emac_ndo_do_ioctl(struct net_device *netdev,
> -				 struct ifreq *req, int cmd)
> +static int owl_emac_ndo_eth_ioctl(struct net_device *netdev,
> +				  struct ifreq *req, int cmd)
>   {
>   	if (!netif_running(netdev))
>   		return -EINVAL;
> @@ -1224,7 +1224,7 @@ static const struct net_device_ops owl_emac_netdev_ops = {
>   	.ndo_set_rx_mode	= owl_emac_ndo_set_rx_mode,
>   	.ndo_set_mac_address	= owl_emac_ndo_set_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl		= owl_emac_ndo_do_ioctl,
> +	.ndo_eth_ioctl		= owl_emac_ndo_eth_ioctl,
>   	.ndo_tx_timeout         = owl_emac_ndo_tx_timeout,
>   	.ndo_get_stats		= owl_emac_ndo_get_stats,
>   };
> diff --git a/drivers/net/ethernet/adaptec/starfire.c b/drivers/net/ethernet/adaptec/starfire.c
> index 7965e5e3c985..e0f6cc910bd2 100644
> --- a/drivers/net/ethernet/adaptec/starfire.c
> +++ b/drivers/net/ethernet/adaptec/starfire.c
> @@ -625,7 +625,7 @@ static const struct net_device_ops netdev_ops = {
>   	.ndo_tx_timeout		= tx_timeout,
>   	.ndo_get_stats		= get_stats,
>   	.ndo_set_rx_mode	= set_rx_mode,
> -	.ndo_do_ioctl		= netdev_ioctl,
> +	.ndo_eth_ioctl		= netdev_ioctl,
>   	.ndo_set_mac_address	= eth_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
>   #ifdef VLAN_SUPPORT
> diff --git a/drivers/net/ethernet/agere/et131x.c b/drivers/net/ethernet/agere/et131x.c
> index 41f8821f792d..920633161174 100644
> --- a/drivers/net/ethernet/agere/et131x.c
> +++ b/drivers/net/ethernet/agere/et131x.c
> @@ -3882,7 +3882,7 @@ static const struct net_device_ops et131x_netdev_ops = {
>   	.ndo_set_mac_address	= eth_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_get_stats		= et131x_stats,
> -	.ndo_do_ioctl		= phy_do_ioctl,
> +	.ndo_eth_ioctl		= phy_do_ioctl,
>   };
>   
>   static int et131x_pci_setup(struct pci_dev *pdev,
> diff --git a/drivers/net/ethernet/allwinner/sun4i-emac.c b/drivers/net/ethernet/allwinner/sun4i-emac.c
> index f99ae317c188..037baea1c738 100644
> --- a/drivers/net/ethernet/allwinner/sun4i-emac.c
> +++ b/drivers/net/ethernet/allwinner/sun4i-emac.c
> @@ -774,7 +774,7 @@ static const struct net_device_ops emac_netdev_ops = {
>   	.ndo_start_xmit		= emac_start_xmit,
>   	.ndo_tx_timeout		= emac_timeout,
>   	.ndo_set_rx_mode	= emac_set_rx_mode,
> -	.ndo_do_ioctl		= phy_do_ioctl_running,
> +	.ndo_eth_ioctl		= phy_do_ioctl_running,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address	= emac_set_mac_address,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
> diff --git a/drivers/net/ethernet/amd/amd8111e.c b/drivers/net/ethernet/amd/amd8111e.c
> index 9cac5aa75a73..92e4246dc359 100644
> --- a/drivers/net/ethernet/amd/amd8111e.c
> +++ b/drivers/net/ethernet/amd/amd8111e.c
> @@ -1729,7 +1729,7 @@ static const struct net_device_ops amd8111e_netdev_ops = {
>   	.ndo_set_rx_mode	= amd8111e_set_multicast_list,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address	= amd8111e_set_mac_address,
> -	.ndo_do_ioctl		= amd8111e_ioctl,
> +	.ndo_eth_ioctl		= amd8111e_ioctl,
>   	.ndo_change_mtu		= amd8111e_change_mtu,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
>   	.ndo_poll_controller	 = amd8111e_poll,
> diff --git a/drivers/net/ethernet/amd/au1000_eth.c b/drivers/net/ethernet/amd/au1000_eth.c
> index 19e195420e24..9c1636222b99 100644
> --- a/drivers/net/ethernet/amd/au1000_eth.c
> +++ b/drivers/net/ethernet/amd/au1000_eth.c
> @@ -1051,7 +1051,7 @@ static const struct net_device_ops au1000_netdev_ops = {
>   	.ndo_stop		= au1000_close,
>   	.ndo_start_xmit		= au1000_tx,
>   	.ndo_set_rx_mode	= au1000_multicast_list,
> -	.ndo_do_ioctl		= phy_do_ioctl_running,
> +	.ndo_eth_ioctl		= phy_do_ioctl_running,
>   	.ndo_tx_timeout		= au1000_tx_timeout,
>   	.ndo_set_mac_address	= eth_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
> diff --git a/drivers/net/ethernet/amd/pcnet32.c b/drivers/net/ethernet/amd/pcnet32.c
> index 4100ab07e6b7..70d76fdb9f56 100644
> --- a/drivers/net/ethernet/amd/pcnet32.c
> +++ b/drivers/net/ethernet/amd/pcnet32.c
> @@ -1572,7 +1572,7 @@ static const struct net_device_ops pcnet32_netdev_ops = {
>   	.ndo_tx_timeout		= pcnet32_tx_timeout,
>   	.ndo_get_stats		= pcnet32_get_stats,
>   	.ndo_set_rx_mode	= pcnet32_set_multicast_list,
> -	.ndo_do_ioctl		= pcnet32_ioctl,
> +	.ndo_eth_ioctl		= pcnet32_ioctl,
>   	.ndo_set_mac_address 	= eth_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
> diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-drv.c b/drivers/net/ethernet/amd/xgbe/xgbe-drv.c
> index 4f714f874c4f..17a585adfb49 100644
> --- a/drivers/net/ethernet/amd/xgbe/xgbe-drv.c
> +++ b/drivers/net/ethernet/amd/xgbe/xgbe-drv.c
> @@ -2284,7 +2284,7 @@ static const struct net_device_ops xgbe_netdev_ops = {
>   	.ndo_set_rx_mode	= xgbe_set_rx_mode,
>   	.ndo_set_mac_address	= xgbe_set_mac_address,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl		= xgbe_ioctl,
> +	.ndo_eth_ioctl		= xgbe_ioctl,
>   	.ndo_change_mtu		= xgbe_change_mtu,
>   	.ndo_tx_timeout		= xgbe_tx_timeout,
>   	.ndo_get_stats64	= xgbe_get_stats64,
> diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_main.c b/drivers/net/ethernet/aquantia/atlantic/aq_main.c
> index 4af0cd9530de..e22935ce9573 100644
> --- a/drivers/net/ethernet/aquantia/atlantic/aq_main.c
> +++ b/drivers/net/ethernet/aquantia/atlantic/aq_main.c
> @@ -421,7 +421,7 @@ static const struct net_device_ops aq_ndev_ops = {
>   	.ndo_change_mtu = aq_ndev_change_mtu,
>   	.ndo_set_mac_address = aq_ndev_set_mac_address,
>   	.ndo_set_features = aq_ndev_set_features,
> -	.ndo_do_ioctl = aq_ndev_ioctl,
> +	.ndo_eth_ioctl = aq_ndev_ioctl,
>   	.ndo_vlan_rx_add_vid = aq_ndo_vlan_rx_add_vid,
>   	.ndo_vlan_rx_kill_vid = aq_ndo_vlan_rx_kill_vid,
>   	.ndo_setup_tc = aq_ndo_setup_tc,
> diff --git a/drivers/net/ethernet/arc/emac_main.c b/drivers/net/ethernet/arc/emac_main.c
> index 67b8113a2b53..38c288ec9059 100644
> --- a/drivers/net/ethernet/arc/emac_main.c
> +++ b/drivers/net/ethernet/arc/emac_main.c
> @@ -844,7 +844,7 @@ static const struct net_device_ops arc_emac_netdev_ops = {
>   	.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		= phy_do_ioctl_running,
> +	.ndo_eth_ioctl		= phy_do_ioctl_running,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
>   	.ndo_poll_controller	= arc_emac_poll_controller,
>   #endif
> diff --git a/drivers/net/ethernet/atheros/ag71xx.c b/drivers/net/ethernet/atheros/ag71xx.c
> index 1ba81b1eb6fd..02ae98aabf91 100644
> --- a/drivers/net/ethernet/atheros/ag71xx.c
> +++ b/drivers/net/ethernet/atheros/ag71xx.c
> @@ -1851,7 +1851,7 @@ static const struct net_device_ops ag71xx_netdev_ops = {
>   	.ndo_open		= ag71xx_open,
>   	.ndo_stop		= ag71xx_stop,
>   	.ndo_start_xmit		= ag71xx_hard_start_xmit,
> -	.ndo_do_ioctl		= phy_do_ioctl,
> +	.ndo_eth_ioctl		= phy_do_ioctl,
>   	.ndo_tx_timeout		= ag71xx_tx_timeout,
>   	.ndo_change_mtu		= ag71xx_change_mtu,
>   	.ndo_set_mac_address	= eth_mac_addr,
> diff --git a/drivers/net/ethernet/atheros/alx/main.c b/drivers/net/ethernet/atheros/alx/main.c
> index 11ef1fbe7aee..4ea157efca86 100644
> --- a/drivers/net/ethernet/atheros/alx/main.c
> +++ b/drivers/net/ethernet/atheros/alx/main.c
> @@ -1701,7 +1701,7 @@ static const struct net_device_ops alx_netdev_ops = {
>   	.ndo_validate_addr      = eth_validate_addr,
>   	.ndo_set_mac_address    = alx_set_mac_address,
>   	.ndo_change_mtu         = alx_change_mtu,
> -	.ndo_do_ioctl           = alx_ioctl,
> +	.ndo_eth_ioctl           = alx_ioctl,
>   	.ndo_tx_timeout         = alx_tx_timeout,
>   	.ndo_fix_features	= alx_fix_features,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
> diff --git a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
> index 1c6246a5dc22..3b51b172b317 100644
> --- a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
> +++ b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
> @@ -2609,7 +2609,7 @@ static const struct net_device_ops atl1c_netdev_ops = {
>   	.ndo_change_mtu		= atl1c_change_mtu,
>   	.ndo_fix_features	= atl1c_fix_features,
>   	.ndo_set_features	= atl1c_set_features,
> -	.ndo_do_ioctl		= atl1c_ioctl,
> +	.ndo_eth_ioctl		= atl1c_ioctl,
>   	.ndo_tx_timeout		= atl1c_tx_timeout,
>   	.ndo_get_stats		= atl1c_get_stats,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
> diff --git a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
> index 2eb0a2ab69f6..753973ac922e 100644
> --- a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
> +++ b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
> @@ -2247,7 +2247,7 @@ static const struct net_device_ops atl1e_netdev_ops = {
>   	.ndo_fix_features	= atl1e_fix_features,
>   	.ndo_set_features	= atl1e_set_features,
>   	.ndo_change_mtu		= atl1e_change_mtu,
> -	.ndo_do_ioctl		= atl1e_ioctl,
> +	.ndo_eth_ioctl		= atl1e_ioctl,
>   	.ndo_tx_timeout		= atl1e_tx_timeout,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
>   	.ndo_poll_controller	= atl1e_netpoll,
> diff --git a/drivers/net/ethernet/atheros/atlx/atl1.c b/drivers/net/ethernet/atheros/atlx/atl1.c
> index c67201a13cf5..68f6c0bbd945 100644
> --- a/drivers/net/ethernet/atheros/atlx/atl1.c
> +++ b/drivers/net/ethernet/atheros/atlx/atl1.c
> @@ -2885,7 +2885,7 @@ static const struct net_device_ops atl1_netdev_ops = {
>   	.ndo_change_mtu		= atl1_change_mtu,
>   	.ndo_fix_features	= atlx_fix_features,
>   	.ndo_set_features	= atlx_set_features,
> -	.ndo_do_ioctl		= atlx_ioctl,
> +	.ndo_eth_ioctl		= atlx_ioctl,
>   	.ndo_tx_timeout		= atlx_tx_timeout,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
>   	.ndo_poll_controller	= atl1_poll_controller,
> diff --git a/drivers/net/ethernet/atheros/atlx/atl2.c b/drivers/net/ethernet/atheros/atlx/atl2.c
> index 0cc0db04c27d..b69298ddb647 100644
> --- a/drivers/net/ethernet/atheros/atlx/atl2.c
> +++ b/drivers/net/ethernet/atheros/atlx/atl2.c
> @@ -1293,7 +1293,7 @@ static const struct net_device_ops atl2_netdev_ops = {
>   	.ndo_change_mtu		= atl2_change_mtu,
>   	.ndo_fix_features	= atl2_fix_features,
>   	.ndo_set_features	= atl2_set_features,
> -	.ndo_do_ioctl		= atl2_ioctl,
> +	.ndo_eth_ioctl		= atl2_ioctl,
>   	.ndo_tx_timeout		= atl2_tx_timeout,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
>   	.ndo_poll_controller	= atl2_poll_controller,
> diff --git a/drivers/net/ethernet/broadcom/b44.c b/drivers/net/ethernet/broadcom/b44.c
> index ad2655efe423..fa784953c601 100644
> --- a/drivers/net/ethernet/broadcom/b44.c
> +++ b/drivers/net/ethernet/broadcom/b44.c
> @@ -2198,7 +2198,7 @@ static const struct net_device_ops b44_netdev_ops = {
>   	.ndo_set_rx_mode	= b44_set_rx_mode,
>   	.ndo_set_mac_address	= b44_set_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl		= b44_ioctl,
> +	.ndo_eth_ioctl		= b44_ioctl,
>   	.ndo_tx_timeout		= b44_tx_timeout,
>   	.ndo_change_mtu		= b44_change_mtu,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
> diff --git a/drivers/net/ethernet/broadcom/bcm63xx_enet.c b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
> index 977f097fc7bf..5ec056a26cf8 100644
> --- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
> +++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
> @@ -1699,7 +1699,7 @@ static const struct net_device_ops bcm_enet_ops = {
>   	.ndo_start_xmit		= bcm_enet_start_xmit,
>   	.ndo_set_mac_address	= bcm_enet_set_mac_address,
>   	.ndo_set_rx_mode	= bcm_enet_set_multicast_list,
> -	.ndo_do_ioctl		= bcm_enet_ioctl,
> +	.ndo_eth_ioctl		= bcm_enet_ioctl,
>   	.ndo_change_mtu		= bcm_enet_change_mtu,
>   };
>   
> @@ -2446,7 +2446,7 @@ static const struct net_device_ops bcm_enetsw_ops = {
>   	.ndo_stop		= bcm_enetsw_stop,
>   	.ndo_start_xmit		= bcm_enet_start_xmit,
>   	.ndo_change_mtu		= bcm_enet_change_mtu,
> -	.ndo_do_ioctl		= bcm_enetsw_ioctl,
> +	.ndo_eth_ioctl		= bcm_enetsw_ioctl,
>   };
>   
>   
> diff --git a/drivers/net/ethernet/broadcom/bgmac.c b/drivers/net/ethernet/broadcom/bgmac.c
> index 075f6e146b29..fe4d99abd548 100644
> --- a/drivers/net/ethernet/broadcom/bgmac.c
> +++ b/drivers/net/ethernet/broadcom/bgmac.c
> @@ -1263,7 +1263,7 @@ static const struct net_device_ops bgmac_netdev_ops = {
>   	.ndo_set_rx_mode	= bgmac_set_rx_mode,
>   	.ndo_set_mac_address	= bgmac_set_mac_address,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl           = phy_do_ioctl_running,
> +	.ndo_eth_ioctl           = phy_do_ioctl_running,
>   	.ndo_change_mtu		= bgmac_change_mtu,
>   };
>   
> diff --git a/drivers/net/ethernet/broadcom/bnx2.c b/drivers/net/ethernet/broadcom/bnx2.c
> index bee6cfad9fc6..89ee1c0e9c79 100644
> --- a/drivers/net/ethernet/broadcom/bnx2.c
> +++ b/drivers/net/ethernet/broadcom/bnx2.c
> @@ -8546,7 +8546,7 @@ static const struct net_device_ops bnx2_netdev_ops = {
>   	.ndo_stop		= bnx2_close,
>   	.ndo_get_stats64	= bnx2_get_stats64,
>   	.ndo_set_rx_mode	= bnx2_set_rx_mode,
> -	.ndo_do_ioctl		= bnx2_ioctl,
> +	.ndo_eth_ioctl		= bnx2_ioctl,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address	= bnx2_change_mac_addr,
>   	.ndo_change_mtu		= bnx2_change_mtu,
> diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
> index 2acbc73dcd18..6d98134913cd 100644
> --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
> +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
> @@ -13048,7 +13048,7 @@ static const struct net_device_ops bnx2x_netdev_ops = {
>   	.ndo_set_rx_mode	= bnx2x_set_rx_mode,
>   	.ndo_set_mac_address	= bnx2x_change_mac_addr,
>   	.ndo_validate_addr	= bnx2x_validate_addr,
> -	.ndo_do_ioctl		= bnx2x_ioctl,
> +	.ndo_eth_ioctl		= bnx2x_ioctl,
>   	.ndo_change_mtu		= bnx2x_change_mtu,
>   	.ndo_fix_features	= bnx2x_fix_features,
>   	.ndo_set_features	= bnx2x_set_features,
> diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
> index f56245eeef7b..eee964c8d8fc 100644
> --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
> +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
> @@ -12623,7 +12623,7 @@ static const struct net_device_ops bnxt_netdev_ops = {
>   	.ndo_stop		= bnxt_close,
>   	.ndo_get_stats64	= bnxt_get_stats64,
>   	.ndo_set_rx_mode	= bnxt_set_rx_mode,
> -	.ndo_do_ioctl		= bnxt_ioctl,
> +	.ndo_eth_ioctl		= bnxt_ioctl,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address	= bnxt_change_mac_addr,
>   	.ndo_change_mtu		= bnxt_change_mtu,
> diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
> index db74241935ab..63e2237e0cb4 100644
> --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
> +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
> @@ -3659,7 +3659,7 @@ static const struct net_device_ops bcmgenet_netdev_ops = {
>   	.ndo_tx_timeout		= bcmgenet_timeout,
>   	.ndo_set_rx_mode	= bcmgenet_set_rx_mode,
>   	.ndo_set_mac_address	= bcmgenet_set_mac_addr,
> -	.ndo_do_ioctl		= phy_do_ioctl_running,
> +	.ndo_eth_ioctl		= phy_do_ioctl_running,
>   	.ndo_set_features	= bcmgenet_set_features,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
>   	.ndo_poll_controller	= bcmgenet_poll_controller,
> diff --git a/drivers/net/ethernet/broadcom/sb1250-mac.c b/drivers/net/ethernet/broadcom/sb1250-mac.c
> index 5b4568c2ad1c..f38f40eb966e 100644
> --- a/drivers/net/ethernet/broadcom/sb1250-mac.c
> +++ b/drivers/net/ethernet/broadcom/sb1250-mac.c
> @@ -2136,7 +2136,7 @@ static const struct net_device_ops sbmac_netdev_ops = {
>   	.ndo_start_xmit		= sbmac_start_tx,
>   	.ndo_set_rx_mode	= sbmac_set_rx_mode,
>   	.ndo_tx_timeout		= sbmac_tx_timeout,
> -	.ndo_do_ioctl		= sbmac_mii_ioctl,
> +	.ndo_eth_ioctl		= sbmac_mii_ioctl,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address	= eth_mac_addr,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
> diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
> index b0e49643f483..6f82eeaa4b9f 100644
> --- a/drivers/net/ethernet/broadcom/tg3.c
> +++ b/drivers/net/ethernet/broadcom/tg3.c
> @@ -14290,7 +14290,7 @@ static const struct net_device_ops tg3_netdev_ops = {
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_rx_mode	= tg3_set_rx_mode,
>   	.ndo_set_mac_address	= tg3_set_mac_addr,
> -	.ndo_do_ioctl		= tg3_ioctl,
> +	.ndo_eth_ioctl		= tg3_ioctl,
>   	.ndo_tx_timeout		= tg3_tx_timeout,
>   	.ndo_change_mtu		= tg3_change_mtu,
>   	.ndo_fix_features	= tg3_fix_features,
> diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
> index 7d2fe13a52f8..181ebc235925 100644
> --- a/drivers/net/ethernet/cadence/macb_main.c
> +++ b/drivers/net/ethernet/cadence/macb_main.c
> @@ -3664,7 +3664,7 @@ static const struct net_device_ops macb_netdev_ops = {
>   	.ndo_start_xmit		= macb_start_xmit,
>   	.ndo_set_rx_mode	= macb_set_rx_mode,
>   	.ndo_get_stats		= macb_get_stats,
> -	.ndo_do_ioctl		= macb_ioctl,
> +	.ndo_eth_ioctl		= macb_ioctl,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_change_mtu		= macb_change_mtu,
>   	.ndo_set_mac_address	= eth_mac_addr,
> @@ -4323,7 +4323,7 @@ static const struct net_device_ops at91ether_netdev_ops = {
>   	.ndo_get_stats		= macb_get_stats,
>   	.ndo_set_rx_mode	= macb_set_rx_mode,
>   	.ndo_set_mac_address	= eth_mac_addr,
> -	.ndo_do_ioctl		= macb_ioctl,
> +	.ndo_eth_ioctl		= macb_ioctl,
>   	.ndo_validate_addr	= eth_validate_addr,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
>   	.ndo_poll_controller	= at91ether_poll_controller,
> diff --git a/drivers/net/ethernet/cavium/liquidio/lio_main.c b/drivers/net/ethernet/cavium/liquidio/lio_main.c
> index 591229b96257..a4a5209a9386 100644
> --- a/drivers/net/ethernet/cavium/liquidio/lio_main.c
> +++ b/drivers/net/ethernet/cavium/liquidio/lio_main.c
> @@ -3223,7 +3223,7 @@ static const struct net_device_ops lionetdevops = {
>   	.ndo_vlan_rx_add_vid    = liquidio_vlan_rx_add_vid,
>   	.ndo_vlan_rx_kill_vid   = liquidio_vlan_rx_kill_vid,
>   	.ndo_change_mtu		= liquidio_change_mtu,
> -	.ndo_do_ioctl		= liquidio_ioctl,
> +	.ndo_eth_ioctl		= liquidio_ioctl,
>   	.ndo_fix_features	= liquidio_fix_features,
>   	.ndo_set_features	= liquidio_set_features,
>   	.ndo_set_vf_mac		= liquidio_set_vf_mac,
> diff --git a/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c b/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c
> index ffddb3126a32..3085dd455a17 100644
> --- a/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c
> +++ b/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c
> @@ -1889,7 +1889,7 @@ static const struct net_device_ops lionetdevops = {
>   	.ndo_vlan_rx_add_vid    = liquidio_vlan_rx_add_vid,
>   	.ndo_vlan_rx_kill_vid   = liquidio_vlan_rx_kill_vid,
>   	.ndo_change_mtu		= liquidio_change_mtu,
> -	.ndo_do_ioctl		= liquidio_ioctl,
> +	.ndo_eth_ioctl		= liquidio_ioctl,
>   	.ndo_fix_features	= liquidio_fix_features,
>   	.ndo_set_features	= liquidio_set_features,
>   };
> diff --git a/drivers/net/ethernet/cavium/octeon/octeon_mgmt.c b/drivers/net/ethernet/cavium/octeon/octeon_mgmt.c
> index 48ff6fb0eed9..30463a6d1f8c 100644
> --- a/drivers/net/ethernet/cavium/octeon/octeon_mgmt.c
> +++ b/drivers/net/ethernet/cavium/octeon/octeon_mgmt.c
> @@ -1373,7 +1373,7 @@ static const struct net_device_ops octeon_mgmt_ops = {
>   	.ndo_start_xmit =		octeon_mgmt_xmit,
>   	.ndo_set_rx_mode =		octeon_mgmt_set_rx_filtering,
>   	.ndo_set_mac_address =		octeon_mgmt_set_mac_address,
> -	.ndo_do_ioctl =			octeon_mgmt_ioctl,
> +	.ndo_eth_ioctl =			octeon_mgmt_ioctl,
>   	.ndo_change_mtu =		octeon_mgmt_change_mtu,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
>   	.ndo_poll_controller =		octeon_mgmt_poll_controller,
> diff --git a/drivers/net/ethernet/cavium/thunder/nicvf_main.c b/drivers/net/ethernet/cavium/thunder/nicvf_main.c
> index e2b290135fd9..efaaa57d4ed5 100644
> --- a/drivers/net/ethernet/cavium/thunder/nicvf_main.c
> +++ b/drivers/net/ethernet/cavium/thunder/nicvf_main.c
> @@ -2096,7 +2096,7 @@ static const struct net_device_ops nicvf_netdev_ops = {
>   	.ndo_fix_features       = nicvf_fix_features,
>   	.ndo_set_features       = nicvf_set_features,
>   	.ndo_bpf		= nicvf_xdp,
> -	.ndo_do_ioctl           = nicvf_ioctl,
> +	.ndo_eth_ioctl           = nicvf_ioctl,
>   	.ndo_set_rx_mode        = nicvf_set_rx_mode,
>   };
>   
> diff --git a/drivers/net/ethernet/chelsio/cxgb/cxgb2.c b/drivers/net/ethernet/chelsio/cxgb/cxgb2.c
> index 512da98019c6..e7575d41f4f5 100644
> --- a/drivers/net/ethernet/chelsio/cxgb/cxgb2.c
> +++ b/drivers/net/ethernet/chelsio/cxgb/cxgb2.c
> @@ -924,7 +924,7 @@ static const struct net_device_ops cxgb_netdev_ops = {
>   	.ndo_get_stats		= t1_get_stats,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_rx_mode	= t1_set_rxmode,
> -	.ndo_do_ioctl		= t1_ioctl,
> +	.ndo_eth_ioctl		= t1_ioctl,
>   	.ndo_change_mtu		= t1_change_mtu,
>   	.ndo_set_mac_address	= t1_set_mac_addr,
>   	.ndo_fix_features	= t1_fix_features,
> diff --git a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
> index eae893d7d840..72af9d2a00ae 100644
> --- a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
> +++ b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
> @@ -3184,7 +3184,7 @@ static const struct net_device_ops cxgb_netdev_ops = {
>   	.ndo_get_stats		= cxgb_get_stats,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_rx_mode	= cxgb_set_rxmode,
> -	.ndo_do_ioctl		= cxgb_ioctl,
> +	.ndo_eth_ioctl		= cxgb_ioctl,
>   	.ndo_siocdevprivate	= cxgb_siocdevprivate,
>   	.ndo_change_mtu		= cxgb_change_mtu,
>   	.ndo_set_mac_address	= cxgb_set_mac_addr,
> diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
> index dbf9a0e6601d..aa8573202c37 100644
> --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
> +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
> @@ -3872,7 +3872,7 @@ static const struct net_device_ops cxgb4_netdev_ops = {
>   	.ndo_set_mac_address  = cxgb_set_mac_addr,
>   	.ndo_set_features     = cxgb_set_features,
>   	.ndo_validate_addr    = eth_validate_addr,
> -	.ndo_do_ioctl         = cxgb_ioctl,
> +	.ndo_eth_ioctl         = cxgb_ioctl,
>   	.ndo_change_mtu       = cxgb_change_mtu,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
>   	.ndo_poll_controller  = cxgb_netpoll,
> diff --git a/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c b/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
> index 2820a0bb971b..2842628ad2c5 100644
> --- a/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
> +++ b/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
> @@ -2837,7 +2837,7 @@ static const struct net_device_ops cxgb4vf_netdev_ops	= {
>   	.ndo_set_rx_mode	= cxgb4vf_set_rxmode,
>   	.ndo_set_mac_address	= cxgb4vf_set_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl		= cxgb4vf_do_ioctl,
> +	.ndo_eth_ioctl		= cxgb4vf_do_ioctl,
>   	.ndo_change_mtu		= cxgb4vf_change_mtu,
>   	.ndo_fix_features	= cxgb4vf_fix_features,
>   	.ndo_set_features	= cxgb4vf_set_features,
> diff --git a/drivers/net/ethernet/cirrus/ep93xx_eth.c b/drivers/net/ethernet/cirrus/ep93xx_eth.c
> index 9f5e5ec69991..072fac5f5d24 100644
> --- a/drivers/net/ethernet/cirrus/ep93xx_eth.c
> +++ b/drivers/net/ethernet/cirrus/ep93xx_eth.c
> @@ -733,7 +733,7 @@ static const struct net_device_ops ep93xx_netdev_ops = {
>   	.ndo_open		= ep93xx_open,
>   	.ndo_stop		= ep93xx_close,
>   	.ndo_start_xmit		= ep93xx_xmit,
> -	.ndo_do_ioctl		= ep93xx_ioctl,
> +	.ndo_eth_ioctl		= ep93xx_ioctl,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address	= eth_mac_addr,
>   };
> diff --git a/drivers/net/ethernet/davicom/dm9000.c b/drivers/net/ethernet/davicom/dm9000.c
> index 2a8bf53c2f75..e842de6f6635 100644
> --- a/drivers/net/ethernet/davicom/dm9000.c
> +++ b/drivers/net/ethernet/davicom/dm9000.c
> @@ -1372,7 +1372,7 @@ static const struct net_device_ops dm9000_netdev_ops = {
>   	.ndo_start_xmit		= dm9000_start_xmit,
>   	.ndo_tx_timeout		= dm9000_timeout,
>   	.ndo_set_rx_mode	= dm9000_hash_table,
> -	.ndo_do_ioctl		= dm9000_ioctl,
> +	.ndo_eth_ioctl		= dm9000_ioctl,
>   	.ndo_set_features	= dm9000_set_features,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address	= eth_mac_addr,
> diff --git a/drivers/net/ethernet/dec/tulip/tulip_core.c b/drivers/net/ethernet/dec/tulip/tulip_core.c
> index c1dcd6ca1457..fcedd733bacb 100644
> --- a/drivers/net/ethernet/dec/tulip/tulip_core.c
> +++ b/drivers/net/ethernet/dec/tulip/tulip_core.c
> @@ -1271,7 +1271,7 @@ static const struct net_device_ops tulip_netdev_ops = {
>   	.ndo_tx_timeout		= tulip_tx_timeout,
>   	.ndo_stop		= tulip_close,
>   	.ndo_get_stats		= tulip_get_stats,
> -	.ndo_do_ioctl 		= private_ioctl,
> +	.ndo_eth_ioctl		= private_ioctl,
>   	.ndo_set_rx_mode	= set_rx_mode,
>   	.ndo_set_mac_address	= eth_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
> diff --git a/drivers/net/ethernet/dec/tulip/winbond-840.c b/drivers/net/ethernet/dec/tulip/winbond-840.c
> index f6ff1f76eacb..07a48f6bf0fa 100644
> --- a/drivers/net/ethernet/dec/tulip/winbond-840.c
> +++ b/drivers/net/ethernet/dec/tulip/winbond-840.c
> @@ -341,7 +341,7 @@ static const struct net_device_ops netdev_ops = {
>   	.ndo_start_xmit		= start_tx,
>   	.ndo_get_stats		= get_stats,
>   	.ndo_set_rx_mode	= set_rx_mode,
> -	.ndo_do_ioctl		= netdev_ioctl,
> +	.ndo_eth_ioctl		= netdev_ioctl,
>   	.ndo_tx_timeout		= tx_timeout,
>   	.ndo_set_mac_address	= eth_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
> diff --git a/drivers/net/ethernet/dlink/dl2k.c b/drivers/net/ethernet/dlink/dl2k.c
> index 734acb834c98..202ecb132053 100644
> --- a/drivers/net/ethernet/dlink/dl2k.c
> +++ b/drivers/net/ethernet/dlink/dl2k.c
> @@ -95,7 +95,7 @@ static const struct net_device_ops netdev_ops = {
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address 	= eth_mac_addr,
>   	.ndo_set_rx_mode	= set_multicast,
> -	.ndo_do_ioctl		= rio_ioctl,
> +	.ndo_eth_ioctl		= rio_ioctl,
>   	.ndo_tx_timeout		= rio_tx_timeout,
>   };
>   
> diff --git a/drivers/net/ethernet/dlink/sundance.c b/drivers/net/ethernet/dlink/sundance.c
> index ee0ca712dd1c..c36d186dffed 100644
> --- a/drivers/net/ethernet/dlink/sundance.c
> +++ b/drivers/net/ethernet/dlink/sundance.c
> @@ -479,7 +479,7 @@ static const struct net_device_ops netdev_ops = {
>   	.ndo_start_xmit		= start_tx,
>   	.ndo_get_stats 		= get_stats,
>   	.ndo_set_rx_mode	= set_rx_mode,
> -	.ndo_do_ioctl 		= netdev_ioctl,
> +	.ndo_eth_ioctl		= netdev_ioctl,
>   	.ndo_tx_timeout		= tx_timeout,
>   	.ndo_change_mtu		= change_mtu,
>   	.ndo_set_mac_address 	= sundance_set_mac_addr,
> diff --git a/drivers/net/ethernet/dnet.c b/drivers/net/ethernet/dnet.c
> index 48c6eb142dcc..6c51cf991dad 100644
> --- a/drivers/net/ethernet/dnet.c
> +++ b/drivers/net/ethernet/dnet.c
> @@ -742,7 +742,7 @@ static const struct net_device_ops dnet_netdev_ops = {
>   	.ndo_stop		= dnet_close,
>   	.ndo_get_stats		= dnet_get_stats,
>   	.ndo_start_xmit		= dnet_start_xmit,
> -	.ndo_do_ioctl		= phy_do_ioctl_running,
> +	.ndo_eth_ioctl		= phy_do_ioctl_running,
>   	.ndo_set_mac_address	= eth_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
>   };
> diff --git a/drivers/net/ethernet/ethoc.c b/drivers/net/ethernet/ethoc.c
> index e1b43b07755b..ed1ed48e7483 100644
> --- a/drivers/net/ethernet/ethoc.c
> +++ b/drivers/net/ethernet/ethoc.c
> @@ -1009,7 +1009,7 @@ static const struct ethtool_ops ethoc_ethtool_ops = {
>   static const struct net_device_ops ethoc_netdev_ops = {
>   	.ndo_open = ethoc_open,
>   	.ndo_stop = ethoc_stop,
> -	.ndo_do_ioctl = ethoc_ioctl,
> +	.ndo_eth_ioctl = ethoc_ioctl,
>   	.ndo_set_mac_address = ethoc_set_mac_address,
>   	.ndo_set_rx_mode = ethoc_set_multicast_list,
>   	.ndo_change_mtu = ethoc_change_mtu,
> diff --git a/drivers/net/ethernet/faraday/ftgmac100.c b/drivers/net/ethernet/faraday/ftgmac100.c
> index 11dbbfd38770..ff76e401a014 100644
> --- a/drivers/net/ethernet/faraday/ftgmac100.c
> +++ b/drivers/net/ethernet/faraday/ftgmac100.c
> @@ -1616,7 +1616,7 @@ static const struct net_device_ops ftgmac100_netdev_ops = {
>   	.ndo_start_xmit		= ftgmac100_hard_start_xmit,
>   	.ndo_set_mac_address	= ftgmac100_set_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl		= phy_do_ioctl,
> +	.ndo_eth_ioctl		= phy_do_ioctl,
>   	.ndo_tx_timeout		= ftgmac100_tx_timeout,
>   	.ndo_set_rx_mode	= ftgmac100_set_rx_mode,
>   	.ndo_set_features	= ftgmac100_set_features,
> diff --git a/drivers/net/ethernet/faraday/ftmac100.c b/drivers/net/ethernet/faraday/ftmac100.c
> index 5a1a8f2ea63c..8a341e2d5833 100644
> --- a/drivers/net/ethernet/faraday/ftmac100.c
> +++ b/drivers/net/ethernet/faraday/ftmac100.c
> @@ -1043,7 +1043,7 @@ static const struct net_device_ops ftmac100_netdev_ops = {
>   	.ndo_start_xmit		= ftmac100_hard_start_xmit,
>   	.ndo_set_mac_address	= eth_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl		= ftmac100_do_ioctl,
> +	.ndo_eth_ioctl		= ftmac100_do_ioctl,
>   };
>   
>   /******************************************************************************
> diff --git a/drivers/net/ethernet/fealnx.c b/drivers/net/ethernet/fealnx.c
> index 0f141c14d72d..25c91b3c5fd3 100644
> --- a/drivers/net/ethernet/fealnx.c
> +++ b/drivers/net/ethernet/fealnx.c
> @@ -463,7 +463,7 @@ static const struct net_device_ops netdev_ops = {
>   	.ndo_start_xmit		= start_tx,
>   	.ndo_get_stats 		= get_stats,
>   	.ndo_set_rx_mode	= set_rx_mode,
> -	.ndo_do_ioctl		= mii_ioctl,
> +	.ndo_eth_ioctl		= mii_ioctl,
>   	.ndo_tx_timeout		= fealnx_tx_timeout,
>   	.ndo_set_mac_address 	= eth_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
> diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
> index e6826561cf11..685d2d8a3b36 100644
> --- a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
> +++ b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
> @@ -3157,7 +3157,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,
> +	.ndo_eth_ioctl = dpaa_ioctl,
>   	.ndo_setup_tc = dpaa_setup_tc,
>   	.ndo_change_mtu = dpaa_change_mtu,
>   	.ndo_bpf = dpaa_xdp,
> diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
> index 973352393bd4..f664021c3ad1 100644
> --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
> +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
> @@ -2594,7 +2594,7 @@ static const struct net_device_ops dpaa2_eth_ops = {
>   	.ndo_get_stats64 = dpaa2_eth_get_stats,
>   	.ndo_set_rx_mode = dpaa2_eth_set_rx_mode,
>   	.ndo_set_features = dpaa2_eth_set_features,
> -	.ndo_do_ioctl = dpaa2_eth_ioctl,
> +	.ndo_eth_ioctl = dpaa2_eth_ioctl,
>   	.ndo_change_mtu = dpaa2_eth_change_mtu,
>   	.ndo_bpf = dpaa2_eth_xdp,
>   	.ndo_xdp_xmit = dpaa2_eth_xdp_xmit,
> diff --git a/drivers/net/ethernet/freescale/enetc/enetc_pf.c b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
> index c84f6c226743..60d94e0a07d6 100644
> --- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c
> +++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
> @@ -735,7 +735,7 @@ static const struct net_device_ops enetc_ndev_ops = {
>   	.ndo_set_vf_vlan	= enetc_pf_set_vf_vlan,
>   	.ndo_set_vf_spoofchk	= enetc_pf_set_vf_spoofchk,
>   	.ndo_set_features	= enetc_pf_set_features,
> -	.ndo_do_ioctl		= enetc_ioctl,
> +	.ndo_eth_ioctl		= enetc_ioctl,
>   	.ndo_setup_tc		= enetc_setup_tc,
>   	.ndo_bpf		= enetc_setup_bpf,
>   	.ndo_xdp_xmit		= enetc_xdp_xmit,
> diff --git a/drivers/net/ethernet/freescale/enetc/enetc_vf.c b/drivers/net/ethernet/freescale/enetc/enetc_vf.c
> index 03090ba7e226..1a9d1e8b772c 100644
> --- a/drivers/net/ethernet/freescale/enetc/enetc_vf.c
> +++ b/drivers/net/ethernet/freescale/enetc/enetc_vf.c
> @@ -99,7 +99,7 @@ static const struct net_device_ops enetc_ndev_ops = {
>   	.ndo_get_stats		= enetc_get_stats,
>   	.ndo_set_mac_address	= enetc_vf_set_mac_addr,
>   	.ndo_set_features	= enetc_vf_set_features,
> -	.ndo_do_ioctl		= enetc_ioctl,
> +	.ndo_eth_ioctl		= enetc_ioctl,
>   	.ndo_setup_tc		= enetc_setup_tc,
>   };
>   
> diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
> index 8aea707a65a7..e361be85f26f 100644
> --- a/drivers/net/ethernet/freescale/fec_main.c
> +++ b/drivers/net/ethernet/freescale/fec_main.c
> @@ -3280,7 +3280,7 @@ static const struct net_device_ops fec_netdev_ops = {
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_tx_timeout		= fec_timeout,
>   	.ndo_set_mac_address	= fec_set_mac_address,
> -	.ndo_do_ioctl		= fec_enet_ioctl,
> +	.ndo_eth_ioctl		= fec_enet_ioctl,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
>   	.ndo_poll_controller	= fec_poll_controller,
>   #endif
> diff --git a/drivers/net/ethernet/freescale/fec_mpc52xx.c b/drivers/net/ethernet/freescale/fec_mpc52xx.c
> index 02c47658a215..73ff359a15f1 100644
> --- a/drivers/net/ethernet/freescale/fec_mpc52xx.c
> +++ b/drivers/net/ethernet/freescale/fec_mpc52xx.c
> @@ -792,7 +792,7 @@ static const struct net_device_ops mpc52xx_fec_netdev_ops = {
>   	.ndo_set_rx_mode = mpc52xx_fec_set_multicast_list,
>   	.ndo_set_mac_address = mpc52xx_fec_set_mac_address,
>   	.ndo_validate_addr = eth_validate_addr,
> -	.ndo_do_ioctl = phy_do_ioctl,
> +	.ndo_eth_ioctl = phy_do_ioctl,
>   	.ndo_tx_timeout = mpc52xx_fec_tx_timeout,
>   	.ndo_get_stats = mpc52xx_fec_get_stats,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
> diff --git a/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c b/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
> index 6ee325ad35c5..2db6e38a772e 100644
> --- a/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
> +++ b/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
> @@ -900,7 +900,7 @@ static const struct net_device_ops fs_enet_netdev_ops = {
>   	.ndo_start_xmit		= fs_enet_start_xmit,
>   	.ndo_tx_timeout		= fs_timeout,
>   	.ndo_set_rx_mode	= fs_set_multicast_list,
> -	.ndo_do_ioctl		= phy_do_ioctl_running,
> +	.ndo_eth_ioctl		= phy_do_ioctl_running,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address	= eth_mac_addr,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
> diff --git a/drivers/net/ethernet/freescale/gianfar.c b/drivers/net/ethernet/freescale/gianfar.c
> index 9646483137c4..af6ad94bf24a 100644
> --- a/drivers/net/ethernet/freescale/gianfar.c
> +++ b/drivers/net/ethernet/freescale/gianfar.c
> @@ -3184,7 +3184,7 @@ static const struct net_device_ops gfar_netdev_ops = {
>   	.ndo_set_features = gfar_set_features,
>   	.ndo_set_rx_mode = gfar_set_multi,
>   	.ndo_tx_timeout = gfar_timeout,
> -	.ndo_do_ioctl = gfar_ioctl,
> +	.ndo_eth_ioctl = gfar_ioctl,
>   	.ndo_get_stats64 = gfar_get_stats64,
>   	.ndo_change_carrier = fixed_phy_change_carrier,
>   	.ndo_set_mac_address = gfar_set_mac_addr,
> diff --git a/drivers/net/ethernet/freescale/ucc_geth.c b/drivers/net/ethernet/freescale/ucc_geth.c
> index 0acfafb73db1..3eb288d10b0c 100644
> --- a/drivers/net/ethernet/freescale/ucc_geth.c
> +++ b/drivers/net/ethernet/freescale/ucc_geth.c
> @@ -3516,7 +3516,7 @@ static const struct net_device_ops ucc_geth_netdev_ops = {
>   	.ndo_set_mac_address	= ucc_geth_set_mac_addr,
>   	.ndo_set_rx_mode	= ucc_geth_set_multi,
>   	.ndo_tx_timeout		= ucc_geth_timeout,
> -	.ndo_do_ioctl		= ucc_geth_ioctl,
> +	.ndo_eth_ioctl		= ucc_geth_ioctl,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
>   	.ndo_poll_controller	= ucc_netpoll,
>   #endif
> diff --git a/drivers/net/ethernet/hisilicon/hisi_femac.c b/drivers/net/ethernet/hisilicon/hisi_femac.c
> index 3c4db4a6b431..22bf914f2dbd 100644
> --- a/drivers/net/ethernet/hisilicon/hisi_femac.c
> +++ b/drivers/net/ethernet/hisilicon/hisi_femac.c
> @@ -685,7 +685,7 @@ static const struct net_device_ops hisi_femac_netdev_ops = {
>   	.ndo_open		= hisi_femac_net_open,
>   	.ndo_stop		= hisi_femac_net_close,
>   	.ndo_start_xmit		= hisi_femac_net_xmit,
> -	.ndo_do_ioctl		= phy_do_ioctl_running,
> +	.ndo_eth_ioctl		= phy_do_ioctl_running,
>   	.ndo_set_mac_address	= hisi_femac_set_mac_address,
>   	.ndo_set_rx_mode	= hisi_femac_net_set_rx_mode,
>   };
> diff --git a/drivers/net/ethernet/hisilicon/hns/hns_enet.c b/drivers/net/ethernet/hisilicon/hns/hns_enet.c
> index ad534f9e41ab..343c605c4be8 100644
> --- a/drivers/net/ethernet/hisilicon/hns/hns_enet.c
> +++ b/drivers/net/ethernet/hisilicon/hns/hns_enet.c
> @@ -1945,7 +1945,7 @@ static const struct net_device_ops hns_nic_netdev_ops = {
>   	.ndo_tx_timeout = hns_nic_net_timeout,
>   	.ndo_set_mac_address = hns_nic_net_set_mac_address,
>   	.ndo_change_mtu = hns_nic_change_mtu,
> -	.ndo_do_ioctl = phy_do_ioctl_running,
> +	.ndo_eth_ioctl = phy_do_ioctl_running,
>   	.ndo_set_features = hns_nic_set_features,
>   	.ndo_fix_features = hns_nic_fix_features,
>   	.ndo_get_stats64 = hns_nic_get_stats64,
> diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
> index cdb5f14fb6bc..cb8d5da3654f 100644
> --- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
> +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
> @@ -2852,7 +2852,7 @@ static const struct net_device_ops hns3_nic_netdev_ops = {
>   	.ndo_start_xmit		= hns3_nic_net_xmit,
>   	.ndo_tx_timeout		= hns3_nic_net_timeout,
>   	.ndo_set_mac_address	= hns3_nic_net_set_mac_address,
> -	.ndo_do_ioctl		= hns3_nic_do_ioctl,
> +	.ndo_eth_ioctl		= hns3_nic_do_ioctl,
>   	.ndo_change_mtu		= hns3_nic_change_mtu,
>   	.ndo_set_features	= hns3_nic_set_features,
>   	.ndo_features_check	= hns3_features_check,
> diff --git a/drivers/net/ethernet/ibm/emac/core.c b/drivers/net/ethernet/ibm/emac/core.c
> index 471be6ec7e8a..664a91af662d 100644
> --- a/drivers/net/ethernet/ibm/emac/core.c
> +++ b/drivers/net/ethernet/ibm/emac/core.c
> @@ -3011,7 +3011,7 @@ static const struct net_device_ops emac_netdev_ops = {
>   	.ndo_stop		= emac_close,
>   	.ndo_get_stats		= emac_stats,
>   	.ndo_set_rx_mode	= emac_set_multicast_list,
> -	.ndo_do_ioctl		= emac_ioctl,
> +	.ndo_eth_ioctl		= emac_ioctl,
>   	.ndo_tx_timeout		= emac_tx_timeout,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address	= emac_set_mac_address,
> @@ -3023,7 +3023,7 @@ static const struct net_device_ops emac_gige_netdev_ops = {
>   	.ndo_stop		= emac_close,
>   	.ndo_get_stats		= emac_stats,
>   	.ndo_set_rx_mode	= emac_set_multicast_list,
> -	.ndo_do_ioctl		= emac_ioctl,
> +	.ndo_eth_ioctl		= emac_ioctl,
>   	.ndo_tx_timeout		= emac_tx_timeout,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address	= emac_set_mac_address,
> diff --git a/drivers/net/ethernet/ibm/ibmveth.c b/drivers/net/ethernet/ibm/ibmveth.c
> index 737ba85e409f..3d9b4f99d357 100644
> --- a/drivers/net/ethernet/ibm/ibmveth.c
> +++ b/drivers/net/ethernet/ibm/ibmveth.c
> @@ -1630,7 +1630,7 @@ static const struct net_device_ops ibmveth_netdev_ops = {
>   	.ndo_stop		= ibmveth_close,
>   	.ndo_start_xmit		= ibmveth_start_xmit,
>   	.ndo_set_rx_mode	= ibmveth_set_multicast_list,
> -	.ndo_do_ioctl		= ibmveth_ioctl,
> +	.ndo_eth_ioctl		= ibmveth_ioctl,
>   	.ndo_change_mtu		= ibmveth_change_mtu,
>   	.ndo_fix_features	= ibmveth_fix_features,
>   	.ndo_set_features	= ibmveth_set_features,
> diff --git a/drivers/net/ethernet/intel/e100.c b/drivers/net/ethernet/intel/e100.c
> index 1b0958bd24f6..8124e66e0654 100644
> --- a/drivers/net/ethernet/intel/e100.c
> +++ b/drivers/net/ethernet/intel/e100.c
> @@ -2809,7 +2809,7 @@ static const struct net_device_ops e100_netdev_ops = {
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_rx_mode	= e100_set_multicast_list,
>   	.ndo_set_mac_address	= e100_set_mac_address,
> -	.ndo_do_ioctl		= e100_do_ioctl,
> +	.ndo_eth_ioctl		= e100_do_ioctl,
>   	.ndo_tx_timeout		= e100_tx_timeout,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
>   	.ndo_poll_controller	= e100_netpoll,
> diff --git a/drivers/net/ethernet/intel/e1000/e1000_main.c b/drivers/net/ethernet/intel/e1000/e1000_main.c
> index c2a109126c27..bed4f040face 100644
> --- a/drivers/net/ethernet/intel/e1000/e1000_main.c
> +++ b/drivers/net/ethernet/intel/e1000/e1000_main.c
> @@ -832,7 +832,7 @@ static const struct net_device_ops e1000_netdev_ops = {
>   	.ndo_set_mac_address	= e1000_set_mac,
>   	.ndo_tx_timeout		= e1000_tx_timeout,
>   	.ndo_change_mtu		= e1000_change_mtu,
> -	.ndo_do_ioctl		= e1000_ioctl,
> +	.ndo_eth_ioctl		= e1000_ioctl,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_vlan_rx_add_vid	= e1000_vlan_rx_add_vid,
>   	.ndo_vlan_rx_kill_vid	= e1000_vlan_rx_kill_vid,
> diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
> index 757a54c39eef..834938702d55 100644
> --- a/drivers/net/ethernet/intel/e1000e/netdev.c
> +++ b/drivers/net/ethernet/intel/e1000e/netdev.c
> @@ -7302,7 +7302,7 @@ static const struct net_device_ops e1000e_netdev_ops = {
>   	.ndo_set_rx_mode	= e1000e_set_rx_mode,
>   	.ndo_set_mac_address	= e1000_set_mac,
>   	.ndo_change_mtu		= e1000_change_mtu,
> -	.ndo_do_ioctl		= e1000_ioctl,
> +	.ndo_eth_ioctl		= e1000_ioctl,
>   	.ndo_tx_timeout		= e1000_tx_timeout,
>   	.ndo_validate_addr	= eth_validate_addr,
>   
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
> index 861e59a350bd..0677aa751f43 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_main.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
> @@ -13253,7 +13253,7 @@ static const struct net_device_ops i40e_netdev_ops = {
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address	= i40e_set_mac,
>   	.ndo_change_mtu		= i40e_change_mtu,
> -	.ndo_do_ioctl		= i40e_ioctl,
> +	.ndo_eth_ioctl		= i40e_ioctl,
>   	.ndo_tx_timeout		= i40e_tx_timeout,
>   	.ndo_vlan_rx_add_vid	= i40e_vlan_rx_add_vid,
>   	.ndo_vlan_rx_kill_vid	= i40e_vlan_rx_kill_vid,
> diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c
> index ef8d1815af56..ffc6bef70047 100644
> --- a/drivers/net/ethernet/intel/ice/ice_main.c
> +++ b/drivers/net/ethernet/intel/ice/ice_main.c
> @@ -6563,7 +6563,7 @@ static int ice_change_mtu(struct net_device *netdev, int new_mtu)
>    * @ifr: interface request data
>    * @cmd: ioctl command
>    */
> -static int ice_do_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd)
> +static int ice_eth_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd)
>   {
>   	struct ice_netdev_priv *np = netdev_priv(netdev);
>   	struct ice_pf *pf = np->vsi->back;
> @@ -7229,7 +7229,7 @@ static const struct net_device_ops ice_netdev_ops = {
>   	.ndo_change_mtu = ice_change_mtu,
>   	.ndo_get_stats64 = ice_get_stats64,
>   	.ndo_set_tx_maxrate = ice_set_tx_maxrate,
> -	.ndo_do_ioctl = ice_do_ioctl,
> +	.ndo_eth_ioctl = ice_eth_ioctl,
>   	.ndo_set_vf_spoofchk = ice_set_vf_spoofchk,
>   	.ndo_set_vf_mac = ice_set_vf_mac,
>   	.ndo_get_vf_config = ice_get_vf_cfg,
> diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
> index 171a7a629b20..751de06019a0 100644
> --- a/drivers/net/ethernet/intel/igb/igb_main.c
> +++ b/drivers/net/ethernet/intel/igb/igb_main.c
> @@ -2991,7 +2991,7 @@ static const struct net_device_ops igb_netdev_ops = {
>   	.ndo_set_rx_mode	= igb_set_rx_mode,
>   	.ndo_set_mac_address	= igb_set_mac,
>   	.ndo_change_mtu		= igb_change_mtu,
> -	.ndo_do_ioctl		= igb_ioctl,
> +	.ndo_eth_ioctl		= igb_ioctl,
>   	.ndo_tx_timeout		= igb_tx_timeout,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_vlan_rx_add_vid	= igb_vlan_rx_add_vid,
> diff --git a/drivers/net/ethernet/intel/igbvf/netdev.c b/drivers/net/ethernet/intel/igbvf/netdev.c
> index 1bbe9862a758..d32e72d953c8 100644
> --- a/drivers/net/ethernet/intel/igbvf/netdev.c
> +++ b/drivers/net/ethernet/intel/igbvf/netdev.c
> @@ -2657,7 +2657,7 @@ static const struct net_device_ops igbvf_netdev_ops = {
>   	.ndo_set_rx_mode	= igbvf_set_rx_mode,
>   	.ndo_set_mac_address	= igbvf_set_mac,
>   	.ndo_change_mtu		= igbvf_change_mtu,
> -	.ndo_do_ioctl		= igbvf_ioctl,
> +	.ndo_eth_ioctl		= igbvf_ioctl,
>   	.ndo_tx_timeout		= igbvf_tx_timeout,
>   	.ndo_vlan_rx_add_vid	= igbvf_vlan_rx_add_vid,
>   	.ndo_vlan_rx_kill_vid	= igbvf_vlan_rx_kill_vid,
> diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c
> index e29aadbc6744..d414aa852b09 100644
> --- a/drivers/net/ethernet/intel/igc/igc_main.c
> +++ b/drivers/net/ethernet/intel/igc/igc_main.c
> @@ -5698,7 +5698,7 @@ static const struct net_device_ops igc_netdev_ops = {
>   	.ndo_fix_features	= igc_fix_features,
>   	.ndo_set_features	= igc_set_features,
>   	.ndo_features_check	= igc_features_check,
> -	.ndo_do_ioctl		= igc_ioctl,
> +	.ndo_eth_ioctl		= igc_ioctl,
>   	.ndo_setup_tc		= igc_setup_tc,
>   	.ndo_bpf		= igc_bpf,
>   	.ndo_xdp_xmit		= igc_xdp_xmit,
> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> index 913253f8ecb4..69ff3f84f8f1 100644
> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> @@ -10246,7 +10246,7 @@ static const struct net_device_ops ixgbe_netdev_ops = {
>   	.ndo_set_tx_maxrate	= ixgbe_tx_maxrate,
>   	.ndo_vlan_rx_add_vid	= ixgbe_vlan_rx_add_vid,
>   	.ndo_vlan_rx_kill_vid	= ixgbe_vlan_rx_kill_vid,
> -	.ndo_do_ioctl		= ixgbe_ioctl,
> +	.ndo_eth_ioctl		= ixgbe_ioctl,
>   	.ndo_set_vf_mac		= ixgbe_ndo_set_vf_mac,
>   	.ndo_set_vf_vlan	= ixgbe_ndo_set_vf_vlan,
>   	.ndo_set_vf_rate	= ixgbe_ndo_set_vf_bw,
> diff --git a/drivers/net/ethernet/jme.c b/drivers/net/ethernet/jme.c
> index f1b9284e0bea..1251b74fe0e2 100644
> --- a/drivers/net/ethernet/jme.c
> +++ b/drivers/net/ethernet/jme.c
> @@ -2901,7 +2901,7 @@ static const struct net_device_ops jme_netdev_ops = {
>   	.ndo_open		= jme_open,
>   	.ndo_stop		= jme_close,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl		= jme_ioctl,
> +	.ndo_eth_ioctl		= jme_ioctl,
>   	.ndo_start_xmit		= jme_start_xmit,
>   	.ndo_set_mac_address	= jme_set_macaddr,
>   	.ndo_set_rx_mode	= jme_set_multi,
> diff --git a/drivers/net/ethernet/korina.c b/drivers/net/ethernet/korina.c
> index b30a45725374..3e9f324f1061 100644
> --- a/drivers/net/ethernet/korina.c
> +++ b/drivers/net/ethernet/korina.c
> @@ -1272,7 +1272,7 @@ static const struct net_device_ops korina_netdev_ops = {
>   	.ndo_start_xmit		= korina_send_packet,
>   	.ndo_set_rx_mode	= korina_multicast_list,
>   	.ndo_tx_timeout		= korina_tx_timeout,
> -	.ndo_do_ioctl		= korina_ioctl,
> +	.ndo_eth_ioctl		= korina_ioctl,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address	= eth_mac_addr,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
> diff --git a/drivers/net/ethernet/lantiq_etop.c b/drivers/net/ethernet/lantiq_etop.c
> index 2d0c52f7106b..62f8c5212182 100644
> --- a/drivers/net/ethernet/lantiq_etop.c
> +++ b/drivers/net/ethernet/lantiq_etop.c
> @@ -609,7 +609,7 @@ static const struct net_device_ops ltq_eth_netdev_ops = {
>   	.ndo_stop = ltq_etop_stop,
>   	.ndo_start_xmit = ltq_etop_tx,
>   	.ndo_change_mtu = ltq_etop_change_mtu,
> -	.ndo_do_ioctl = phy_do_ioctl,
> +	.ndo_eth_ioctl = phy_do_ioctl,
>   	.ndo_set_mac_address = ltq_etop_set_mac_address,
>   	.ndo_validate_addr = eth_validate_addr,
>   	.ndo_set_rx_mode = ltq_etop_set_multicast_list,
> diff --git a/drivers/net/ethernet/marvell/mv643xx_eth.c b/drivers/net/ethernet/marvell/mv643xx_eth.c
> index d207bfcaf31d..6502c5c2ebca 100644
> --- a/drivers/net/ethernet/marvell/mv643xx_eth.c
> +++ b/drivers/net/ethernet/marvell/mv643xx_eth.c
> @@ -3060,7 +3060,7 @@ static const struct net_device_ops mv643xx_eth_netdev_ops = {
>   	.ndo_set_rx_mode	= mv643xx_eth_set_rx_mode,
>   	.ndo_set_mac_address	= mv643xx_eth_set_mac_address,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl		= mv643xx_eth_ioctl,
> +	.ndo_eth_ioctl		= mv643xx_eth_ioctl,
>   	.ndo_change_mtu		= mv643xx_eth_change_mtu,
>   	.ndo_set_features	= mv643xx_eth_set_features,
>   	.ndo_tx_timeout		= mv643xx_eth_tx_timeout,
> diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c
> index 76a7777c746d..d85af5b62191 100644
> --- a/drivers/net/ethernet/marvell/mvneta.c
> +++ b/drivers/net/ethernet/marvell/mvneta.c
> @@ -4986,7 +4986,7 @@ static const struct net_device_ops mvneta_netdev_ops = {
>   	.ndo_change_mtu      = mvneta_change_mtu,
>   	.ndo_fix_features    = mvneta_fix_features,
>   	.ndo_get_stats64     = mvneta_get_stats64,
> -	.ndo_do_ioctl        = mvneta_ioctl,
> +	.ndo_eth_ioctl        = mvneta_ioctl,
>   	.ndo_bpf	     = mvneta_xdp,
>   	.ndo_xdp_xmit        = mvneta_xdp_xmit,
>   	.ndo_setup_tc	     = mvneta_setup_tc,
> diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
> index 3229bafa2a2c..4523f5acbe45 100644
> --- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
> +++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
> @@ -5702,7 +5702,7 @@ static const struct net_device_ops mvpp2_netdev_ops = {
>   	.ndo_set_mac_address	= mvpp2_set_mac_address,
>   	.ndo_change_mtu		= mvpp2_change_mtu,
>   	.ndo_get_stats64	= mvpp2_get_stats64,
> -	.ndo_do_ioctl		= mvpp2_ioctl,
> +	.ndo_eth_ioctl		= mvpp2_ioctl,
>   	.ndo_vlan_rx_add_vid	= mvpp2_vlan_rx_add_vid,
>   	.ndo_vlan_rx_kill_vid	= mvpp2_vlan_rx_kill_vid,
>   	.ndo_set_features	= mvpp2_set_features,
> diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
> index f300b807a85b..3f03bbdd8d04 100644
> --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
> +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
> @@ -2326,7 +2326,7 @@ static const struct net_device_ops otx2_netdev_ops = {
>   	.ndo_set_features	= otx2_set_features,
>   	.ndo_tx_timeout		= otx2_tx_timeout,
>   	.ndo_get_stats64	= otx2_get_stats64,
> -	.ndo_do_ioctl		= otx2_ioctl,
> +	.ndo_eth_ioctl		= otx2_ioctl,
>   	.ndo_set_vf_mac		= otx2_set_vf_mac,
>   	.ndo_set_vf_vlan	= otx2_set_vf_vlan,
>   	.ndo_get_vf_config	= otx2_get_vf_config,
> diff --git a/drivers/net/ethernet/marvell/pxa168_eth.c b/drivers/net/ethernet/marvell/pxa168_eth.c
> index 9b48ae4bac39..fab53c9b8380 100644
> --- a/drivers/net/ethernet/marvell/pxa168_eth.c
> +++ b/drivers/net/ethernet/marvell/pxa168_eth.c
> @@ -1377,7 +1377,7 @@ static const struct net_device_ops pxa168_eth_netdev_ops = {
>   	.ndo_set_rx_mode	= pxa168_eth_set_rx_mode,
>   	.ndo_set_mac_address	= pxa168_eth_set_mac_address,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl		= phy_do_ioctl,
> +	.ndo_eth_ioctl		= phy_do_ioctl,
>   	.ndo_change_mtu		= pxa168_eth_change_mtu,
>   	.ndo_tx_timeout		= pxa168_eth_tx_timeout,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
> diff --git a/drivers/net/ethernet/marvell/skge.c b/drivers/net/ethernet/marvell/skge.c
> index d4bb27ba1419..150c06ee3627 100644
> --- a/drivers/net/ethernet/marvell/skge.c
> +++ b/drivers/net/ethernet/marvell/skge.c
> @@ -3787,7 +3787,7 @@ static const struct net_device_ops skge_netdev_ops = {
>   	.ndo_open		= skge_up,
>   	.ndo_stop		= skge_down,
>   	.ndo_start_xmit		= skge_xmit_frame,
> -	.ndo_do_ioctl		= skge_ioctl,
> +	.ndo_eth_ioctl		= skge_ioctl,
>   	.ndo_get_stats		= skge_get_stats,
>   	.ndo_tx_timeout		= skge_tx_timeout,
>   	.ndo_change_mtu		= skge_change_mtu,
> diff --git a/drivers/net/ethernet/marvell/sky2.c b/drivers/net/ethernet/marvell/sky2.c
> index 8b8bff59c8fe..743ca96527fa 100644
> --- a/drivers/net/ethernet/marvell/sky2.c
> +++ b/drivers/net/ethernet/marvell/sky2.c
> @@ -4693,7 +4693,7 @@ static const struct net_device_ops sky2_netdev_ops[2] = {
>   	.ndo_open		= sky2_open,
>   	.ndo_stop		= sky2_close,
>   	.ndo_start_xmit		= sky2_xmit_frame,
> -	.ndo_do_ioctl		= sky2_ioctl,
> +	.ndo_eth_ioctl		= sky2_ioctl,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address	= sky2_set_mac_address,
>   	.ndo_set_rx_mode	= sky2_set_multicast,
> @@ -4710,7 +4710,7 @@ static const struct net_device_ops sky2_netdev_ops[2] = {
>   	.ndo_open		= sky2_open,
>   	.ndo_stop		= sky2_close,
>   	.ndo_start_xmit		= sky2_xmit_frame,
> -	.ndo_do_ioctl		= sky2_ioctl,
> +	.ndo_eth_ioctl		= sky2_ioctl,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address	= sky2_set_mac_address,
>   	.ndo_set_rx_mode	= sky2_set_multicast,
> diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> index 64adfd24e134..398c23cec815 100644
> --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> @@ -2933,7 +2933,7 @@ static const struct net_device_ops mtk_netdev_ops = {
>   	.ndo_start_xmit		= mtk_start_xmit,
>   	.ndo_set_mac_address	= mtk_set_mac_address,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl		= mtk_do_ioctl,
> +	.ndo_eth_ioctl		= mtk_do_ioctl,
>   	.ndo_change_mtu		= mtk_change_mtu,
>   	.ndo_tx_timeout		= mtk_tx_timeout,
>   	.ndo_get_stats64        = mtk_get_stats64,
> diff --git a/drivers/net/ethernet/mediatek/mtk_star_emac.c b/drivers/net/ethernet/mediatek/mtk_star_emac.c
> index 96d2891f1675..1d5dd2015453 100644
> --- a/drivers/net/ethernet/mediatek/mtk_star_emac.c
> +++ b/drivers/net/ethernet/mediatek/mtk_star_emac.c
> @@ -1162,7 +1162,7 @@ static const struct net_device_ops mtk_star_netdev_ops = {
>   	.ndo_start_xmit		= mtk_star_netdev_start_xmit,
>   	.ndo_get_stats64	= mtk_star_netdev_get_stats64,
>   	.ndo_set_rx_mode	= mtk_star_set_rx_mode,
> -	.ndo_do_ioctl		= mtk_star_netdev_ioctl,
> +	.ndo_eth_ioctl		= mtk_star_netdev_ioctl,
>   	.ndo_set_mac_address	= eth_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
>   };
> diff --git a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
> index 5d0c9c62382d..a2f61a87cef8 100644
> --- a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
> +++ b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
> @@ -2828,7 +2828,7 @@ static const struct net_device_ops mlx4_netdev_ops = {
>   	.ndo_set_mac_address	= mlx4_en_set_mac,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_change_mtu		= mlx4_en_change_mtu,
> -	.ndo_do_ioctl		= mlx4_en_ioctl,
> +	.ndo_eth_ioctl		= mlx4_en_ioctl,
>   	.ndo_tx_timeout		= mlx4_en_tx_timeout,
>   	.ndo_vlan_rx_add_vid	= mlx4_en_vlan_rx_add_vid,
>   	.ndo_vlan_rx_kill_vid	= mlx4_en_vlan_rx_kill_vid,
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
> index d09e65557e75..5c6bae08054b 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
> @@ -4578,7 +4578,7 @@ const struct net_device_ops mlx5e_netdev_ops = {
>   	.ndo_set_features        = mlx5e_set_features,
>   	.ndo_fix_features        = mlx5e_fix_features,
>   	.ndo_change_mtu          = mlx5e_change_nic_mtu,
> -	.ndo_do_ioctl            = mlx5e_ioctl,
> +	.ndo_eth_ioctl            = mlx5e_ioctl,
>   	.ndo_set_tx_maxrate      = mlx5e_set_tx_maxrate,
>   	.ndo_features_check      = mlx5e_features_check,
>   	.ndo_tx_timeout          = mlx5e_tx_timeout,
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c b/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c
> index 7d7ed025db0d..87656f8d873e 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c
> @@ -50,7 +50,7 @@ static const struct net_device_ops mlx5i_netdev_ops = {
>   	.ndo_init                = mlx5i_dev_init,
>   	.ndo_uninit              = mlx5i_dev_cleanup,
>   	.ndo_change_mtu          = mlx5i_change_mtu,
> -	.ndo_do_ioctl            = mlx5i_ioctl,
> +	.ndo_eth_ioctl            = mlx5i_ioctl,
>   };
>   
>   /* IPoIB mlx5 netdev profile */
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib_vlan.c b/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib_vlan.c
> index 18ee21b06a00..5308f23702bc 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib_vlan.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib_vlan.c
> @@ -149,7 +149,7 @@ static const struct net_device_ops mlx5i_pkey_netdev_ops = {
>   	.ndo_get_stats64         = mlx5i_get_stats,
>   	.ndo_uninit              = mlx5i_pkey_dev_cleanup,
>   	.ndo_change_mtu          = mlx5i_pkey_change_mtu,
> -	.ndo_do_ioctl            = mlx5i_pkey_ioctl,
> +	.ndo_eth_ioctl            = mlx5i_pkey_ioctl,
>   };
>   
>   /* Child NDOs */
> diff --git a/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c b/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c
> index a0a059e0154f..d22219613719 100644
> --- a/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c
> +++ b/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c
> @@ -199,7 +199,7 @@ static int mlxbf_gige_stop(struct net_device *netdev)
>   	return 0;
>   }
>   
> -static int mlxbf_gige_do_ioctl(struct net_device *netdev,
> +static int mlxbf_gige_eth_ioctl(struct net_device *netdev,
>   			       struct ifreq *ifr, int cmd)
>   {
>   	if (!(netif_running(netdev)))
> @@ -253,7 +253,7 @@ static const struct net_device_ops mlxbf_gige_netdev_ops = {
>   	.ndo_start_xmit		= mlxbf_gige_start_xmit,
>   	.ndo_set_mac_address	= eth_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl		= mlxbf_gige_do_ioctl,
> +	.ndo_eth_ioctl		= mlxbf_gige_eth_ioctl,
>   	.ndo_set_rx_mode        = mlxbf_gige_set_rx_mode,
>   	.ndo_get_stats64        = mlxbf_gige_get_stats64,
>   };
> diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c
> index 88699e678544..081408e892d5 100644
> --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c
> +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c
> @@ -1207,7 +1207,7 @@ static const struct net_device_ops mlxsw_sp_port_netdev_ops = {
>   	.ndo_vlan_rx_kill_vid	= mlxsw_sp_port_kill_vid,
>   	.ndo_set_features	= mlxsw_sp_set_features,
>   	.ndo_get_devlink_port	= mlxsw_sp_port_get_devlink_port,
> -	.ndo_do_ioctl		= mlxsw_sp_port_ioctl,
> +	.ndo_eth_ioctl		= mlxsw_sp_port_ioctl,
>   };
>   
>   static int
> diff --git a/drivers/net/ethernet/micrel/ks8851_common.c b/drivers/net/ethernet/micrel/ks8851_common.c
> index 831518466de2..3f69bb59ba49 100644
> --- a/drivers/net/ethernet/micrel/ks8851_common.c
> +++ b/drivers/net/ethernet/micrel/ks8851_common.c
> @@ -689,7 +689,7 @@ static int ks8851_net_ioctl(struct net_device *dev, struct ifreq *req, int cmd)
>   static const struct net_device_ops ks8851_netdev_ops = {
>   	.ndo_open		= ks8851_net_open,
>   	.ndo_stop		= ks8851_net_stop,
> -	.ndo_do_ioctl		= ks8851_net_ioctl,
> +	.ndo_eth_ioctl		= ks8851_net_ioctl,
>   	.ndo_start_xmit		= ks8851_start_xmit,
>   	.ndo_set_mac_address	= ks8851_set_mac_address,
>   	.ndo_set_rx_mode	= ks8851_set_rx_mode,
> diff --git a/drivers/net/ethernet/micrel/ksz884x.c b/drivers/net/ethernet/micrel/ksz884x.c
> index 7945eb5e2fe8..a0ee155f9f51 100644
> --- a/drivers/net/ethernet/micrel/ksz884x.c
> +++ b/drivers/net/ethernet/micrel/ksz884x.c
> @@ -6738,7 +6738,7 @@ static const struct net_device_ops netdev_ops = {
>   	.ndo_set_features	= netdev_set_features,
>   	.ndo_set_mac_address	= netdev_set_mac_address,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl		= netdev_ioctl,
> +	.ndo_eth_ioctl		= netdev_ioctl,
>   	.ndo_set_rx_mode	= netdev_set_rx_mode,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
>   	.ndo_poll_controller	= netdev_netpoll,
> diff --git a/drivers/net/ethernet/microchip/lan743x_main.c b/drivers/net/ethernet/microchip/lan743x_main.c
> index dae10328c6cf..9e8561cdc32a 100644
> --- a/drivers/net/ethernet/microchip/lan743x_main.c
> +++ b/drivers/net/ethernet/microchip/lan743x_main.c
> @@ -2655,7 +2655,7 @@ static const struct net_device_ops lan743x_netdev_ops = {
>   	.ndo_open		= lan743x_netdev_open,
>   	.ndo_stop		= lan743x_netdev_close,
>   	.ndo_start_xmit		= lan743x_netdev_xmit_frame,
> -	.ndo_do_ioctl		= lan743x_netdev_ioctl,
> +	.ndo_eth_ioctl		= lan743x_netdev_ioctl,
>   	.ndo_set_rx_mode	= lan743x_netdev_set_multicast,
>   	.ndo_change_mtu		= lan743x_netdev_change_mtu,
>   	.ndo_get_stats64	= lan743x_netdev_get_stats64,
> diff --git a/drivers/net/ethernet/mscc/ocelot_net.c b/drivers/net/ethernet/mscc/ocelot_net.c
> index e9d260d84bf3..ceca6bafcad2 100644
> --- a/drivers/net/ethernet/mscc/ocelot_net.c
> +++ b/drivers/net/ethernet/mscc/ocelot_net.c
> @@ -823,7 +823,7 @@ static const struct net_device_ops ocelot_port_netdev_ops = {
>   	.ndo_vlan_rx_kill_vid		= ocelot_vlan_rx_kill_vid,
>   	.ndo_set_features		= ocelot_set_features,
>   	.ndo_setup_tc			= ocelot_setup_tc,
> -	.ndo_do_ioctl			= ocelot_ioctl,
> +	.ndo_eth_ioctl			= ocelot_ioctl,
>   	.ndo_get_devlink_port		= ocelot_get_devlink_port,
>   };
>   
> diff --git a/drivers/net/ethernet/natsemi/natsemi.c b/drivers/net/ethernet/natsemi/natsemi.c
> index 51b4b25d15ad..bd9d026e609d 100644
> --- a/drivers/net/ethernet/natsemi/natsemi.c
> +++ b/drivers/net/ethernet/natsemi/natsemi.c
> @@ -790,7 +790,7 @@ static const struct net_device_ops natsemi_netdev_ops = {
>   	.ndo_get_stats		= get_stats,
>   	.ndo_set_rx_mode	= set_rx_mode,
>   	.ndo_change_mtu		= natsemi_change_mtu,
> -	.ndo_do_ioctl		= netdev_ioctl,
> +	.ndo_eth_ioctl		= netdev_ioctl,
>   	.ndo_tx_timeout 	= ns_tx_timeout,
>   	.ndo_set_mac_address 	= eth_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
> diff --git a/drivers/net/ethernet/neterion/s2io.c b/drivers/net/ethernet/neterion/s2io.c
> index 0b017d4f5c08..09c0e839cca5 100644
> --- a/drivers/net/ethernet/neterion/s2io.c
> +++ b/drivers/net/ethernet/neterion/s2io.c
> @@ -7625,7 +7625,7 @@ static const struct net_device_ops s2io_netdev_ops = {
>   	.ndo_start_xmit    	= s2io_xmit,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_rx_mode	= s2io_ndo_set_multicast,
> -	.ndo_do_ioctl	   	= s2io_ioctl,
> +	.ndo_eth_ioctl		= s2io_ioctl,
>   	.ndo_set_mac_address    = s2io_set_mac_addr,
>   	.ndo_change_mtu	   	= s2io_change_mtu,
>   	.ndo_set_features	= s2io_set_features,
> diff --git a/drivers/net/ethernet/neterion/vxge/vxge-main.c b/drivers/net/ethernet/neterion/vxge/vxge-main.c
> index 82eef4c72f01..20fb4ad29865 100644
> --- a/drivers/net/ethernet/neterion/vxge/vxge-main.c
> +++ b/drivers/net/ethernet/neterion/vxge/vxge-main.c
> @@ -3339,7 +3339,7 @@ static const struct net_device_ops vxge_netdev_ops = {
>   	.ndo_start_xmit         = vxge_xmit,
>   	.ndo_validate_addr      = eth_validate_addr,
>   	.ndo_set_rx_mode	= vxge_set_multicast,
> -	.ndo_do_ioctl           = vxge_ioctl,
> +	.ndo_eth_ioctl           = vxge_ioctl,
>   	.ndo_set_mac_address    = vxge_set_mac_addr,
>   	.ndo_change_mtu         = vxge_change_mtu,
>   	.ndo_fix_features	= vxge_fix_features,
> diff --git a/drivers/net/ethernet/nxp/lpc_eth.c b/drivers/net/ethernet/nxp/lpc_eth.c
> index 64c6842bd452..d29fe562b3de 100644
> --- a/drivers/net/ethernet/nxp/lpc_eth.c
> +++ b/drivers/net/ethernet/nxp/lpc_eth.c
> @@ -1219,7 +1219,7 @@ static const struct net_device_ops lpc_netdev_ops = {
>   	.ndo_stop		= lpc_eth_close,
>   	.ndo_start_xmit		= lpc_eth_hard_start_xmit,
>   	.ndo_set_rx_mode	= lpc_eth_set_multicast_list,
> -	.ndo_do_ioctl		= phy_do_ioctl_running,
> +	.ndo_eth_ioctl		= phy_do_ioctl_running,
>   	.ndo_set_mac_address	= lpc_set_mac_address,
>   	.ndo_validate_addr	= eth_validate_addr,
>   };
> diff --git a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
> index e351f3d1608f..bc35d5703bd2 100644
> --- a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
> +++ b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
> @@ -2333,7 +2333,7 @@ static const struct net_device_ops pch_gbe_netdev_ops = {
>   	.ndo_tx_timeout = pch_gbe_tx_timeout,
>   	.ndo_change_mtu = pch_gbe_change_mtu,
>   	.ndo_set_features = pch_gbe_set_features,
> -	.ndo_do_ioctl = pch_gbe_ioctl,
> +	.ndo_eth_ioctl = pch_gbe_ioctl,
>   	.ndo_set_rx_mode = pch_gbe_set_multi,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
>   	.ndo_poll_controller = pch_gbe_netpoll,
> diff --git a/drivers/net/ethernet/packetengines/hamachi.c b/drivers/net/ethernet/packetengines/hamachi.c
> index 94823c5f7dff..1a6336a56d3d 100644
> --- a/drivers/net/ethernet/packetengines/hamachi.c
> +++ b/drivers/net/ethernet/packetengines/hamachi.c
> @@ -573,7 +573,7 @@ static const struct net_device_ops hamachi_netdev_ops = {
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address 	= eth_mac_addr,
>   	.ndo_tx_timeout		= hamachi_tx_timeout,
> -	.ndo_do_ioctl		= hamachi_ioctl,
> +	.ndo_eth_ioctl		= hamachi_ioctl,
>   	.ndo_siocdevprivate	= hamachi_siocdevprivate,
>   };
>   
> diff --git a/drivers/net/ethernet/packetengines/yellowfin.c b/drivers/net/ethernet/packetengines/yellowfin.c
> index d1dd9bc1bc7f..f5cd8f51be7c 100644
> --- a/drivers/net/ethernet/packetengines/yellowfin.c
> +++ b/drivers/net/ethernet/packetengines/yellowfin.c
> @@ -362,7 +362,7 @@ static const struct net_device_ops netdev_ops = {
>   	.ndo_set_rx_mode	= set_rx_mode,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address 	= eth_mac_addr,
> -	.ndo_do_ioctl 		= netdev_ioctl,
> +	.ndo_eth_ioctl		= netdev_ioctl,
>   	.ndo_tx_timeout 	= yellowfin_tx_timeout,
>   };
>   
> diff --git a/drivers/net/ethernet/pensando/ionic/ionic_lif.c b/drivers/net/ethernet/pensando/ionic/ionic_lif.c
> index af3a5368529c..537c2907b91e 100644
> --- a/drivers/net/ethernet/pensando/ionic/ionic_lif.c
> +++ b/drivers/net/ethernet/pensando/ionic/ionic_lif.c
> @@ -2264,7 +2264,7 @@ static int ionic_stop(struct net_device *netdev)
>   	return 0;
>   }
>   
> -static int ionic_do_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd)
> +static int ionic_eth_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd)
>   {
>   	struct ionic_lif *lif = netdev_priv(netdev);
>   
> @@ -2526,7 +2526,7 @@ static int ionic_set_vf_link_state(struct net_device *netdev, int vf, int set)
>   static const struct net_device_ops ionic_netdev_ops = {
>   	.ndo_open               = ionic_open,
>   	.ndo_stop               = ionic_stop,
> -	.ndo_do_ioctl		= ionic_do_ioctl,
> +	.ndo_eth_ioctl		= ionic_eth_ioctl,
>   	.ndo_start_xmit		= ionic_start_xmit,
>   	.ndo_get_stats64	= ionic_get_stats64,
>   	.ndo_set_rx_mode	= ionic_ndo_set_rx_mode,
> diff --git a/drivers/net/ethernet/qlogic/qede/qede_main.c b/drivers/net/ethernet/qlogic/qede/qede_main.c
> index 01ac1e93d27a..173878696143 100644
> --- a/drivers/net/ethernet/qlogic/qede/qede_main.c
> +++ b/drivers/net/ethernet/qlogic/qede/qede_main.c
> @@ -644,7 +644,7 @@ static const struct net_device_ops qede_netdev_ops = {
>   	.ndo_set_mac_address	= qede_set_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_change_mtu		= qede_change_mtu,
> -	.ndo_do_ioctl		= qede_ioctl,
> +	.ndo_eth_ioctl		= qede_ioctl,
>   	.ndo_tx_timeout		= qede_tx_timeout,
>   #ifdef CONFIG_QED_SRIOV
>   	.ndo_set_vf_mac		= qede_set_vf_mac,
> diff --git a/drivers/net/ethernet/qualcomm/emac/emac.c b/drivers/net/ethernet/qualcomm/emac/emac.c
> index ad655f0a4965..9015a38eaced 100644
> --- a/drivers/net/ethernet/qualcomm/emac/emac.c
> +++ b/drivers/net/ethernet/qualcomm/emac/emac.c
> @@ -377,7 +377,7 @@ static const struct net_device_ops emac_netdev_ops = {
>   	.ndo_start_xmit		= emac_start_xmit,
>   	.ndo_set_mac_address	= eth_mac_addr,
>   	.ndo_change_mtu		= emac_change_mtu,
> -	.ndo_do_ioctl		= phy_do_ioctl_running,
> +	.ndo_eth_ioctl		= phy_do_ioctl_running,
>   	.ndo_tx_timeout		= emac_tx_timeout,
>   	.ndo_get_stats64	= emac_get_stats64,
>   	.ndo_set_features       = emac_set_features,
> diff --git a/drivers/net/ethernet/rdc/r6040.c b/drivers/net/ethernet/rdc/r6040.c
> index 47e9998b62f0..4b2eca5e08e2 100644
> --- a/drivers/net/ethernet/rdc/r6040.c
> +++ b/drivers/net/ethernet/rdc/r6040.c
> @@ -954,7 +954,7 @@ static const struct net_device_ops r6040_netdev_ops = {
>   	.ndo_set_rx_mode	= r6040_multicast_list,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address	= eth_mac_addr,
> -	.ndo_do_ioctl		= phy_do_ioctl,
> +	.ndo_eth_ioctl		= phy_do_ioctl,
>   	.ndo_tx_timeout		= r6040_tx_timeout,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
>   	.ndo_poll_controller	= r6040_poll_controller,
> diff --git a/drivers/net/ethernet/realtek/8139cp.c b/drivers/net/ethernet/realtek/8139cp.c
> index 9677e257e9a1..edc61906694f 100644
> --- a/drivers/net/ethernet/realtek/8139cp.c
> +++ b/drivers/net/ethernet/realtek/8139cp.c
> @@ -1869,7 +1869,7 @@ static const struct net_device_ops cp_netdev_ops = {
>   	.ndo_set_mac_address 	= cp_set_mac_address,
>   	.ndo_set_rx_mode	= cp_set_rx_mode,
>   	.ndo_get_stats		= cp_get_stats,
> -	.ndo_do_ioctl		= cp_ioctl,
> +	.ndo_eth_ioctl		= cp_ioctl,
>   	.ndo_start_xmit		= cp_start_xmit,
>   	.ndo_tx_timeout		= cp_tx_timeout,
>   	.ndo_set_features	= cp_set_features,
> diff --git a/drivers/net/ethernet/realtek/8139too.c b/drivers/net/ethernet/realtek/8139too.c
> index f0608f050050..2e6923cc653e 100644
> --- a/drivers/net/ethernet/realtek/8139too.c
> +++ b/drivers/net/ethernet/realtek/8139too.c
> @@ -932,7 +932,7 @@ static const struct net_device_ops rtl8139_netdev_ops = {
>   	.ndo_set_mac_address 	= rtl8139_set_mac_address,
>   	.ndo_start_xmit		= rtl8139_start_xmit,
>   	.ndo_set_rx_mode	= rtl8139_set_rx_mode,
> -	.ndo_do_ioctl		= netdev_ioctl,
> +	.ndo_eth_ioctl		= netdev_ioctl,
>   	.ndo_tx_timeout		= rtl8139_tx_timeout,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
>   	.ndo_poll_controller	= rtl8139_poll_controller,
> diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c
> index f744557c33a3..595d977f8144 100644
> --- a/drivers/net/ethernet/realtek/r8169_main.c
> +++ b/drivers/net/ethernet/realtek/r8169_main.c
> @@ -4979,7 +4979,7 @@ static const struct net_device_ops rtl_netdev_ops = {
>   	.ndo_fix_features	= rtl8169_fix_features,
>   	.ndo_set_features	= rtl8169_set_features,
>   	.ndo_set_mac_address	= rtl_set_mac_address,
> -	.ndo_do_ioctl		= phy_do_ioctl_running,
> +	.ndo_eth_ioctl		= phy_do_ioctl_running,
>   	.ndo_set_rx_mode	= rtl_set_rx_mode,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
>   	.ndo_poll_controller	= rtl8169_netpoll,
> diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c
> index 69c50f81e1cb..85db656b02c9 100644
> --- a/drivers/net/ethernet/renesas/ravb_main.c
> +++ b/drivers/net/ethernet/renesas/ravb_main.c
> @@ -1872,7 +1872,7 @@ static const struct net_device_ops ravb_netdev_ops = {
>   	.ndo_get_stats		= ravb_get_stats,
>   	.ndo_set_rx_mode	= ravb_set_rx_mode,
>   	.ndo_tx_timeout		= ravb_tx_timeout,
> -	.ndo_do_ioctl		= ravb_do_ioctl,
> +	.ndo_eth_ioctl		= ravb_do_ioctl,
>   	.ndo_change_mtu		= ravb_change_mtu,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address	= eth_mac_addr,
> diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c
> index 840478692a37..6c8ba916d1a6 100644
> --- a/drivers/net/ethernet/renesas/sh_eth.c
> +++ b/drivers/net/ethernet/renesas/sh_eth.c
> @@ -3141,7 +3141,7 @@ static const struct net_device_ops sh_eth_netdev_ops = {
>   	.ndo_get_stats		= sh_eth_get_stats,
>   	.ndo_set_rx_mode	= sh_eth_set_rx_mode,
>   	.ndo_tx_timeout		= sh_eth_tx_timeout,
> -	.ndo_do_ioctl		= phy_do_ioctl_running,
> +	.ndo_eth_ioctl		= phy_do_ioctl_running,
>   	.ndo_change_mtu		= sh_eth_change_mtu,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address	= eth_mac_addr,
> @@ -3157,7 +3157,7 @@ static const struct net_device_ops sh_eth_netdev_ops_tsu = {
>   	.ndo_vlan_rx_add_vid	= sh_eth_vlan_rx_add_vid,
>   	.ndo_vlan_rx_kill_vid	= sh_eth_vlan_rx_kill_vid,
>   	.ndo_tx_timeout		= sh_eth_tx_timeout,
> -	.ndo_do_ioctl		= phy_do_ioctl_running,
> +	.ndo_eth_ioctl		= phy_do_ioctl_running,
>   	.ndo_change_mtu		= sh_eth_change_mtu,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address	= eth_mac_addr,
> diff --git a/drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c b/drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
> index 090bcd2fb758..6781aa636d58 100644
> --- a/drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
> +++ b/drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
> @@ -1964,7 +1964,7 @@ static const struct net_device_ops sxgbe_netdev_ops = {
>   	.ndo_set_features	= sxgbe_set_features,
>   	.ndo_set_rx_mode	= sxgbe_set_rx_mode,
>   	.ndo_tx_timeout		= sxgbe_tx_timeout,
> -	.ndo_do_ioctl		= sxgbe_ioctl,
> +	.ndo_eth_ioctl		= sxgbe_ioctl,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
>   	.ndo_poll_controller	= sxgbe_poll_controller,
>   #endif
> diff --git a/drivers/net/ethernet/sfc/efx.c b/drivers/net/ethernet/sfc/efx.c
> index 37fcf2eb0741..a295e2621cf3 100644
> --- a/drivers/net/ethernet/sfc/efx.c
> +++ b/drivers/net/ethernet/sfc/efx.c
> @@ -591,7 +591,7 @@ static const struct net_device_ops efx_netdev_ops = {
>   	.ndo_tx_timeout		= efx_watchdog,
>   	.ndo_start_xmit		= efx_hard_start_xmit,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl		= efx_ioctl,
> +	.ndo_eth_ioctl		= efx_ioctl,
>   	.ndo_change_mtu		= efx_change_mtu,
>   	.ndo_set_mac_address	= efx_set_mac_address,
>   	.ndo_set_rx_mode	= efx_set_rx_mode,
> diff --git a/drivers/net/ethernet/sfc/falcon/efx.c b/drivers/net/ethernet/sfc/falcon/efx.c
> index 9ec752a43c75..c177ea0f301e 100644
> --- a/drivers/net/ethernet/sfc/falcon/efx.c
> +++ b/drivers/net/ethernet/sfc/falcon/efx.c
> @@ -2219,7 +2219,7 @@ static const struct net_device_ops ef4_netdev_ops = {
>   	.ndo_tx_timeout		= ef4_watchdog,
>   	.ndo_start_xmit		= ef4_hard_start_xmit,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl		= ef4_ioctl,
> +	.ndo_eth_ioctl		= ef4_ioctl,
>   	.ndo_change_mtu		= ef4_change_mtu,
>   	.ndo_set_mac_address	= ef4_set_mac_address,
>   	.ndo_set_rx_mode	= ef4_set_rx_mode,
> diff --git a/drivers/net/ethernet/sgi/ioc3-eth.c b/drivers/net/ethernet/sgi/ioc3-eth.c
> index 2b29fd4cbdf4..062f7844c496 100644
> --- a/drivers/net/ethernet/sgi/ioc3-eth.c
> +++ b/drivers/net/ethernet/sgi/ioc3-eth.c
> @@ -820,7 +820,7 @@ static const struct net_device_ops ioc3_netdev_ops = {
>   	.ndo_tx_timeout		= ioc3_timeout,
>   	.ndo_get_stats		= ioc3_get_stats,
>   	.ndo_set_rx_mode	= ioc3_set_multicast_list,
> -	.ndo_do_ioctl		= ioc3_ioctl,
> +	.ndo_eth_ioctl		= ioc3_ioctl,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address	= ioc3_set_mac_address,
>   };
> diff --git a/drivers/net/ethernet/sgi/meth.c b/drivers/net/ethernet/sgi/meth.c
> index 0c396ecd3389..efce834d8ee6 100644
> --- a/drivers/net/ethernet/sgi/meth.c
> +++ b/drivers/net/ethernet/sgi/meth.c
> @@ -812,7 +812,7 @@ static const struct net_device_ops meth_netdev_ops = {
>   	.ndo_open		= meth_open,
>   	.ndo_stop		= meth_release,
>   	.ndo_start_xmit		= meth_tx,
> -	.ndo_do_ioctl		= meth_ioctl,
> +	.ndo_eth_ioctl		= meth_ioctl,
>   	.ndo_tx_timeout		= meth_tx_timeout,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address	= eth_mac_addr,
> diff --git a/drivers/net/ethernet/sis/sis190.c b/drivers/net/ethernet/sis/sis190.c
> index 676b193833c0..3d1a18a01ce5 100644
> --- a/drivers/net/ethernet/sis/sis190.c
> +++ b/drivers/net/ethernet/sis/sis190.c
> @@ -1841,7 +1841,7 @@ static int sis190_mac_addr(struct net_device  *dev, void *p)
>   static const struct net_device_ops sis190_netdev_ops = {
>   	.ndo_open		= sis190_open,
>   	.ndo_stop		= sis190_close,
> -	.ndo_do_ioctl		= sis190_ioctl,
> +	.ndo_eth_ioctl		= sis190_ioctl,
>   	.ndo_start_xmit		= sis190_start_xmit,
>   	.ndo_tx_timeout		= sis190_tx_timeout,
>   	.ndo_set_rx_mode	= sis190_set_rx_mode,
> diff --git a/drivers/net/ethernet/sis/sis900.c b/drivers/net/ethernet/sis/sis900.c
> index ca9c00b7f588..ec6f7f993eb7 100644
> --- a/drivers/net/ethernet/sis/sis900.c
> +++ b/drivers/net/ethernet/sis/sis900.c
> @@ -404,7 +404,7 @@ static const struct net_device_ops sis900_netdev_ops = {
>   	.ndo_set_rx_mode	= set_rx_mode,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address 	= eth_mac_addr,
> -	.ndo_do_ioctl		= mii_ioctl,
> +	.ndo_eth_ioctl		= mii_ioctl,
>   	.ndo_tx_timeout		= sis900_tx_timeout,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
>           .ndo_poll_controller	= sis900_poll,
> diff --git a/drivers/net/ethernet/smsc/epic100.c b/drivers/net/ethernet/smsc/epic100.c
> index 51cd7dca91cd..44daf79a8f97 100644
> --- a/drivers/net/ethernet/smsc/epic100.c
> +++ b/drivers/net/ethernet/smsc/epic100.c
> @@ -312,7 +312,7 @@ static const struct net_device_ops epic_netdev_ops = {
>   	.ndo_tx_timeout 	= epic_tx_timeout,
>   	.ndo_get_stats		= epic_get_stats,
>   	.ndo_set_rx_mode	= set_rx_mode,
> -	.ndo_do_ioctl 		= netdev_ioctl,
> +	.ndo_eth_ioctl		= netdev_ioctl,
>   	.ndo_set_mac_address 	= eth_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
>   };
> diff --git a/drivers/net/ethernet/smsc/smc91c92_cs.c b/drivers/net/ethernet/smsc/smc91c92_cs.c
> index f2a50eb3c1e0..42fc37c7887a 100644
> --- a/drivers/net/ethernet/smsc/smc91c92_cs.c
> +++ b/drivers/net/ethernet/smsc/smc91c92_cs.c
> @@ -294,7 +294,7 @@ static const struct net_device_ops smc_netdev_ops = {
>   	.ndo_tx_timeout 	= smc_tx_timeout,
>   	.ndo_set_config 	= s9k_config,
>   	.ndo_set_rx_mode	= set_rx_mode,
> -	.ndo_do_ioctl		= smc_ioctl,
> +	.ndo_eth_ioctl		= smc_ioctl,
>   	.ndo_set_mac_address 	= eth_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
>   };
> diff --git a/drivers/net/ethernet/smsc/smsc911x.c b/drivers/net/ethernet/smsc/smsc911x.c
> index 556a9790cdcf..199a97339280 100644
> --- a/drivers/net/ethernet/smsc/smsc911x.c
> +++ b/drivers/net/ethernet/smsc/smsc911x.c
> @@ -2148,7 +2148,7 @@ static const struct net_device_ops smsc911x_netdev_ops = {
>   	.ndo_start_xmit		= smsc911x_hard_start_xmit,
>   	.ndo_get_stats		= smsc911x_get_stats,
>   	.ndo_set_rx_mode	= smsc911x_set_multicast_list,
> -	.ndo_do_ioctl		= phy_do_ioctl_running,
> +	.ndo_eth_ioctl		= phy_do_ioctl_running,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address 	= smsc911x_set_mac_address,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
> diff --git a/drivers/net/ethernet/smsc/smsc9420.c b/drivers/net/ethernet/smsc/smsc9420.c
> index c1dab009415d..fdbd2a43e267 100644
> --- a/drivers/net/ethernet/smsc/smsc9420.c
> +++ b/drivers/net/ethernet/smsc/smsc9420.c
> @@ -1482,7 +1482,7 @@ static const struct net_device_ops smsc9420_netdev_ops = {
>   	.ndo_start_xmit		= smsc9420_hard_start_xmit,
>   	.ndo_get_stats		= smsc9420_get_stats,
>   	.ndo_set_rx_mode	= smsc9420_set_multicast_list,
> -	.ndo_do_ioctl		= phy_do_ioctl_running,
> +	.ndo_eth_ioctl		= phy_do_ioctl_running,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address 	= eth_mac_addr,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
> diff --git a/drivers/net/ethernet/socionext/netsec.c b/drivers/net/ethernet/socionext/netsec.c
> index 20d148c019d8..d15f7b3a3f10 100644
> --- a/drivers/net/ethernet/socionext/netsec.c
> +++ b/drivers/net/ethernet/socionext/netsec.c
> @@ -1831,7 +1831,7 @@ static const struct net_device_ops netsec_netdev_ops = {
>   	.ndo_set_features	= netsec_netdev_set_features,
>   	.ndo_set_mac_address    = eth_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl		= phy_do_ioctl,
> +	.ndo_eth_ioctl		= phy_do_ioctl,
>   	.ndo_xdp_xmit		= netsec_xdp_xmit,
>   	.ndo_bpf		= netsec_xdp,
>   };
> diff --git a/drivers/net/ethernet/socionext/sni_ave.c b/drivers/net/ethernet/socionext/sni_ave.c
> index 5eb6bb4f7b6c..ae31ed93aaf0 100644
> --- a/drivers/net/ethernet/socionext/sni_ave.c
> +++ b/drivers/net/ethernet/socionext/sni_ave.c
> @@ -1543,7 +1543,7 @@ static const struct net_device_ops ave_netdev_ops = {
>   	.ndo_open		= ave_open,
>   	.ndo_stop		= ave_stop,
>   	.ndo_start_xmit		= ave_start_xmit,
> -	.ndo_do_ioctl		= ave_ioctl,
> +	.ndo_eth_ioctl		= ave_ioctl,
>   	.ndo_set_rx_mode	= ave_set_rx_mode,
>   	.ndo_get_stats64	= ave_get_stats64,
>   	.ndo_set_mac_address	= ave_set_mac_address,
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> index 7b8404a21544..a2aa75cb184e 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> @@ -6451,7 +6451,7 @@ static const struct net_device_ops stmmac_netdev_ops = {
>   	.ndo_set_features = stmmac_set_features,
>   	.ndo_set_rx_mode = stmmac_set_rx_mode,
>   	.ndo_tx_timeout = stmmac_tx_timeout,
> -	.ndo_do_ioctl = stmmac_ioctl,
> +	.ndo_eth_ioctl = stmmac_ioctl,
>   	.ndo_setup_tc = stmmac_setup_tc,
>   	.ndo_select_queue = stmmac_select_queue,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
> diff --git a/drivers/net/ethernet/sun/cassini.c b/drivers/net/ethernet/sun/cassini.c
> index 981685c88308..287ae4c538aa 100644
> --- a/drivers/net/ethernet/sun/cassini.c
> +++ b/drivers/net/ethernet/sun/cassini.c
> @@ -4876,7 +4876,7 @@ static const struct net_device_ops cas_netdev_ops = {
>   	.ndo_start_xmit		= cas_start_xmit,
>   	.ndo_get_stats 		= cas_get_stats,
>   	.ndo_set_rx_mode	= cas_set_multicast,
> -	.ndo_do_ioctl		= cas_ioctl,
> +	.ndo_eth_ioctl		= cas_ioctl,
>   	.ndo_tx_timeout		= cas_tx_timeout,
>   	.ndo_change_mtu		= cas_change_mtu,
>   	.ndo_set_mac_address	= eth_mac_addr,
> diff --git a/drivers/net/ethernet/sun/niu.c b/drivers/net/ethernet/sun/niu.c
> index 74e748662ec0..006fd4237725 100644
> --- a/drivers/net/ethernet/sun/niu.c
> +++ b/drivers/net/ethernet/sun/niu.c
> @@ -9667,7 +9667,7 @@ static const struct net_device_ops niu_netdev_ops = {
>   	.ndo_set_rx_mode	= niu_set_rx_mode,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address	= niu_set_mac_addr,
> -	.ndo_do_ioctl		= niu_ioctl,
> +	.ndo_eth_ioctl		= niu_ioctl,
>   	.ndo_tx_timeout		= niu_tx_timeout,
>   	.ndo_change_mtu		= niu_change_mtu,
>   };
> diff --git a/drivers/net/ethernet/sun/sungem.c b/drivers/net/ethernet/sun/sungem.c
> index cfb9e21b18b7..d72018a60c0f 100644
> --- a/drivers/net/ethernet/sun/sungem.c
> +++ b/drivers/net/ethernet/sun/sungem.c
> @@ -2831,7 +2831,7 @@ static const struct net_device_ops gem_netdev_ops = {
>   	.ndo_start_xmit		= gem_start_xmit,
>   	.ndo_get_stats		= gem_get_stats,
>   	.ndo_set_rx_mode	= gem_set_multicast,
> -	.ndo_do_ioctl		= gem_ioctl,
> +	.ndo_eth_ioctl		= gem_ioctl,
>   	.ndo_tx_timeout		= gem_tx_timeout,
>   	.ndo_change_mtu		= gem_change_mtu,
>   	.ndo_validate_addr	= eth_validate_addr,
> diff --git a/drivers/net/ethernet/synopsys/dwc-xlgmac-net.c b/drivers/net/ethernet/synopsys/dwc-xlgmac-net.c
> index 26d178f8616b..1db7104fef3a 100644
> --- a/drivers/net/ethernet/synopsys/dwc-xlgmac-net.c
> +++ b/drivers/net/ethernet/synopsys/dwc-xlgmac-net.c
> @@ -933,7 +933,7 @@ static const struct net_device_ops xlgmac_netdev_ops = {
>   	.ndo_change_mtu		= xlgmac_change_mtu,
>   	.ndo_set_mac_address	= xlgmac_set_mac_address,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl		= xlgmac_ioctl,
> +	.ndo_eth_ioctl		= xlgmac_ioctl,
>   	.ndo_vlan_rx_add_vid	= xlgmac_vlan_rx_add_vid,
>   	.ndo_vlan_rx_kill_vid	= xlgmac_vlan_rx_kill_vid,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
> diff --git a/drivers/net/ethernet/ti/am65-cpsw-nuss.c b/drivers/net/ethernet/ti/am65-cpsw-nuss.c
> index 718539cdd2f2..7fcc09434ddc 100644
> --- a/drivers/net/ethernet/ti/am65-cpsw-nuss.c
> +++ b/drivers/net/ethernet/ti/am65-cpsw-nuss.c
> @@ -1479,7 +1479,7 @@ static const struct net_device_ops am65_cpsw_nuss_netdev_ops = {
>   	.ndo_tx_timeout		= am65_cpsw_nuss_ndo_host_tx_timeout,
>   	.ndo_vlan_rx_add_vid	= am65_cpsw_nuss_ndo_slave_add_vid,
>   	.ndo_vlan_rx_kill_vid	= am65_cpsw_nuss_ndo_slave_kill_vid,
> -	.ndo_do_ioctl		= am65_cpsw_nuss_ndo_slave_ioctl,
> +	.ndo_eth_ioctl		= am65_cpsw_nuss_ndo_slave_ioctl,
>   	.ndo_setup_tc           = am65_cpsw_qos_ndo_setup_tc,
>   	.ndo_get_devlink_port   = am65_cpsw_ndo_get_devlink_port,
>   };
> diff --git a/drivers/net/ethernet/ti/cpmac.c b/drivers/net/ethernet/ti/cpmac.c
> index c20715107075..02d4e51f7306 100644
> --- a/drivers/net/ethernet/ti/cpmac.c
> +++ b/drivers/net/ethernet/ti/cpmac.c
> @@ -1044,7 +1044,7 @@ static const struct net_device_ops cpmac_netdev_ops = {
>   	.ndo_start_xmit		= cpmac_start_xmit,
>   	.ndo_tx_timeout		= cpmac_tx_timeout,
>   	.ndo_set_rx_mode	= cpmac_set_multicast_list,
> -	.ndo_do_ioctl		= phy_do_ioctl_running,
> +	.ndo_eth_ioctl		= phy_do_ioctl_running,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address	= eth_mac_addr,
>   };
> diff --git a/drivers/net/ethernet/ti/cpsw.c b/drivers/net/ethernet/ti/cpsw.c
> index cbbd0f665796..abf9a2a6f7eb 100644
> --- a/drivers/net/ethernet/ti/cpsw.c
> +++ b/drivers/net/ethernet/ti/cpsw.c
> @@ -1159,7 +1159,7 @@ static const struct net_device_ops cpsw_netdev_ops = {
>   	.ndo_stop		= cpsw_ndo_stop,
>   	.ndo_start_xmit		= cpsw_ndo_start_xmit,
>   	.ndo_set_mac_address	= cpsw_ndo_set_mac_address,
> -	.ndo_do_ioctl		= cpsw_ndo_ioctl,
> +	.ndo_eth_ioctl		= cpsw_ndo_ioctl,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_tx_timeout		= cpsw_ndo_tx_timeout,
>   	.ndo_set_rx_mode	= cpsw_ndo_set_rx_mode,
> diff --git a/drivers/net/ethernet/ti/cpsw_new.c b/drivers/net/ethernet/ti/cpsw_new.c
> index 57d279fdcc9f..12c12816dfea 100644
> --- a/drivers/net/ethernet/ti/cpsw_new.c
> +++ b/drivers/net/ethernet/ti/cpsw_new.c
> @@ -1127,7 +1127,7 @@ static const struct net_device_ops cpsw_netdev_ops = {
>   	.ndo_stop		= cpsw_ndo_stop,
>   	.ndo_start_xmit		= cpsw_ndo_start_xmit,
>   	.ndo_set_mac_address	= cpsw_ndo_set_mac_address,
> -	.ndo_do_ioctl		= cpsw_ndo_ioctl,
> +	.ndo_eth_ioctl		= cpsw_ndo_ioctl,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_tx_timeout		= cpsw_ndo_tx_timeout,
>   	.ndo_set_rx_mode	= cpsw_ndo_set_rx_mode,
> diff --git a/drivers/net/ethernet/ti/davinci_emac.c b/drivers/net/ethernet/ti/davinci_emac.c
> index c674e34b6839..637796670746 100644
> --- a/drivers/net/ethernet/ti/davinci_emac.c
> +++ b/drivers/net/ethernet/ti/davinci_emac.c
> @@ -1670,7 +1670,7 @@ static const struct net_device_ops emac_netdev_ops = {
>   	.ndo_start_xmit		= emac_dev_xmit,
>   	.ndo_set_rx_mode	= emac_dev_mcast_set,
>   	.ndo_set_mac_address	= emac_dev_setmac_addr,
> -	.ndo_do_ioctl		= emac_devioctl,
> +	.ndo_eth_ioctl		= emac_devioctl,
>   	.ndo_tx_timeout		= emac_dev_tx_timeout,
>   	.ndo_get_stats		= emac_dev_getnetstats,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
> diff --git a/drivers/net/ethernet/ti/netcp_core.c b/drivers/net/ethernet/ti/netcp_core.c
> index 97942b0e3897..eda2961c0fe2 100644
> --- a/drivers/net/ethernet/ti/netcp_core.c
> +++ b/drivers/net/ethernet/ti/netcp_core.c
> @@ -1944,7 +1944,7 @@ static const struct net_device_ops netcp_netdev_ops = {
>   	.ndo_stop		= netcp_ndo_stop,
>   	.ndo_start_xmit		= netcp_ndo_start_xmit,
>   	.ndo_set_rx_mode	= netcp_set_rx_mode,
> -	.ndo_do_ioctl           = netcp_ndo_ioctl,
> +	.ndo_eth_ioctl           = netcp_ndo_ioctl,
>   	.ndo_get_stats64        = netcp_get_stats,
>   	.ndo_set_mac_address	= eth_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
> diff --git a/drivers/net/ethernet/ti/tlan.c b/drivers/net/ethernet/ti/tlan.c
> index e0cb713193ea..77c448ad67ce 100644
> --- a/drivers/net/ethernet/ti/tlan.c
> +++ b/drivers/net/ethernet/ti/tlan.c
> @@ -749,7 +749,7 @@ static const struct net_device_ops tlan_netdev_ops = {
>   	.ndo_tx_timeout		= tlan_tx_timeout,
>   	.ndo_get_stats		= tlan_get_stats,
>   	.ndo_set_rx_mode	= tlan_set_multicast_list,
> -	.ndo_do_ioctl		= tlan_ioctl,
> +	.ndo_eth_ioctl		= tlan_ioctl,
>   	.ndo_set_mac_address	= eth_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
> diff --git a/drivers/net/ethernet/toshiba/spider_net.c b/drivers/net/ethernet/toshiba/spider_net.c
> index 226a76633e65..087f0af56c50 100644
> --- a/drivers/net/ethernet/toshiba/spider_net.c
> +++ b/drivers/net/ethernet/toshiba/spider_net.c
> @@ -2214,7 +2214,7 @@ static const struct net_device_ops spider_net_ops = {
>   	.ndo_start_xmit		= spider_net_xmit,
>   	.ndo_set_rx_mode	= spider_net_set_multi,
>   	.ndo_set_mac_address	= spider_net_set_mac,
> -	.ndo_do_ioctl		= spider_net_do_ioctl,
> +	.ndo_eth_ioctl		= spider_net_do_ioctl,
>   	.ndo_tx_timeout		= spider_net_tx_timeout,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	/* HW VLAN */
> diff --git a/drivers/net/ethernet/toshiba/tc35815.c b/drivers/net/ethernet/toshiba/tc35815.c
> index fedb2bf69261..52245ac60fc7 100644
> --- a/drivers/net/ethernet/toshiba/tc35815.c
> +++ b/drivers/net/ethernet/toshiba/tc35815.c
> @@ -750,7 +750,7 @@ static const struct net_device_ops tc35815_netdev_ops = {
>   	.ndo_get_stats		= tc35815_get_stats,
>   	.ndo_set_rx_mode	= tc35815_set_multicast_list,
>   	.ndo_tx_timeout		= tc35815_tx_timeout,
> -	.ndo_do_ioctl		= phy_do_ioctl_running,
> +	.ndo_eth_ioctl		= phy_do_ioctl_running,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_mac_address	= eth_mac_addr,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
> diff --git a/drivers/net/ethernet/tundra/tsi108_eth.c b/drivers/net/ethernet/tundra/tsi108_eth.c
> index c62f474b6d08..cf0917b29e30 100644
> --- a/drivers/net/ethernet/tundra/tsi108_eth.c
> +++ b/drivers/net/ethernet/tundra/tsi108_eth.c
> @@ -1538,7 +1538,7 @@ static const struct net_device_ops tsi108_netdev_ops = {
>   	.ndo_start_xmit		= tsi108_send_packet,
>   	.ndo_set_rx_mode	= tsi108_set_rx_mode,
>   	.ndo_get_stats		= tsi108_get_stats,
> -	.ndo_do_ioctl		= tsi108_do_ioctl,
> +	.ndo_eth_ioctl		= tsi108_do_ioctl,
>   	.ndo_set_mac_address	= tsi108_set_mac,
>   	.ndo_validate_addr	= eth_validate_addr,
>   };
> diff --git a/drivers/net/ethernet/via/via-rhine.c b/drivers/net/ethernet/via/via-rhine.c
> index 73ca597ebd1b..961b623b7880 100644
> --- a/drivers/net/ethernet/via/via-rhine.c
> +++ b/drivers/net/ethernet/via/via-rhine.c
> @@ -884,7 +884,7 @@ static const struct net_device_ops rhine_netdev_ops = {
>   	.ndo_set_rx_mode	 = rhine_set_rx_mode,
>   	.ndo_validate_addr	 = eth_validate_addr,
>   	.ndo_set_mac_address 	 = eth_mac_addr,
> -	.ndo_do_ioctl		 = netdev_ioctl,
> +	.ndo_eth_ioctl		 = netdev_ioctl,
>   	.ndo_tx_timeout 	 = rhine_tx_timeout,
>   	.ndo_vlan_rx_add_vid	 = rhine_vlan_rx_add_vid,
>   	.ndo_vlan_rx_kill_vid	 = rhine_vlan_rx_kill_vid,
> diff --git a/drivers/net/ethernet/via/via-velocity.c b/drivers/net/ethernet/via/via-velocity.c
> index 88426b5e410b..278f49518d3f 100644
> --- a/drivers/net/ethernet/via/via-velocity.c
> +++ b/drivers/net/ethernet/via/via-velocity.c
> @@ -2637,7 +2637,7 @@ static const struct net_device_ops velocity_netdev_ops = {
>   	.ndo_set_mac_address	= eth_mac_addr,
>   	.ndo_set_rx_mode	= velocity_set_multi,
>   	.ndo_change_mtu		= velocity_change_mtu,
> -	.ndo_do_ioctl		= velocity_ioctl,
> +	.ndo_eth_ioctl		= velocity_ioctl,
>   	.ndo_vlan_rx_add_vid	= velocity_vlan_rx_add_vid,
>   	.ndo_vlan_rx_kill_vid	= velocity_vlan_rx_kill_vid,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
> diff --git a/drivers/net/ethernet/xilinx/ll_temac_main.c b/drivers/net/ethernet/xilinx/ll_temac_main.c
> index 60a4f79b8fa1..db1994fb51c5 100644
> --- a/drivers/net/ethernet/xilinx/ll_temac_main.c
> +++ b/drivers/net/ethernet/xilinx/ll_temac_main.c
> @@ -1237,7 +1237,7 @@ static const struct net_device_ops temac_netdev_ops = {
>   	.ndo_set_rx_mode = temac_set_multicast_list,
>   	.ndo_set_mac_address = temac_set_mac_address,
>   	.ndo_validate_addr = eth_validate_addr,
> -	.ndo_do_ioctl = phy_do_ioctl_running,
> +	.ndo_eth_ioctl = phy_do_ioctl_running,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
>   	.ndo_poll_controller = temac_poll_controller,
>   #endif
> diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> index 13cd799541aa..348c0ba5edcf 100644
> --- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> +++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> @@ -1227,7 +1227,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_eth_ioctl = axienet_ioctl,
>   	.ndo_set_rx_mode = axienet_set_multicast_list,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
>   	.ndo_poll_controller = axienet_poll_controller,
> diff --git a/drivers/net/ethernet/xilinx/xilinx_emaclite.c b/drivers/net/ethernet/xilinx/xilinx_emaclite.c
> index b06377fe7293..b780aad3550a 100644
> --- a/drivers/net/ethernet/xilinx/xilinx_emaclite.c
> +++ b/drivers/net/ethernet/xilinx/xilinx_emaclite.c
> @@ -1263,7 +1263,7 @@ static const struct net_device_ops xemaclite_netdev_ops = {
>   	.ndo_start_xmit		= xemaclite_send,
>   	.ndo_set_mac_address	= xemaclite_set_mac_address,
>   	.ndo_tx_timeout		= xemaclite_tx_timeout,
> -	.ndo_do_ioctl		= xemaclite_ioctl,
> +	.ndo_eth_ioctl		= xemaclite_ioctl,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
>   	.ndo_poll_controller = xemaclite_poll_controller,
>   #endif
> diff --git a/drivers/net/ethernet/xircom/xirc2ps_cs.c b/drivers/net/ethernet/xircom/xirc2ps_cs.c
> index 4f6db6f5c272..ae611e46da6a 100644
> --- a/drivers/net/ethernet/xircom/xirc2ps_cs.c
> +++ b/drivers/net/ethernet/xircom/xirc2ps_cs.c
> @@ -464,7 +464,7 @@ static const struct net_device_ops netdev_ops = {
>   	.ndo_start_xmit		= do_start_xmit,
>   	.ndo_tx_timeout 	= xirc_tx_timeout,
>   	.ndo_set_config		= do_config,
> -	.ndo_do_ioctl		= do_ioctl,
> +	.ndo_eth_ioctl		= do_ioctl,
>   	.ndo_set_rx_mode	= set_multicast_list,
>   	.ndo_set_mac_address 	= eth_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
> diff --git a/drivers/net/ethernet/xscale/ixp4xx_eth.c b/drivers/net/ethernet/xscale/ixp4xx_eth.c
> index 7ae754eadf22..ff50305d6e13 100644
> --- a/drivers/net/ethernet/xscale/ixp4xx_eth.c
> +++ b/drivers/net/ethernet/xscale/ixp4xx_eth.c
> @@ -1357,7 +1357,7 @@ static const struct net_device_ops ixp4xx_netdev_ops = {
>   	.ndo_stop = eth_close,
>   	.ndo_start_xmit = eth_xmit,
>   	.ndo_set_rx_mode = eth_set_mcast_list,
> -	.ndo_do_ioctl = eth_ioctl,
> +	.ndo_eth_ioctl = eth_ioctl,
>   	.ndo_set_mac_address = eth_mac_addr,
>   	.ndo_validate_addr = eth_validate_addr,
>   };
> diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c
> index 80de9768ecd4..35f46ad040b0 100644
> --- a/drivers/net/macvlan.c
> +++ b/drivers/net/macvlan.c
> @@ -829,7 +829,7 @@ static int macvlan_change_mtu(struct net_device *dev, int new_mtu)
>   	return 0;
>   }
>   
> -static int macvlan_do_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
> +static int macvlan_eth_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
>   {
>   	struct net_device *real_dev = macvlan_dev_real_dev(dev);
>   	const struct net_device_ops *ops = real_dev->netdev_ops;
> @@ -845,8 +845,8 @@ static int macvlan_do_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
>   			break;
>   		fallthrough;
>   	case SIOCGHWTSTAMP:
> -		if (netif_device_present(real_dev) && ops->ndo_do_ioctl)
> -			err = ops->ndo_do_ioctl(real_dev, &ifrr, cmd);
> +		if (netif_device_present(real_dev) && ops->ndo_eth_ioctl)
> +			err = ops->ndo_eth_ioctl(real_dev, &ifrr, cmd);
>   		break;
>   	}
>   
> @@ -1151,7 +1151,7 @@ static const struct net_device_ops macvlan_netdev_ops = {
>   	.ndo_stop		= macvlan_stop,
>   	.ndo_start_xmit		= macvlan_start_xmit,
>   	.ndo_change_mtu		= macvlan_change_mtu,
> -	.ndo_do_ioctl		= macvlan_do_ioctl,
> +	.ndo_eth_ioctl		= macvlan_eth_ioctl,
>   	.ndo_fix_features	= macvlan_fix_features,
>   	.ndo_change_rx_flags	= macvlan_change_rx_flags,
>   	.ndo_set_mac_address	= macvlan_set_mac_address,
> diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
> index 8eeb26d8aeb7..f124a8a58bd4 100644
> --- a/drivers/net/phy/phy.c
> +++ b/drivers/net/phy/phy.c
> @@ -426,7 +426,7 @@ int phy_mii_ioctl(struct phy_device *phydev, struct ifreq *ifr, int cmd)
>   EXPORT_SYMBOL(phy_mii_ioctl);
>   
>   /**
> - * phy_do_ioctl - generic ndo_do_ioctl implementation
> + * phy_do_ioctl - generic ndo_eth_ioctl implementation
>    * @dev: the net_device struct
>    * @ifr: &struct ifreq for socket ioctl's
>    * @cmd: ioctl cmd to execute
> @@ -441,7 +441,7 @@ int phy_do_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
>   EXPORT_SYMBOL(phy_do_ioctl);
>   
>   /**
> - * phy_do_ioctl_running - generic ndo_do_ioctl implementation but test first
> + * phy_do_ioctl_running - generic ndo_eth_ioctl implementation but test first
>    *
>    * @dev: the net_device struct
>    * @ifr: &struct ifreq for socket ioctl's
> diff --git a/drivers/net/usb/asix_devices.c b/drivers/net/usb/asix_devices.c
> index 2c115216420a..81456f501637 100644
> --- a/drivers/net/usb/asix_devices.c
> +++ b/drivers/net/usb/asix_devices.c
> @@ -197,7 +197,7 @@ static const struct net_device_ops ax88172_netdev_ops = {
>   	.ndo_get_stats64	= dev_get_tstats64,
>   	.ndo_set_mac_address 	= eth_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl		= asix_ioctl,
> +	.ndo_eth_ioctl		= asix_ioctl,
>   	.ndo_set_rx_mode	= ax88172_set_multicast,
>   };
>   
> @@ -589,7 +589,7 @@ static const struct net_device_ops ax88772_netdev_ops = {
>   	.ndo_get_stats64	= dev_get_tstats64,
>   	.ndo_set_mac_address 	= asix_set_mac_address,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl		= phy_do_ioctl_running,
> +	.ndo_eth_ioctl		= phy_do_ioctl_running,
>   	.ndo_set_rx_mode        = asix_set_multicast,
>   };
>   
> @@ -1100,7 +1100,7 @@ static const struct net_device_ops ax88178_netdev_ops = {
>   	.ndo_set_mac_address 	= asix_set_mac_address,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_rx_mode	= asix_set_multicast,
> -	.ndo_do_ioctl 		= asix_ioctl,
> +	.ndo_eth_ioctl		= asix_ioctl,
>   	.ndo_change_mtu 	= ax88178_change_mtu,
>   };
>   
> diff --git a/drivers/net/usb/ax88172a.c b/drivers/net/usb/ax88172a.c
> index 530947d7477b..d9777d9a7c5d 100644
> --- a/drivers/net/usb/ax88172a.c
> +++ b/drivers/net/usb/ax88172a.c
> @@ -109,7 +109,7 @@ static const struct net_device_ops ax88172a_netdev_ops = {
>   	.ndo_get_stats64	= dev_get_tstats64,
>   	.ndo_set_mac_address	= asix_set_mac_address,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl		= phy_do_ioctl_running,
> +	.ndo_eth_ioctl		= phy_do_ioctl_running,
>   	.ndo_set_rx_mode        = asix_set_multicast,
>   };
>   
> diff --git a/drivers/net/usb/ax88179_178a.c b/drivers/net/usb/ax88179_178a.c
> index c1316718304d..f25448a08870 100644
> --- a/drivers/net/usb/ax88179_178a.c
> +++ b/drivers/net/usb/ax88179_178a.c
> @@ -1035,7 +1035,7 @@ static const struct net_device_ops ax88179_netdev_ops = {
>   	.ndo_change_mtu		= ax88179_change_mtu,
>   	.ndo_set_mac_address	= ax88179_set_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl		= ax88179_ioctl,
> +	.ndo_eth_ioctl		= ax88179_ioctl,
>   	.ndo_set_rx_mode	= ax88179_set_multicast,
>   	.ndo_set_features	= ax88179_set_features,
>   };
> diff --git a/drivers/net/usb/dm9601.c b/drivers/net/usb/dm9601.c
> index 89cc61d7a675..907f98b1eefe 100644
> --- a/drivers/net/usb/dm9601.c
> +++ b/drivers/net/usb/dm9601.c
> @@ -345,7 +345,7 @@ static const struct net_device_ops dm9601_netdev_ops = {
>   	.ndo_change_mtu		= usbnet_change_mtu,
>   	.ndo_get_stats64	= dev_get_tstats64,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl 		= dm9601_ioctl,
> +	.ndo_eth_ioctl		= dm9601_ioctl,
>   	.ndo_set_rx_mode	= dm9601_set_multicast,
>   	.ndo_set_mac_address	= dm9601_set_mac_address,
>   };
> diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c
> index 25489389ea49..13f86368b78a 100644
> --- a/drivers/net/usb/lan78xx.c
> +++ b/drivers/net/usb/lan78xx.c
> @@ -3601,7 +3601,7 @@ static const struct net_device_ops lan78xx_netdev_ops = {
>   	.ndo_change_mtu		= lan78xx_change_mtu,
>   	.ndo_set_mac_address	= lan78xx_set_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl		= phy_do_ioctl_running,
> +	.ndo_eth_ioctl		= phy_do_ioctl_running,
>   	.ndo_set_rx_mode	= lan78xx_set_multicast,
>   	.ndo_set_features	= lan78xx_set_features,
>   	.ndo_vlan_rx_add_vid	= lan78xx_vlan_rx_add_vid,
> diff --git a/drivers/net/usb/mcs7830.c b/drivers/net/usb/mcs7830.c
> index 2469bdcb1a04..66866bef25df 100644
> --- a/drivers/net/usb/mcs7830.c
> +++ b/drivers/net/usb/mcs7830.c
> @@ -464,7 +464,7 @@ static const struct net_device_ops mcs7830_netdev_ops = {
>   	.ndo_change_mtu		= usbnet_change_mtu,
>   	.ndo_get_stats64	= dev_get_tstats64,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl 		= mcs7830_ioctl,
> +	.ndo_eth_ioctl		= mcs7830_ioctl,
>   	.ndo_set_rx_mode	= mcs7830_set_multicast,
>   	.ndo_set_mac_address	= mcs7830_set_mac_address,
>   };
> diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
> index 1692d3b1b6e1..45879c4917c9 100644
> --- a/drivers/net/usb/r8152.c
> +++ b/drivers/net/usb/r8152.c
> @@ -9163,7 +9163,7 @@ static int rtl8152_change_mtu(struct net_device *dev, int new_mtu)
>   static const struct net_device_ops rtl8152_netdev_ops = {
>   	.ndo_open		= rtl8152_open,
>   	.ndo_stop		= rtl8152_close,
> -	.ndo_do_ioctl		= rtl8152_ioctl,
> +	.ndo_eth_ioctl		= rtl8152_ioctl,
>   	.ndo_start_xmit		= rtl8152_start_xmit,
>   	.ndo_tx_timeout		= rtl8152_tx_timeout,
>   	.ndo_set_features	= rtl8152_set_features,
> diff --git a/drivers/net/usb/smsc75xx.c b/drivers/net/usb/smsc75xx.c
> index 13141dbfa3a8..76f7af161313 100644
> --- a/drivers/net/usb/smsc75xx.c
> +++ b/drivers/net/usb/smsc75xx.c
> @@ -1439,7 +1439,7 @@ static const struct net_device_ops smsc75xx_netdev_ops = {
>   	.ndo_change_mtu		= smsc75xx_change_mtu,
>   	.ndo_set_mac_address 	= eth_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl 		= smsc75xx_ioctl,
> +	.ndo_eth_ioctl		= smsc75xx_ioctl,
>   	.ndo_set_rx_mode	= smsc75xx_set_multicast,
>   	.ndo_set_features	= smsc75xx_set_features,
>   };
> diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c
> index 4c8ee1cff4d4..7d953974eb9b 100644
> --- a/drivers/net/usb/smsc95xx.c
> +++ b/drivers/net/usb/smsc95xx.c
> @@ -1044,7 +1044,7 @@ static const struct net_device_ops smsc95xx_netdev_ops = {
>   	.ndo_get_stats64	= dev_get_tstats64,
>   	.ndo_set_mac_address 	= eth_mac_addr,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl 		= smsc95xx_ioctl,
> +	.ndo_eth_ioctl		= smsc95xx_ioctl,
>   	.ndo_set_rx_mode	= smsc95xx_set_multicast,
>   	.ndo_set_features	= smsc95xx_set_features,
>   };
> diff --git a/drivers/net/usb/sr9700.c b/drivers/net/usb/sr9700.c
> index ce29261263cd..6516a37893e2 100644
> --- a/drivers/net/usb/sr9700.c
> +++ b/drivers/net/usb/sr9700.c
> @@ -310,7 +310,7 @@ static const struct net_device_ops sr9700_netdev_ops = {
>   	.ndo_change_mtu		= usbnet_change_mtu,
>   	.ndo_get_stats64	= dev_get_tstats64,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl		= sr9700_ioctl,
> +	.ndo_eth_ioctl		= sr9700_ioctl,
>   	.ndo_set_rx_mode	= sr9700_set_multicast,
>   	.ndo_set_mac_address	= sr9700_set_mac_address,
>   };
> diff --git a/drivers/net/usb/sr9800.c b/drivers/net/usb/sr9800.c
> index a822d81310d5..576401c8b1be 100644
> --- a/drivers/net/usb/sr9800.c
> +++ b/drivers/net/usb/sr9800.c
> @@ -684,7 +684,7 @@ static const struct net_device_ops sr9800_netdev_ops = {
>   	.ndo_get_stats64	= dev_get_tstats64,
>   	.ndo_set_mac_address	= sr_set_mac_address,
>   	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_do_ioctl		= sr_ioctl,
> +	.ndo_eth_ioctl		= sr_ioctl,
>   	.ndo_set_rx_mode        = sr_set_multicast,
>   };
>   
> diff --git a/drivers/s390/net/qeth_l2_main.c b/drivers/s390/net/qeth_l2_main.c
> index 2abf86c104d5..3d7f34f279b4 100644
> --- a/drivers/s390/net/qeth_l2_main.c
> +++ b/drivers/s390/net/qeth_l2_main.c
> @@ -879,7 +879,7 @@ static const struct net_device_ops qeth_l2_netdev_ops = {
>   	.ndo_select_queue	= qeth_l2_select_queue,
>   	.ndo_validate_addr	= qeth_l2_validate_addr,
>   	.ndo_set_rx_mode	= qeth_l2_set_rx_mode,
> -	.ndo_do_ioctl		= qeth_do_ioctl,
> +	.ndo_eth_ioctl		= qeth_do_ioctl,
>   	.ndo_set_mac_address    = qeth_l2_set_mac_address,
>   	.ndo_vlan_rx_add_vid	= qeth_l2_vlan_rx_add_vid,
>   	.ndo_vlan_rx_kill_vid   = qeth_l2_vlan_rx_kill_vid,
> diff --git a/drivers/s390/net/qeth_l3_main.c b/drivers/s390/net/qeth_l3_main.c
> index 71778b6076bd..170e1c2d1bd5 100644
> --- a/drivers/s390/net/qeth_l3_main.c
> +++ b/drivers/s390/net/qeth_l3_main.c
> @@ -1841,7 +1841,7 @@ static const struct net_device_ops qeth_l3_netdev_ops = {
>   	.ndo_select_queue	= qeth_l3_iqd_select_queue,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_rx_mode	= qeth_l3_set_rx_mode,
> -	.ndo_do_ioctl		= qeth_do_ioctl,
> +	.ndo_eth_ioctl		= qeth_do_ioctl,
>   	.ndo_fix_features	= qeth_fix_features,
>   	.ndo_set_features	= qeth_set_features,
>   	.ndo_tx_timeout		= qeth_tx_timeout,
> @@ -1856,7 +1856,7 @@ static const struct net_device_ops qeth_l3_osa_netdev_ops = {
>   	.ndo_select_queue	= qeth_l3_osa_select_queue,
>   	.ndo_validate_addr	= eth_validate_addr,
>   	.ndo_set_rx_mode	= qeth_l3_set_rx_mode,
> -	.ndo_do_ioctl		= qeth_do_ioctl,
> +	.ndo_eth_ioctl		= qeth_do_ioctl,
>   	.ndo_fix_features	= qeth_fix_features,
>   	.ndo_set_features	= qeth_set_features,
>   	.ndo_tx_timeout		= qeth_tx_timeout,
> diff --git a/drivers/staging/octeon/ethernet.c b/drivers/staging/octeon/ethernet.c
> index dcbba9621b21..5d24c1b6663b 100644
> --- a/drivers/staging/octeon/ethernet.c
> +++ b/drivers/staging/octeon/ethernet.c
> @@ -524,7 +524,7 @@ static const struct net_device_ops cvm_oct_npi_netdev_ops = {
>   	.ndo_start_xmit		= cvm_oct_xmit,
>   	.ndo_set_rx_mode	= cvm_oct_common_set_multicast_list,
>   	.ndo_set_mac_address	= cvm_oct_common_set_mac_address,
> -	.ndo_do_ioctl		= cvm_oct_ioctl,
> +	.ndo_eth_ioctl		= cvm_oct_ioctl,
>   	.ndo_change_mtu		= cvm_oct_common_change_mtu,
>   	.ndo_get_stats		= cvm_oct_common_get_stats,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
> @@ -540,7 +540,7 @@ static const struct net_device_ops cvm_oct_xaui_netdev_ops = {
>   	.ndo_start_xmit		= cvm_oct_xmit,
>   	.ndo_set_rx_mode	= cvm_oct_common_set_multicast_list,
>   	.ndo_set_mac_address	= cvm_oct_common_set_mac_address,
> -	.ndo_do_ioctl		= cvm_oct_ioctl,
> +	.ndo_eth_ioctl		= cvm_oct_ioctl,
>   	.ndo_change_mtu		= cvm_oct_common_change_mtu,
>   	.ndo_get_stats		= cvm_oct_common_get_stats,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
> @@ -556,7 +556,7 @@ static const struct net_device_ops cvm_oct_sgmii_netdev_ops = {
>   	.ndo_start_xmit		= cvm_oct_xmit,
>   	.ndo_set_rx_mode	= cvm_oct_common_set_multicast_list,
>   	.ndo_set_mac_address	= cvm_oct_common_set_mac_address,
> -	.ndo_do_ioctl		= cvm_oct_ioctl,
> +	.ndo_eth_ioctl		= cvm_oct_ioctl,
>   	.ndo_change_mtu		= cvm_oct_common_change_mtu,
>   	.ndo_get_stats		= cvm_oct_common_get_stats,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
> @@ -570,7 +570,7 @@ static const struct net_device_ops cvm_oct_spi_netdev_ops = {
>   	.ndo_start_xmit		= cvm_oct_xmit,
>   	.ndo_set_rx_mode	= cvm_oct_common_set_multicast_list,
>   	.ndo_set_mac_address	= cvm_oct_common_set_mac_address,
> -	.ndo_do_ioctl		= cvm_oct_ioctl,
> +	.ndo_eth_ioctl		= cvm_oct_ioctl,
>   	.ndo_change_mtu		= cvm_oct_common_change_mtu,
>   	.ndo_get_stats		= cvm_oct_common_get_stats,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
> @@ -586,7 +586,7 @@ static const struct net_device_ops cvm_oct_rgmii_netdev_ops = {
>   	.ndo_start_xmit		= cvm_oct_xmit,
>   	.ndo_set_rx_mode	= cvm_oct_common_set_multicast_list,
>   	.ndo_set_mac_address	= cvm_oct_common_set_mac_address,
> -	.ndo_do_ioctl		= cvm_oct_ioctl,
> +	.ndo_eth_ioctl		= cvm_oct_ioctl,
>   	.ndo_change_mtu		= cvm_oct_common_change_mtu,
>   	.ndo_get_stats		= cvm_oct_common_get_stats,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
> @@ -599,7 +599,7 @@ static const struct net_device_ops cvm_oct_pow_netdev_ops = {
>   	.ndo_start_xmit		= cvm_oct_xmit_pow,
>   	.ndo_set_rx_mode	= cvm_oct_common_set_multicast_list,
>   	.ndo_set_mac_address	= cvm_oct_common_set_mac_address,
> -	.ndo_do_ioctl		= cvm_oct_ioctl,
> +	.ndo_eth_ioctl		= cvm_oct_ioctl,
>   	.ndo_change_mtu		= cvm_oct_common_change_mtu,
>   	.ndo_get_stats		= cvm_oct_common_get_stats,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
> diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
> index 2db3c39648ac..43197cae2e1b 100644
> --- a/include/linux/netdevice.h
> +++ b/include/linux/netdevice.h
> @@ -1090,6 +1090,10 @@ struct netdev_net_notifier {
>    *	the generic interface code. If not defined ioctls return
>    *	not supported error code.
>    *
> + * * int (*ndo_eth_ioctl)(struct net_device *dev, struct ifreq *ifr, int cmd);
> + *	Called for ethernet specific ioctls: SIOCGMIIPHY, SIOCGMIIREG,
> + *	SIOCSMIIREG, SIOCSHWTSTAMP and SIOCGHWTSTAMP.
> + *
>    * int (*ndo_set_config)(struct net_device *dev, struct ifmap *map);
>    *	Used to set network devices bus interface parameters. This interface
>    *	is retained for legacy reasons; new devices should use the bus
> @@ -1361,6 +1365,8 @@ struct net_device_ops {
>   	int			(*ndo_validate_addr)(struct net_device *dev);
>   	int			(*ndo_do_ioctl)(struct net_device *dev,
>   					        struct ifreq *ifr, int cmd);
> +	int			(*ndo_eth_ioctl)(struct net_device *dev,
> +						 struct ifreq *ifr, int cmd);
>   	int			(*ndo_siocdevprivate)(struct net_device *dev,
>   						      struct ifreq *ifr,
>   						      void __user *data, int cmd);
> diff --git a/include/net/dsa.h b/include/net/dsa.h
> index 33f40c1ec379..b2ef69fb136f 100644
> --- a/include/net/dsa.h
> +++ b/include/net/dsa.h
> @@ -111,8 +111,8 @@ struct dsa_device_ops {
>    * function pointers.
>    */
>   struct dsa_netdevice_ops {
> -	int (*ndo_do_ioctl)(struct net_device *dev, struct ifreq *ifr,
> -			    int cmd);
> +	int (*ndo_eth_ioctl)(struct net_device *dev, struct ifreq *ifr,
> +			     int cmd);
>   };
>   
>   #define DSA_TAG_DRIVER_ALIAS "dsa_tag-"
> @@ -1003,8 +1003,8 @@ static inline int __dsa_netdevice_ops_check(struct net_device *dev)
>   	return 0;
>   }
>   
> -static inline int dsa_ndo_do_ioctl(struct net_device *dev, struct ifreq *ifr,
> -				   int cmd)
> +static inline int dsa_ndo_eth_ioctl(struct net_device *dev, struct ifreq *ifr,
> +				    int cmd)
>   {
>   	const struct dsa_netdevice_ops *ops;
>   	int err;
> @@ -1015,11 +1015,11 @@ static inline int dsa_ndo_do_ioctl(struct net_device *dev, struct ifreq *ifr,
>   
>   	ops = dev->dsa_ptr->netdev_ops;
>   
> -	return ops->ndo_do_ioctl(dev, ifr, cmd);
> +	return ops->ndo_eth_ioctl(dev, ifr, cmd);
>   }
>   #else
> -static inline int dsa_ndo_do_ioctl(struct net_device *dev, struct ifreq *ifr,
> -				   int cmd)
> +static inline int dsa_ndo_eth_ioctl(struct net_device *dev, struct ifreq *ifr,
> +				    int cmd)
>   {
>   	return -EOPNOTSUPP;
>   }
> diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c
> index a0367b37512d..0c21d1fec852 100644
> --- a/net/8021q/vlan_dev.c
> +++ b/net/8021q/vlan_dev.c
> @@ -372,8 +372,8 @@ static int vlan_dev_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
>   	case SIOCGMIIREG:
>   	case SIOCSMIIREG:
>   	case SIOCGHWTSTAMP:
> -		if (netif_device_present(real_dev) && ops->ndo_do_ioctl)
> -			err = ops->ndo_do_ioctl(real_dev, &ifrr, cmd);
> +		if (netif_device_present(real_dev) && ops->ndo_eth_ioctl)
> +			err = ops->ndo_eth_ioctl(real_dev, &ifrr, cmd);
>   		break;
>   	}
>   
> @@ -814,7 +814,7 @@ static const struct net_device_ops vlan_netdev_ops = {
>   	.ndo_set_mac_address	= vlan_dev_set_mac_address,
>   	.ndo_set_rx_mode	= vlan_dev_set_rx_mode,
>   	.ndo_change_rx_flags	= vlan_dev_change_rx_flags,
> -	.ndo_do_ioctl		= vlan_dev_ioctl,
> +	.ndo_eth_ioctl		= vlan_dev_ioctl,
>   	.ndo_neigh_setup	= vlan_dev_neigh_setup,
>   	.ndo_get_stats64	= vlan_dev_get_stats64,
>   #if IS_ENABLED(CONFIG_FCOE)
> diff --git a/net/core/dev_ioctl.c b/net/core/dev_ioctl.c
> index 754a38912e6d..557423449738 100644
> --- a/net/core/dev_ioctl.c
> +++ b/net/core/dev_ioctl.c
> @@ -238,19 +238,19 @@ static int net_hwtstamp_validate(struct ifreq *ifr)
>   	return 0;
>   }
>   
> -static int dev_do_ioctl(struct net_device *dev,
> -			struct ifreq *ifr, unsigned int cmd)
> +static int dev_eth_ioctl(struct net_device *dev,
> +			 struct ifreq *ifr, unsigned int cmd)
>   {
>   	const struct net_device_ops *ops = dev->netdev_ops;
>   	int err;
>   
> -	err = dsa_ndo_do_ioctl(dev, ifr, cmd);
> +	err = dsa_ndo_eth_ioctl(dev, ifr, cmd);
>   	if (err == 0 || err != -EOPNOTSUPP)
>   		return err;
>   
> -	if (ops->ndo_do_ioctl) {
> +	if (ops->ndo_eth_ioctl) {
>   		if (netif_device_present(dev))
> -			err = ops->ndo_do_ioctl(dev, ifr, cmd);
> +			err = ops->ndo_eth_ioctl(dev, ifr, cmd);
>   		else
>   			err = -ENODEV;
>   	}
> @@ -258,6 +258,21 @@ static int dev_do_ioctl(struct net_device *dev,
>   	return err;
>   }
>   
> +static int dev_do_ioctl(struct net_device *dev,
> +			struct ifreq *ifr, unsigned int cmd)
> +{
> +	const struct net_device_ops *ops = dev->netdev_ops;
> +
> +	if (ops->ndo_do_ioctl) {
> +		if (netif_device_present(dev))
> +			return ops->ndo_do_ioctl(dev, ifr, cmd);
> +		else
> +			return -ENODEV;
> +	}
> +
> +	return -EOPNOTSUPP;
> +}
> +
>   static int dev_siocdevprivate(struct net_device *dev, struct ifreq *ifr,
>   			      void __user *data, unsigned int cmd)
>   {
> @@ -357,19 +372,20 @@ static int dev_ifsioc(struct net *net, struct ifreq *ifr, void __user *data,
>   		    cmd <= SIOCDEVPRIVATE + 15)
>   			return dev_siocdevprivate(dev, ifr, data, cmd);
>   
> -		if (cmd == SIOCBONDENSLAVE ||
> +		if (cmd == SIOCGMIIPHY ||
> +		    cmd == SIOCGMIIREG ||
> +		    cmd == SIOCSMIIREG ||
> +		    cmd == SIOCSHWTSTAMP ||
> +		    cmd == SIOCGHWTSTAMP) {
> +			err = dev_eth_ioctl(dev, ifr, cmd);
> +		} else if (cmd == SIOCBONDENSLAVE ||
>   		    cmd == SIOCBONDRELEASE ||
>   		    cmd == SIOCBONDSETHWADDR ||
>   		    cmd == SIOCBONDSLAVEINFOQUERY ||
>   		    cmd == SIOCBONDINFOQUERY ||
>   		    cmd == SIOCBONDCHANGEACTIVE ||
> -		    cmd == SIOCGMIIPHY ||
> -		    cmd == SIOCGMIIREG ||
> -		    cmd == SIOCSMIIREG ||
>   		    cmd == SIOCBRADDIF ||
>   		    cmd == SIOCBRDELIF ||
> -		    cmd == SIOCSHWTSTAMP ||
> -		    cmd == SIOCGHWTSTAMP ||
>   		    cmd == SIOCWANDEV) {
>   			err = dev_do_ioctl(dev, ifr, cmd);
>   		} else
> diff --git a/net/dsa/master.c b/net/dsa/master.c
> index 3fc90e36772d..e8e19857621b 100644
> --- a/net/dsa/master.c
> +++ b/net/dsa/master.c
> @@ -210,14 +210,14 @@ static int dsa_master_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
>   		break;
>   	}
>   
> -	if (dev->netdev_ops->ndo_do_ioctl)
> -		err = dev->netdev_ops->ndo_do_ioctl(dev, ifr, cmd);
> +	if (dev->netdev_ops->ndo_eth_ioctl)
> +		err = dev->netdev_ops->ndo_eth_ioctl(dev, ifr, cmd);
>   
>   	return err;
>   }
>   
>   static const struct dsa_netdevice_ops dsa_netdev_ops = {
> -	.ndo_do_ioctl = dsa_master_ioctl,
> +	.ndo_eth_ioctl = dsa_master_ioctl,
>   };
>   
>   static int dsa_master_ethtool_setup(struct net_device *dev)
> diff --git a/net/dsa/slave.c b/net/dsa/slave.c
> index ffbba1e71551..d35e30098e69 100644
> --- a/net/dsa/slave.c
> +++ b/net/dsa/slave.c
> @@ -1687,7 +1687,7 @@ static const struct net_device_ops dsa_slave_netdev_ops = {
>   	.ndo_set_rx_mode	= dsa_slave_set_rx_mode,
>   	.ndo_set_mac_address	= dsa_slave_set_mac_address,
>   	.ndo_fdb_dump		= dsa_slave_fdb_dump,
> -	.ndo_do_ioctl		= dsa_slave_ioctl,
> +	.ndo_eth_ioctl		= dsa_slave_ioctl,
>   	.ndo_get_iflink		= dsa_slave_get_iflink,
>   #ifdef CONFIG_NET_POLL_CONTROLLER
>   	.ndo_netpoll_setup	= dsa_slave_netpoll_setup,

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ