Use netdev->dev_addr write helpers (part 1)
Subsystems (84)
Jakub Kicinski
maintainercover Use netdev->dev_addr write helpers (part 1)
Commit 406f42fa0d3c ("net-next: When a bond have a massive amount of VLANs...") introduced a rbtree for faster Ethernet address look up. To maintain netdev->dev_addr in this tree we need to make all the writes to it got through appropriate helpers.
This is the first installment of predictably tedious conversion. It tackles:
memcpy(netdev->dev_addr, something, ETH_ADDR)
and
ether_addr_copy(netdev->dev_addr, something)
replacing both with eth_hw_addr_set().
The first 7 patches are done entirely by sparse. Next 4 were semi-manual because the sparse conversion resulted in errors.
Jakub Kicinski (11):
arch: use eth_hw_addr_set()
net: use eth_hw_addr_set()
ethernet: use eth_hw_addr_set()
net: usb: use eth_hw_addr_set()
net: use eth_hw_addr_set() instead of ether_addr_copy()
ethernet: use eth_hw_addr_set() instead of ether_addr_copy()
net: usb: use eth_hw_addr_set() instead of ether_addr_copy()
ethernet: chelsio: use eth_hw_addr_set()
ethernet: s2io: use eth_hw_addr_set()
fddi: use eth_hw_addr_set()
ethernet: use eth_hw_addr_set() - casts
arch/m68k/emu/nfeth.c | 2 +- arch/xtensa/platforms/iss/network.c | 2 +- drivers/net/ethernet/3com/3c509.c | 2 +- drivers/net/ethernet/8390/ax88796.c | 6 +++--- drivers/net/ethernet/agere/et131x.c | 4 ++-- drivers/net/ethernet/alacritech/slicoss.c | 2 +- drivers/net/ethernet/allwinner/sun4i-emac.c | 2 +- drivers/net/ethernet/amazon/ena/ena_netdev.c | 2 +- drivers/net/ethernet/amd/atarilance.c | 2 +- drivers/net/ethernet/amd/au1000_eth.c | 2 +- drivers/net/ethernet/amd/nmclan_cs.c | 2 +- drivers/net/ethernet/amd/pcnet32.c | 2 +- drivers/net/ethernet/aquantia/atlantic/aq_nic.c | 2 +- drivers/net/ethernet/atheros/alx/main.c | 2 +- drivers/net/ethernet/broadcom/b44.c | 2 +- drivers/net/ethernet/broadcom/bcm63xx_enet.c | 6 +++--- drivers/net/ethernet/broadcom/bgmac-bcma.c | 2 +- drivers/net/ethernet/broadcom/bgmac.c | 2 +- drivers/net/ethernet/broadcom/bnx2.c | 2 +- drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 2 +- drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c | 2 +- drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c | 7 +++---- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 4 ++-- drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c | 2 +- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 4 ++-- drivers/net/ethernet/brocade/bna/bnad.c | 4 ++-- drivers/net/ethernet/cavium/liquidio/lio_core.c | 2 +- drivers/net/ethernet/cavium/liquidio/lio_main.c | 2 +- drivers/net/ethernet/cavium/liquidio/lio_vf_main.c | 2 +- drivers/net/ethernet/cavium/thunder/nicvf_main.c | 3 +-- drivers/net/ethernet/chelsio/cxgb/subr.c | 2 +- drivers/net/ethernet/chelsio/cxgb3/t3_hw.c | 4 ++-- drivers/net/ethernet/chelsio/cxgb4/cxgb4.h | 2 +- drivers/net/ethernet/chelsio/cxgb4/t4_hw.c | 2 +- drivers/net/ethernet/chelsio/cxgb4vf/adapter.h | 3 ++- drivers/net/ethernet/cirrus/ep93xx_eth.c | 2 +- drivers/net/ethernet/cirrus/mac89x0.c | 2 +- drivers/net/ethernet/cortina/gemini.c | 4 ++-- drivers/net/ethernet/davicom/dm9000.c | 2 +- drivers/net/ethernet/dec/tulip/tulip_core.c | 2 +- drivers/net/ethernet/dlink/sundance.c | 2 +- drivers/net/ethernet/emulex/benet/be_main.c | 4 ++-- drivers/net/ethernet/ethoc.c | 4 ++-- drivers/net/ethernet/ezchip/nps_enet.c | 2 +- drivers/net/ethernet/faraday/ftgmac100.c | 4 ++-- drivers/net/ethernet/freescale/fec_main.c | 2 +- drivers/net/ethernet/google/gve/gve_adminq.c | 2 +- drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 4 ++-- drivers/net/ethernet/huawei/hinic/hinic_main.c | 2 +- drivers/net/ethernet/ibm/ehea/ehea_main.c | 2 +- drivers/net/ethernet/ibm/ibmveth.c | 4 ++-- drivers/net/ethernet/ibm/ibmvnic.c | 5 ++--- drivers/net/ethernet/intel/e100.c | 2 +- drivers/net/ethernet/intel/fm10k/fm10k_netdev.c | 2 +- drivers/net/ethernet/intel/fm10k/fm10k_pci.c | 4 ++-- drivers/net/ethernet/intel/i40e/i40e_main.c | 4 ++-- drivers/net/ethernet/intel/iavf/iavf_main.c | 2 +- drivers/net/ethernet/intel/iavf/iavf_virtchnl.c | 4 ++-- drivers/net/ethernet/intel/ice/ice_main.c | 4 ++-- drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 6 +++--- drivers/net/ethernet/jme.c | 2 +- drivers/net/ethernet/korina.c | 2 +- drivers/net/ethernet/marvell/mv643xx_eth.c | 4 ++-- drivers/net/ethernet/marvell/mvneta.c | 2 +- drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 4 ++-- drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c | 2 +- drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c | 2 +- drivers/net/ethernet/marvell/prestera/prestera_main.c | 2 +- drivers/net/ethernet/marvell/pxa168_eth.c | 2 +- drivers/net/ethernet/marvell/skge.c | 2 +- drivers/net/ethernet/marvell/sky2.c | 2 +- drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 2 +- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 2 +- .../net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c | 2 +- drivers/net/ethernet/micrel/ks8851_common.c | 2 +- drivers/net/ethernet/micrel/ksz884x.c | 7 +++---- drivers/net/ethernet/microchip/enc28j60.c | 4 ++-- drivers/net/ethernet/microchip/lan743x_main.c | 4 ++-- drivers/net/ethernet/microchip/sparx5/sparx5_netdev.c | 2 +- drivers/net/ethernet/microsoft/mana/mana_en.c | 2 +- drivers/net/ethernet/mscc/ocelot_net.c | 4 ++-- drivers/net/ethernet/myricom/myri10ge/myri10ge.c | 2 +- drivers/net/ethernet/neterion/s2io.c | 2 +- drivers/net/ethernet/neterion/vxge/vxge-main.c | 2 +- drivers/net/ethernet/netronome/nfp/abm/main.c | 2 +- drivers/net/ethernet/netronome/nfp/nfp_net_main.c | 2 +- drivers/net/ethernet/netronome/nfp/nfp_netvf_main.c | 2 +- drivers/net/ethernet/ni/nixge.c | 2 +- drivers/net/ethernet/nvidia/forcedeth.c | 2 +- drivers/net/ethernet/nxp/lpc_eth.c | 2 +- drivers/net/ethernet/qlogic/qede/qede_filter.c | 4 ++-- drivers/net/ethernet/qlogic/qede/qede_main.c | 2 +- drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 2 +- drivers/net/ethernet/qualcomm/emac/emac.c | 2 +- drivers/net/ethernet/renesas/sh_eth.c | 2 +- drivers/net/ethernet/seeq/sgiseeq.c | 2 +- drivers/net/ethernet/sfc/ef100_nic.c | 2 +- drivers/net/ethernet/sfc/ef10_sriov.c | 2 +- drivers/net/ethernet/sfc/efx.c | 2 +- drivers/net/ethernet/sfc/efx_common.c | 4 ++-- drivers/net/ethernet/sfc/falcon/efx.c | 6 +++--- drivers/net/ethernet/sgi/ioc3-eth.c | 2 +- drivers/net/ethernet/sgi/meth.c | 2 +- drivers/net/ethernet/smsc/smsc911x.c | 4 ++-- drivers/net/ethernet/socionext/netsec.c | 2 +- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +- drivers/net/ethernet/sun/niu.c | 4 ++-- drivers/net/ethernet/sun/sungem.c | 2 +- drivers/net/ethernet/sun/sunhme.c | 8 ++++---- drivers/net/ethernet/sun/sunqe.c | 2 +- drivers/net/ethernet/ti/am65-cpsw-nuss.c | 2 +- drivers/net/ethernet/ti/cpsw.c | 6 +++--- drivers/net/ethernet/ti/cpsw_new.c | 4 ++-- drivers/net/ethernet/ti/davinci_emac.c | 2 +- drivers/net/ethernet/ti/netcp_core.c | 2 +- drivers/net/ethernet/toshiba/ps3_gelic_net.c | 2 +- drivers/net/ethernet/toshiba/spider_net.c | 2 +- drivers/net/ethernet/toshiba/tc35815.c | 2 +- drivers/net/ethernet/wiznet/w5100.c | 4 ++-- drivers/net/ethernet/wiznet/w5300.c | 4 ++-- drivers/net/ethernet/xilinx/ll_temac_main.c | 4 ++-- drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 2 +- drivers/net/ethernet/xscale/ixp4xx_eth.c | 2 +- drivers/net/fddi/skfp/skfddi.c | 5 +++-- drivers/net/hyperv/netvsc_drv.c | 2 +- drivers/net/ipvlan/ipvlan_main.c | 4 ++-- drivers/net/macsec.c | 2 +- drivers/net/macvlan.c | 4 ++-- drivers/net/usb/aqc111.c | 2 +- drivers/net/usb/asix_common.c | 2 +- drivers/net/usb/asix_devices.c | 2 +- drivers/net/usb/ax88172a.c | 2 +- drivers/net/usb/ax88179_178a.c | 4 ++-- drivers/net/usb/dm9601.c | 2 +- drivers/net/usb/ipheth.c | 2 +- drivers/net/usb/kalmia.c | 2 +- drivers/net/usb/lan78xx.c | 4 ++-- drivers/net/usb/r8152.c | 2 +- drivers/net/usb/rndis_host.c | 2 +- drivers/net/usb/rtl8150.c | 2 +- drivers/net/usb/sr9800.c | 2 +- include/linux/etherdevice.h | 2 +- net/8021q/vlan_dev.c | 6 +++--- net/bridge/br_stp_if.c | 2 +- net/dsa/slave.c | 4 ++-- net/ethernet/eth.c | 2 +- net/hsr/hsr_device.c | 2 +- net/hsr/hsr_main.c | 2 +- 149 files changed, 205 insertions(+), 207 deletions(-)
Signature · 1 line
2.31.1
Jakub Kicinski
maintainerPATCH 1/11 arch: use eth_hw_addr_set()
Commit 406f42fa0d3c ("net-next: When a bond have a massive amount of VLANs...") introduced a rbtree for faster Ethernet address look up. To maintain netdev->dev_addr in this tree we need to make all the writes to it got through appropriate helpers.
Convert misc arch drivers from memcpy(... ETH_ADDR) to eth_hw_addr_set():
@@
expression dev, np;
@@
- memcpy(dev->dev_addr, np, ETH_ALEN)
+ eth_hw_addr_set(dev, np)
--
CC: Geert Uytterhoeven <[email protected]>
CC: [email protected]
CC: Chris Zankel <[email protected]>
CC: Max Filippov <[email protected]>
CC: [email protected]
--- arch/m68k/emu/nfeth.c | 2 +- arch/xtensa/platforms/iss/network.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
arch/m68k/emu/nfeth.c +1 -1
@@ -200,7 +200,7 @@ static struct net_device * __init nfeth_probe(int unit) dev->irq = nfEtherIRQ; dev->netdev_ops = &nfeth_netdev_ops; -memcpy (dev->dev_addr, mac,ETH_ALEN ); +eth_hw_addr_set (dev, mac); priv =netdev_priv (dev); priv->ethX = unit;
arch/xtensa/platforms/iss/network.c +1 -1
@@ -467,7 +467,7 @@ static int iss_net_set_mac(struct net_device *dev, void *addr)if (!is_valid_ether_addr (hwaddr->sa_data))return -EADDRNOTAVAIL ;spin_lock_bh (&lp->lock); -memcpy (dev->dev_addr, hwaddr->sa_data,ETH_ALEN ); +eth_hw_addr_set (dev, hwaddr->sa_data);spin_unlock_bh (&lp->lock);return 0 ; }
Signature · 1 line
2.31.1
Re: [PATCH net-next 01/11] arch: use eth_hw_addr_set()
Quoted 21 lines · Jakub Kicinski
Commit
406f42fa0d3c("net-next: When a bond have a massive amount of VLANs...") introduced a rbtree for faster Ethernet address look up. To maintainnetdev->dev_addrin this tree we need to make all the writes to it got through appropriate helpers.Convert misc arch drivers from memcpy(...
ETH_ADDR) toeth_hw_addr_set():@@
expression dev, np;
@@
-memcpy(dev->dev_addr, np, ETH_ALEN)
+eth_hw_addr_set(dev, np)Signed-off-by Jakub Kicinski <[email protected]>--
CC: Geert Uytterhoeven <[email protected]>
CC: [email protected]
CC: Chris Zankel <[email protected]>
CC: Max Filippov <[email protected]>
CC: [email protected]
Quoted 4 lines
--- arch/m68k/emu/nfeth.c | 2 +- arch/xtensa/platforms/iss/network.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
For xtensa:
Signature · 2 lines
Thanks. -- Max
Re: [PATCH net-next 01/11] arch: use eth_hw_addr_set()
In reply to Jakub KicinskiQuoted 13 lines · Jakub Kicinski
Commit
406f42fa0d3c("net-next: When a bond have a massive amount of VLANs...") introduced a rbtree for faster Ethernet address look up. To maintainnetdev->dev_addrin this tree we need to make all the writes to it got through appropriate helpers.Convert misc arch drivers from memcpy(...
ETH_ADDR) toeth_hw_addr_set():@@
expression dev, np;
@@
-memcpy(dev->dev_addr, np, ETH_ALEN)
+eth_hw_addr_set(dev, np)
Quoted 3 lines
Signed-off-by Jakub Kicinski <[email protected]>arch/m68k/emu/nfeth.c | 2 +-
Gr{oetje,eeting}s,
Geert
Signature · 5 lines
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected] In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
Jakub Kicinski
maintainerPATCH 2/11 net: use eth_hw_addr_set()
In reply to Jakub KicinskiConvert sw drivers from memcpy(... ETH_ADDR) to eth_hw_addr_set():
@@
expression dev, np;
@@
- memcpy(dev->dev_addr, np, ETH_ALEN)
+ eth_hw_addr_set(dev, np)
--- drivers/net/hyperv/netvsc_drv.c | 2 +- drivers/net/ipvlan/ipvlan_main.c | 2 +- drivers/net/macvlan.c | 2 +- net/bridge/br_stp_if.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-)
drivers/net/hyperv/netvsc_drv.c +1 -1
@@ -2536,7 +2536,7 @@ static int netvsc_probe(struct hv_device *dev, goto rndis_failed; } -memcpy (net->dev_addr, device_info->mac_adr,ETH_ALEN ); +eth_hw_addr_set (net, device_info->mac_adr);/* We must get rtnl lock before scheduling nvdev->subchan_work, * otherwise netvsc_subchan_work() can get rtnl lock first and wait
drivers/net/ipvlan/ipvlan_main.c +1 -1
@@ -579,7 +579,7 @@ int ipvlan_link_new(struct net *src_net, struct net_device *dev,* world but keep using the physical-dev address for the outgoing * packets. */ -memcpy (dev->dev_addr, phy_dev->dev_addr,ETH_ALEN ); +eth_hw_addr_set (dev, phy_dev->dev_addr); dev->priv_flags |=IFF_NO_RX_HANDLER ;
drivers/net/macvlan.c +1 -1
@@ -202,7 +202,7 @@ static void macvlan_hash_change_addr(struct macvlan_dev *vlan,/* Now that we are unhashed it is safe to change the device * address without confusing packet delivery. */ -memcpy (vlan->dev->dev_addr, addr,ETH_ALEN ); +eth_hw_addr_set (vlan->dev, addr);macvlan_hash_add (vlan); }
net/bridge/br_stp_if.c +1 -1
@@ -233,7 +233,7 @@ void br_stp_change_bridge_id(struct net_bridge *br, const unsigned char *addr)memcpy (oldaddr, br->bridge_id.addr,ETH_ALEN );memcpy (br->bridge_id.addr, addr,ETH_ALEN ); -memcpy (br->dev->dev_addr, addr,ETH_ALEN ); +eth_hw_addr_set (br->dev, addr);list_for_each_entry (p, &br->port_list, list) {if (ether_addr_equal (p->designated_bridge.addr, oldaddr))
Signature · 1 line
2.31.1
Jakub Kicinski
maintainerPATCH 3/11 ethernet: use eth_hw_addr_set()
In reply to Jakub KicinskiConvert all Ethernet drivers from memcpy(... ETH_ADDR) to eth_hw_addr_set():
@@
expression dev, np;
@@
- memcpy(dev->dev_addr, np, ETH_ALEN)
+ eth_hw_addr_set(dev, np)
--- drivers/net/ethernet/8390/ax88796.c | 6 +++--- drivers/net/ethernet/allwinner/sun4i-emac.c | 2 +- drivers/net/ethernet/amd/atarilance.c | 2 +- drivers/net/ethernet/amd/au1000_eth.c | 2 +- drivers/net/ethernet/amd/nmclan_cs.c | 2 +- drivers/net/ethernet/amd/pcnet32.c | 2 +- drivers/net/ethernet/atheros/alx/main.c | 2 +- drivers/net/ethernet/broadcom/b44.c | 2 +- drivers/net/ethernet/broadcom/bcm63xx_enet.c | 6 +++--- drivers/net/ethernet/broadcom/bnx2.c | 2 +- drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 2 +- drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c | 2 +- drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c | 7 +++---- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 4 ++-- drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c | 2 +- drivers/net/ethernet/cirrus/ep93xx_eth.c | 2 +- drivers/net/ethernet/cirrus/mac89x0.c | 2 +- drivers/net/ethernet/cortina/gemini.c | 2 +- drivers/net/ethernet/davicom/dm9000.c | 2 +- drivers/net/ethernet/dec/tulip/tulip_core.c | 2 +- drivers/net/ethernet/dlink/sundance.c | 2 +- drivers/net/ethernet/emulex/benet/be_main.c | 2 +- drivers/net/ethernet/ethoc.c | 2 +- drivers/net/ethernet/freescale/fec_main.c | 2 +- drivers/net/ethernet/huawei/hinic/hinic_main.c | 2 +- drivers/net/ethernet/ibm/ehea/ehea_main.c | 2 +- drivers/net/ethernet/ibm/ibmveth.c | 2 +- drivers/net/ethernet/jme.c | 2 +- drivers/net/ethernet/marvell/mv643xx_eth.c | 4 ++-- drivers/net/ethernet/marvell/mvneta.c | 2 +- drivers/net/ethernet/marvell/pxa168_eth.c | 2 +- drivers/net/ethernet/marvell/skge.c | 2 +- drivers/net/ethernet/marvell/sky2.c | 2 +- drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 2 +- drivers/net/ethernet/micrel/ks8851_common.c | 2 +- drivers/net/ethernet/micrel/ksz884x.c | 7 +++---- drivers/net/ethernet/mscc/ocelot_net.c | 2 +- drivers/net/ethernet/myricom/myri10ge/myri10ge.c | 2 +- drivers/net/ethernet/neterion/vxge/vxge-main.c | 2 +- drivers/net/ethernet/nvidia/forcedeth.c | 2 +- drivers/net/ethernet/nxp/lpc_eth.c | 2 +- drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 2 +- drivers/net/ethernet/renesas/sh_eth.c | 2 +- drivers/net/ethernet/seeq/sgiseeq.c | 2 +- drivers/net/ethernet/sfc/ef100_nic.c | 2 +- drivers/net/ethernet/sgi/ioc3-eth.c | 2 +- drivers/net/ethernet/sgi/meth.c | 2 +- drivers/net/ethernet/smsc/smsc911x.c | 4 ++-- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +- drivers/net/ethernet/sun/niu.c | 4 ++-- drivers/net/ethernet/sun/sungem.c | 2 +- drivers/net/ethernet/sun/sunhme.c | 8 ++++---- drivers/net/ethernet/sun/sunqe.c | 2 +- drivers/net/ethernet/ti/cpsw.c | 6 +++--- drivers/net/ethernet/toshiba/ps3_gelic_net.c | 2 +- drivers/net/ethernet/toshiba/spider_net.c | 2 +- drivers/net/ethernet/toshiba/tc35815.c | 2 +- drivers/net/ethernet/wiznet/w5100.c | 4 ++-- drivers/net/ethernet/wiznet/w5300.c | 4 ++-- drivers/net/ethernet/xilinx/ll_temac_main.c | 4 ++-- drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 2 +- drivers/net/ethernet/xscale/ixp4xx_eth.c | 2 +- net/ethernet/eth.c | 2 +- 63 files changed, 83 insertions(+), 85 deletions(-)
drivers/net/ethernet/8390/ax88796.c +3 -3
@@ -716,7 +716,7 @@ static int ax_init_dev(struct net_device *dev)for (i =0 ; i <16 ; i++) SA_prom[i] = SA_prom[i+i]; -memcpy (dev->dev_addr, SA_prom,ETH_ALEN ); +eth_hw_addr_set (dev, SA_prom); }#ifdef CONFIG_AX88796_93CX6
@@ -733,7 +733,7 @@ static int ax_init_dev(struct net_device *dev) (__le16 __force *)mac_addr, sizeof(mac_addr) >> 1); - memcpy(dev->dev_addr, mac_addr, ETH_ALEN); + eth_hw_addr_set(dev, mac_addr); }#endif if (ax->plat->wordlength ==2 ) {
@@ -757,7 +757,7 @@ static int ax_init_dev(struct net_device *dev)if ((ax->plat->flags &AXFLG_MAC_FROMPLATFORM ) && ax->plat->mac_addr) -memcpy (dev->dev_addr, ax->plat->mac_addr,ETH_ALEN ); +eth_hw_addr_set (dev, ax->plat->mac_addr);if (!is_valid_ether_addr (dev->dev_addr)) {eth_hw_addr_random (dev);
drivers/net/ethernet/allwinner/sun4i-emac.c +1 -1
@@ -356,7 +356,7 @@ static int emac_set_mac_address(struct net_device *dev, void *p)if (netif_running (dev))return -EBUSY ; -memcpy (dev->dev_addr, addr->sa_data,ETH_ALEN ); +eth_hw_addr_set (dev, addr->sa_data);writel (dev->dev_addr[0 ] <<16 | dev->dev_addr[1 ] <<8 | dev-> dev_addr[2 ], db->membase +EMAC_MAC_A1_REG );
drivers/net/ethernet/amd/atarilance.c +1 -1
@@ -582,7 +582,7 @@ static unsigned long __init lance_probe1( struct net_device *dev,switch ( lp->cardtype ) {case OLD_RIEBL :/* No ethernet address! (Set some default address) */ -memcpy (dev->dev_addr, OldRieblDefHwaddr,ETH_ALEN ); +eth_hw_addr_set (dev, OldRieblDefHwaddr);break ;case NEW_RIEBL : lp->memcpy_f (dev->dev_addr,RIEBL_HWADDR_ADDR ,ETH_ALEN );
drivers/net/ethernet/amd/au1000_eth.c +1 -1
@@ -1178,7 +1178,7 @@ static int au1000_probe(struct platform_device *pdev) aup->phy1_search_mac0 =1 ; }else {if (is_valid_ether_addr (pd->mac)) { -memcpy (dev->dev_addr, pd->mac,ETH_ALEN ); +eth_hw_addr_set (dev, pd->mac); }else {/* Set a random MAC since no valid provided by platform_data. */ eth_hw_addr_random (dev);
drivers/net/ethernet/amd/nmclan_cs.c +1 -1
@@ -635,7 +635,7 @@ static int nmclan_config(struct pcmcia_device *link)kfree (buf); goto failed; } -memcpy (dev->dev_addr, buf,ETH_ALEN ); +eth_hw_addr_set (dev, buf);kfree (buf);/* Verify configuration by reading the MACE ID. */
drivers/net/ethernet/amd/pcnet32.c +1 -1
@@ -1775,7 +1775,7 @@ pcnet32_probe1(unsigned long ioaddr, int shared, struct pci_dev *pdev)pr_cont (" warning: CSR address invalid,\n" );pr_info (" using instead PROM address of" ); } -memcpy (dev->dev_addr, promaddr,ETH_ALEN ); +eth_hw_addr_set (dev, promaddr); } }
drivers/net/ethernet/atheros/alx/main.c +1 -1
@@ -1832,7 +1832,7 @@ static int alx_probe(struct pci_dev *pdev, const struct pci_device_id *ent) }memcpy (hw->mac_addr, hw->perm_addr,ETH_ALEN ); -memcpy (netdev->dev_addr, hw->mac_addr,ETH_ALEN ); +eth_hw_addr_set (netdev, hw->mac_addr);memcpy (netdev->perm_addr, hw->perm_addr,ETH_ALEN ); hw->mdio.prtad =0 ;
drivers/net/ethernet/broadcom/b44.c +1 -1
@@ -2171,7 +2171,7 @@ static int b44_get_invariants(struct b44 *bp)* valid PHY address. */ bp->phy_addr &=0x1F ; -memcpy (bp->dev->dev_addr, addr,ETH_ALEN ); +eth_hw_addr_set (bp->dev, addr);if (!is_valid_ether_addr (&bp->dev->dev_addr[0 ])){pr_err ("Invalid MAC address found in EEPROM\n" );
drivers/net/ethernet/broadcom/bcm63xx_enet.c +3 -3
@@ -670,7 +670,7 @@ static int bcm_enet_set_mac_address(struct net_device *dev, void *p)u32 val; priv =netdev_priv (dev); -memcpy (dev->dev_addr, addr->sa_data,ETH_ALEN ); +eth_hw_addr_set (dev, addr->sa_data);/* use perfect match register 0 to store my mac address */ val = (dev->dev_addr[2] << 24) | (dev->dev_addr[3] << 16) |
@@ -1762,7 +1762,7 @@ static int bcm_enet_probe(struct platform_device *pdev) pd =dev_get_platdata (&pdev->dev);if (pd) { -memcpy (dev->dev_addr, pd->mac_addr,ETH_ALEN ); +eth_hw_addr_set (dev, pd->mac_addr); priv->has_phy = pd->has_phy; priv->phy_id = pd->phy_id; priv->has_phy_interrupt = pd->has_phy_interrupt;
@@ -2665,7 +2665,7 @@ static int bcm_enetsw_probe(struct platform_device *pdev) pd =dev_get_platdata (&pdev->dev);if (pd) { -memcpy (dev->dev_addr, pd->mac_addr,ETH_ALEN ); +eth_hw_addr_set (dev, pd->mac_addr);memcpy (priv->used_ports, pd->used_ports,sizeof (pd->used_ports)); priv->num_ports = pd->num_ports;
drivers/net/ethernet/broadcom/bnx2.c +1 -1
@@ -8574,7 +8574,7 @@ bnx2_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)if (is_kdump_kernel ())bnx2_wait_dma_complete (bp); -memcpy (dev->dev_addr, bp->mac_addr,ETH_ALEN ); +eth_hw_addr_set (dev, bp->mac_addr); dev->hw_features =NETIF_F_IP_CSUM |NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO_ECN |
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c +1 -1
@@ -11790,7 +11790,7 @@ static void bnx2x_get_cnic_mac_hwinfo(struct bnx2x *bp)* as the SAN mac was copied from the primary MAC. */ if (IS_MF_FCOE_AFEX (bp)) -memcpy (bp->dev->dev_addr, fip_mac,ETH_ALEN ); +eth_hw_addr_set (bp->dev, fip_mac); }else { val2 =SHMEM_RD (bp, dev_info.port_hw_config[port]. iscsi_mac_upper);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c +1 -1
@@ -3058,7 +3058,7 @@ enum sample_bulletin_result bnx2x_sample_bulletin(struct bnx2x *bp)if (bulletin->valid_bitmap &1 <<MAC_ADDR_VALID && !ether_addr_equal (bulletin->mac, bp->old_bulletin.mac)) {/* update new mac to net device */ -memcpy (bp->dev->dev_addr, bulletin->mac,ETH_ALEN ); +eth_hw_addr_set (bp->dev, bulletin->mac); }if (bulletin->valid_bitmap & (1 <<LINK_VALID )) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c +3 -4
@@ -384,9 +384,8 @@ int bnx2x_vfpf_acquire(struct bnx2x *bp, u8 tx_count, u8 rx_count) sizeof(bp->fw_ver));if (is_valid_ether_addr (bp->acquire_resp.resc.current_mac_addr)) -memcpy (bp->dev->dev_addr, - bp->acquire_resp.resc.current_mac_addr, -ETH_ALEN ); +eth_hw_addr_set (bp->dev, + bp->acquire_resp.resc.current_mac_addr); out:bnx2x_vfpf_finalize (bp, &req->first_tlv);
@@ -767,7 +766,7 @@ int bnx2x_vfpf_config_mac(struct bnx2x *bp, u8 *addr, u8 vf_qid, bool set) "vfpf SET MAC failed. Check bulletin board for new posts\n");/* copy mac from bulletin to device */ -memcpy (bp->dev->dev_addr, bulletin.mac,ETH_ALEN ); +eth_hw_addr_set (bp->dev, bulletin.mac);/* check if bulletin board was updated */ if (bnx2x_sample_bulletin (bp) ==PFVF_BULLETIN_UPDATED ) {
drivers/net/ethernet/broadcom/bnxt/bnxt.c +2 -2
@@ -13103,7 +13103,7 @@ static int bnxt_init_mac_addr(struct bnxt *bp)int rc =0 ;if (BNXT_PF (bp)) { -memcpy (bp->dev->dev_addr, bp->pf.mac_addr,ETH_ALEN ); +eth_hw_addr_set (bp->dev, bp->pf.mac_addr); }else {#ifdef CONFIG_BNXT_SRIOV struct bnxt_vf_info *vf = &bp->vf;
@@ -13111,7 +13111,7 @@ static int bnxt_init_mac_addr(struct bnxt *bp)if (is_valid_ether_addr (vf->mac_addr)) {/* overwrite netdev dev_addr with admin VF MAC */ -memcpy (bp->dev->dev_addr, vf->mac_addr,ETH_ALEN ); +eth_hw_addr_set (bp->dev, vf->mac_addr);/* Older PF driver or firmware may not approve this * correctly. */
drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c +1 -1
@@ -1217,7 +1217,7 @@ void bnxt_update_vf_mac(struct bnxt *bp)/* overwrite netdev dev_addr with admin VF MAC */ if (is_valid_ether_addr (bp->vf.mac_addr)) -memcpy (bp->dev->dev_addr, bp->vf.mac_addr,ETH_ALEN ); +eth_hw_addr_set (bp->dev, bp->vf.mac_addr); update_vf_mac_exit:hwrm_req_drop (bp, req);if (inform_pf)
drivers/net/ethernet/cirrus/ep93xx_eth.c +1 -1
@@ -746,7 +746,7 @@ static struct net_device *ep93xx_dev_alloc(struct ep93xx_eth_data *data)if (dev ==NULL )return NULL ; -memcpy (dev->dev_addr, data->dev_addr,ETH_ALEN ); +eth_hw_addr_set (dev, data->dev_addr); dev->ethtool_ops = &ep93xx_ethtool_ops; dev->netdev_ops = &ep93xx_netdev_ops;
drivers/net/ethernet/cirrus/mac89x0.c +1 -1
@@ -541,7 +541,7 @@ static int set_mac_address(struct net_device *dev, void *addr)if (!is_valid_ether_addr (saddr->sa_data))return -EADDRNOTAVAIL ; -memcpy (dev->dev_addr, saddr->sa_data,ETH_ALEN ); +eth_hw_addr_set (dev, saddr->sa_data);netdev_info (dev,"Setting MAC address to %pM\n" , dev->dev_addr);/* set the Ethernet address */
drivers/net/ethernet/cortina/gemini.c +1 -1
@@ -1889,7 +1889,7 @@ static int gmac_set_mac_address(struct net_device *netdev, void *addr) {struct sockaddr *sa = addr; -memcpy (netdev->dev_addr, sa->sa_data,ETH_ALEN ); +eth_hw_addr_set (netdev, sa->sa_data);gmac_write_mac_address (netdev);return 0 ;
drivers/net/ethernet/davicom/dm9000.c +1 -1
@@ -1670,7 +1670,7 @@ dm9000_probe(struct platform_device *pdev)if (!is_valid_ether_addr (ndev->dev_addr) && pdata !=NULL ) { mac_src ="platform data" ; -memcpy (ndev->dev_addr, pdata->dev_addr,ETH_ALEN ); +eth_hw_addr_set (ndev, pdata->dev_addr); }if (!is_valid_ether_addr (ndev->dev_addr)) {
drivers/net/ethernet/dec/tulip/tulip_core.c +1 -1
@@ -1609,7 +1609,7 @@ static int tulip_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)#if defined(CONFIG_SPARC ) addr =of_get_property (dp,"local-mac-address" , &len);if (addr && len ==ETH_ALEN ) -memcpy (dev->dev_addr, addr,ETH_ALEN ); +eth_hw_addr_set (dev, addr);#endif #if defined(__i386__) || defined(__x86_64__)/* Patch up x86 BIOS bug. */ if (last_irq)
drivers/net/ethernet/dlink/sundance.c +1 -1
@@ -1611,7 +1611,7 @@ static int sundance_set_mac_addr(struct net_device *dev, void *data)if (!is_valid_ether_addr (addr->sa_data))return -EADDRNOTAVAIL ; -memcpy (dev->dev_addr, addr->sa_data,ETH_ALEN ); +eth_hw_addr_set (dev, addr->sa_data);__set_mac_addr (dev);return 0 ;
drivers/net/ethernet/emulex/benet/be_main.c +1 -1
@@ -4599,7 +4599,7 @@ static int be_mac_setup(struct be_adapter *adapter)if (status)return status; -memcpy (adapter->netdev->dev_addr, mac,ETH_ALEN ); +eth_hw_addr_set (adapter->netdev, mac);memcpy (adapter->netdev->perm_addr, mac,ETH_ALEN );/* Initial MAC for BE3 VFs is already programmed by PF */
drivers/net/ethernet/ethoc.c +1 -1
@@ -816,7 +816,7 @@ static int ethoc_set_mac_address(struct net_device *dev, void *p)if (!is_valid_ether_addr (addr->sa_data))return -EADDRNOTAVAIL ; -memcpy (dev->dev_addr, addr->sa_data,ETH_ALEN ); +eth_hw_addr_set (dev, addr->sa_data);ethoc_do_set_mac_address (dev);return 0 ; }
drivers/net/ethernet/freescale/fec_main.c +1 -1
@@ -1768,7 +1768,7 @@ static int fec_get_mac(struct net_device *ndev)return 0 ; } -memcpy (ndev->dev_addr, iap,ETH_ALEN ); +eth_hw_addr_set (ndev, iap);/* Adjust MAC if using macaddr */ if (iap == macaddr)
drivers/net/ethernet/huawei/hinic/hinic_main.c +1 -1
@@ -656,7 +656,7 @@ static int hinic_set_mac_addr(struct net_device *netdev, void *addr) err =change_mac_addr (netdev, new_mac);if (!err) -memcpy (netdev->dev_addr, new_mac,ETH_ALEN ); +eth_hw_addr_set (netdev, new_mac);return err; }
drivers/net/ethernet/ibm/ehea/ehea_main.c +1 -1
@@ -2986,7 +2986,7 @@ static struct ehea_port *ehea_setup_single_port(struct ehea_adapter *adapter,SET_NETDEV_DEV (dev, port_dev);/* initialize net_device structure */ -memcpy (dev->dev_addr, &port->mac_addr,ETH_ALEN ); +eth_hw_addr_set (dev, &port->mac_addr); dev->netdev_ops = &ehea_netdev_ops;ehea_set_ethtool_ops (dev);
drivers/net/ethernet/ibm/ibmveth.c +1 -1
@@ -1720,7 +1720,7 @@ static int ibmveth_probe(struct vio_dev *dev, const struct vio_device_id *id) netdev->min_mtu =IBMVETH_MIN_MTU ; netdev->max_mtu =ETH_MAX_MTU -IBMVETH_BUFF_OH ; -memcpy (netdev->dev_addr, mac_addr_p,ETH_ALEN ); +eth_hw_addr_set (netdev, mac_addr_p);if (firmware_has_feature (FW_FEATURE_CMO ))memcpy (pool_count, pool_count_cmo,sizeof (pool_count));
drivers/net/ethernet/jme.c +1 -1
@@ -313,7 +313,7 @@ jme_load_macaddr(struct net_device *netdev) val =jread32 (jme,JME_RXUMA_HI ); macaddr[4 ] = (val >>0 ) &0xFF ; macaddr[5 ] = (val >>8 ) &0xFF ; -memcpy (netdev->dev_addr, macaddr,ETH_ALEN ); +eth_hw_addr_set (netdev, macaddr);spin_unlock_bh (&jme->macaddr_lock); }
drivers/net/ethernet/marvell/mv643xx_eth.c +2 -2
@@ -1919,7 +1919,7 @@ static int mv643xx_eth_set_mac_address(struct net_device *dev, void *addr)if (!is_valid_ether_addr (sa->sa_data))return -EADDRNOTAVAIL ; -memcpy (dev->dev_addr, sa->sa_data,ETH_ALEN ); +eth_hw_addr_set (dev, sa->sa_data);netif_addr_lock_bh (dev);mv643xx_eth_program_unicast_filter (dev);
@@ -2926,7 +2926,7 @@ static void set_params(struct mv643xx_eth_private *mp,unsigned int tx_ring_size;if (is_valid_ether_addr (pd->mac_addr)) -memcpy (dev->dev_addr, pd->mac_addr,ETH_ALEN ); +eth_hw_addr_set (dev, pd->mac_addr);else uc_addr_get (mp, dev->dev_addr);
drivers/net/ethernet/marvell/mvneta.c +1 -1
@@ -5249,7 +5249,7 @@ static int mvneta_probe(struct platform_device *pdev)mvneta_get_mac_addr (pp, hw_mac_addr);if (is_valid_ether_addr (hw_mac_addr)) { mac_from ="hardware" ; -memcpy (dev->dev_addr, hw_mac_addr,ETH_ALEN ); +eth_hw_addr_set (dev, hw_mac_addr); }else { mac_from ="random" ;eth_hw_addr_random (dev);
drivers/net/ethernet/marvell/pxa168_eth.c +1 -1
@@ -607,7 +607,7 @@ static int pxa168_eth_set_mac_address(struct net_device *dev, void *addr)if (!is_valid_ether_addr (sa->sa_data))return -EADDRNOTAVAIL ;memcpy (oldMac, dev->dev_addr,ETH_ALEN ); -memcpy (dev->dev_addr, sa->sa_data,ETH_ALEN ); +eth_hw_addr_set (dev, sa->sa_data); mac_h = dev->dev_addr[0 ] <<24 ; mac_h |= dev->dev_addr[1 ] <<16 ;
drivers/net/ethernet/marvell/skge.c +1 -1
@@ -3459,7 +3459,7 @@ static int skge_set_mac_address(struct net_device *dev, void *p)if (!is_valid_ether_addr (addr->sa_data))return -EADDRNOTAVAIL ; -memcpy (dev->dev_addr, addr->sa_data,ETH_ALEN ); +eth_hw_addr_set (dev, addr->sa_data);if (!netif_running (dev)) {memcpy_toio (hw->regs +B2_MAC_1 + port*8 , dev->dev_addr,ETH_ALEN );
drivers/net/ethernet/marvell/sky2.c +1 -1
@@ -3817,7 +3817,7 @@ static int sky2_set_mac_address(struct net_device *dev, void *p)if (!is_valid_ether_addr (addr->sa_data))return -EADDRNOTAVAIL ; -memcpy (dev->dev_addr, addr->sa_data,ETH_ALEN ); +eth_hw_addr_set (dev, addr->sa_data);memcpy_toio (hw->regs +B2_MAC_1 + port *8 , dev->dev_addr,ETH_ALEN ); memcpy_toio(hw->regs + B2_MAC_2 + port * 8,
drivers/net/ethernet/mellanox/mlx4/en_netdev.c +1 -1
@@ -797,7 +797,7 @@ static int mlx4_en_set_mac(struct net_device *dev, void *addr)if (err) goto out; -memcpy (dev->dev_addr, saddr->sa_data,ETH_ALEN ); +eth_hw_addr_set (dev, saddr->sa_data);mlx4_en_update_user_mac (priv, new_mac); out:mutex_unlock (&mdev->state_lock);
drivers/net/ethernet/micrel/ks8851_common.c +1 -1
@@ -672,7 +672,7 @@ static int ks8851_set_mac_address(struct net_device *dev, void *addr)if (!is_valid_ether_addr (sa->sa_data))return -EADDRNOTAVAIL ; -memcpy (dev->dev_addr, sa->sa_data,ETH_ALEN ); +eth_hw_addr_set (dev, sa->sa_data);return ks8851_write_mac_addr (dev); }
drivers/net/ethernet/micrel/ksz884x.c +3 -4
@@ -5581,7 +5581,7 @@ static int netdev_set_mac_address(struct net_device *dev, void *addr)memcpy (hw->override_addr, mac->sa_data,ETH_ALEN ); } -memcpy (dev->dev_addr, mac->sa_data,ETH_ALEN ); +eth_hw_addr_set (dev, mac->sa_data); interrupt =hw_block_intr (hw);
@@ -7005,10 +7005,9 @@ static int pcidev_init(struct pci_dev *pdev, const struct pci_device_id *id) dev->mem_end = dev->mem_start + reg_len -1 ; dev->irq = pdev->irq;if (MAIN_PORT == i) -memcpy (dev->dev_addr, hw_priv->hw.override_addr, -ETH_ALEN ); +eth_hw_addr_set (dev, hw_priv->hw.override_addr);else { -memcpy (dev->dev_addr, sw->other_addr,ETH_ALEN ); +eth_hw_addr_set (dev, sw->other_addr);if (ether_addr_equal (sw->other_addr, hw->override_addr)) dev->dev_addr[5 ] += port->first_port; }
drivers/net/ethernet/mscc/ocelot_net.c +1 -1
@@ -1704,7 +1704,7 @@ int ocelot_probe_port(struct ocelot *ocelot, int port, struct regmap *target,NETIF_F_HW_TC ; dev->features |=NETIF_F_HW_VLAN_CTAG_FILTER |NETIF_F_HW_TC ; -memcpy (dev->dev_addr, ocelot->base_mac,ETH_ALEN ); +eth_hw_addr_set (dev, ocelot->base_mac); dev->dev_addr[ETH_ALEN -1 ] += port;ocelot_mact_learn (ocelot,PGID_CPU , dev->dev_addr, ocelot_port->pvid_vlan.vid,ENTRYTYPE_LOCKED );
drivers/net/ethernet/myricom/myri10ge/myri10ge.c +1 -1
@@ -3022,7 +3022,7 @@ static int myri10ge_set_mac_address(struct net_device *dev, void *addr) }/* change the dev structure */ -memcpy (dev->dev_addr, sa->sa_data,ETH_ALEN ); +eth_hw_addr_set (dev, sa->sa_data);return 0 ; }
drivers/net/ethernet/neterion/vxge/vxge-main.c +1 -1
@@ -4663,7 +4663,7 @@ vxge_probe(struct pci_dev *pdev, const struct pci_device_id *pre)/* Store the fw version for ethttool option */ strcpy (vdev->fw_version, ll_config->device_hw_info.fw_version.version); -memcpy (vdev->ndev->dev_addr, (u8 *)vdev->vpaths[0 ].macaddr,ETH_ALEN ); +eth_hw_addr_set (vdev->ndev, (u8 *)vdev->vpaths[0 ].macaddr);/* Copy the station mac address to the list */ for (i =0 ; i < vdev->no_of_vpath; i++) {
drivers/net/ethernet/nvidia/forcedeth.c +1 -1
@@ -3175,7 +3175,7 @@ static int nv_set_mac_address(struct net_device *dev, void *addr)return -EADDRNOTAVAIL ;/* synchronized against open : rtnl_lock() held by caller */ -memcpy (dev->dev_addr, macaddr->sa_data,ETH_ALEN ); +eth_hw_addr_set (dev, macaddr->sa_data);if (netif_running (dev)) {netif_tx_lock_bh (dev);
drivers/net/ethernet/nxp/lpc_eth.c +1 -1
@@ -1093,7 +1093,7 @@ static int lpc_set_mac_address(struct net_device *ndev, void *p)if (!is_valid_ether_addr (addr->sa_data))return -EADDRNOTAVAIL ; -memcpy (ndev->dev_addr, addr->sa_data,ETH_ALEN ); +eth_hw_addr_set (ndev, addr->sa_data);spin_lock_irqsave (&pldat->lock, flags);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c +1 -1
@@ -304,7 +304,7 @@ int qlcnic_read_mac_addr(struct qlcnic_adapter *adapter)if (ret)return ret; -memcpy (netdev->dev_addr, mac_addr,ETH_ALEN ); +eth_hw_addr_set (netdev, mac_addr);memcpy (adapter->mac_addr, netdev->dev_addr, netdev->addr_len);/* set station address */
drivers/net/ethernet/renesas/sh_eth.c +1 -1
@@ -1153,7 +1153,7 @@ static void update_mac_address(struct net_device *ndev)static void read_mac_address (struct net_device *ndev,unsigned char *mac) {if (mac[0 ] || mac[1 ] || mac[2 ] || mac[3 ] || mac[4 ] || mac[5 ]) { -memcpy (ndev->dev_addr, mac,ETH_ALEN ); +eth_hw_addr_set (ndev, mac); }else {u32 mahr =sh_eth_read (ndev,MAHR );u32 malr =sh_eth_read (ndev,MALR );
drivers/net/ethernet/seeq/sgiseeq.c +1 -1
@@ -764,7 +764,7 @@ static int sgiseeq_probe(struct platform_device *pdev)setup_rx_ring (dev, sp->rx_desc,SEEQ_RX_BUFFERS );setup_tx_ring (dev, sp->tx_desc,SEEQ_TX_BUFFERS ); -memcpy (dev->dev_addr, pd->mac,ETH_ALEN ); +eth_hw_addr_set (dev, pd->mac);#ifdef DEBUG gpriv = sp;
drivers/net/ethernet/sfc/ef100_nic.c +1 -1
@@ -1250,7 +1250,7 @@ int ef100_probe_pf(struct efx_nic *efx)if (rc) goto fail;/* Assign MAC address */ -memcpy (net_dev->dev_addr, net_dev->perm_addr,ETH_ALEN ); +eth_hw_addr_set (net_dev, net_dev->perm_addr);memcpy (nic_data->port_id, net_dev->perm_addr,ETH_ALEN );return 0 ;
drivers/net/ethernet/sgi/ioc3-eth.c +1 -1
@@ -920,7 +920,7 @@ static int ioc3eth_probe(struct platform_device *pdev)ioc3_mii_start (ip);ioc3_ssram_disc (ip); -memcpy (dev->dev_addr, mac_addr,ETH_ALEN ); +eth_hw_addr_set (dev, mac_addr);/* The IOC3-specific entries in the device structure. */ dev->watchdog_timeo =5 *HZ ;
drivers/net/ethernet/sgi/meth.c +1 -1
@@ -836,7 +836,7 @@ static int meth_probe(struct platform_device *pdev) dev->watchdog_timeo = timeout; dev->irq =MACE_ETHERNET_IRQ ; dev->base_addr = (unsigned long )&mace->eth; -memcpy (dev->dev_addr, o2meth_eaddr,ETH_ALEN ); +eth_hw_addr_set (dev, o2meth_eaddr); priv =netdev_priv (dev); priv->pdev = pdev;
drivers/net/ethernet/smsc/smsc911x.c +2 -2
@@ -1939,7 +1939,7 @@ static int smsc911x_set_mac_address(struct net_device *dev, void *p)if (!is_valid_ether_addr (addr->sa_data))return -EADDRNOTAVAIL ; -memcpy (dev->dev_addr, addr->sa_data,ETH_ALEN ); +eth_hw_addr_set (dev, addr->sa_data);spin_lock_irq (&pdata->mac_lock);smsc911x_set_hw_mac_address (pdata, dev->dev_addr);
@@ -2525,7 +2525,7 @@ static int smsc911x_drv_probe(struct platform_device *pdev)SMSC_TRACE (pdata, probe,"MAC Address is specified by configuration" ); }else if (is_valid_ether_addr (pdata->config.mac)) { -memcpy (dev->dev_addr, pdata->config.mac,ETH_ALEN ); +eth_hw_addr_set (dev, pdata->config.mac);SMSC_TRACE (pdata, probe,"MAC Address specified by platform data" ); }else {
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +1 -1
@@ -6815,7 +6815,7 @@ int stmmac_dvr_probe(struct device *device, priv->tx_irq[i] = res->tx_irq[i];if (!is_zero_ether_addr (res->mac)) -memcpy (priv->dev->dev_addr, res->mac,ETH_ALEN ); +eth_hw_addr_set (priv->dev, res->mac);dev_set_drvdata (device, priv->dev);
drivers/net/ethernet/sun/niu.c +2 -2
@@ -6386,7 +6386,7 @@ static int niu_set_mac_addr(struct net_device *dev, void *p)if (!is_valid_ether_addr (addr->sa_data))return -EADDRNOTAVAIL ; -memcpy (dev->dev_addr, addr->sa_data,ETH_ALEN ); +eth_hw_addr_set (dev, addr->sa_data);if (!netif_running (dev))return 0 ;
@@ -8344,7 +8344,7 @@ static void niu_pci_vpd_validate(struct niu *np)return ; } -memcpy (dev->dev_addr, vpd->local_mac,ETH_ALEN ); +eth_hw_addr_set (dev, vpd->local_mac); val8 = dev->dev_addr[5 ]; dev->dev_addr[5 ] += np->port;
drivers/net/ethernet/sun/sungem.c +1 -1
@@ -2797,7 +2797,7 @@ static int gem_get_device_address(struct gem *gp)return -1 ; #endif } -memcpy (dev->dev_addr, addr,ETH_ALEN ); +eth_hw_addr_set (dev, addr);#else get_gem_mac_nonobp (gp->pdev, gp->dev->dev_addr);#endif
drivers/net/ethernet/sun/sunhme.c +4 -4
@@ -2707,9 +2707,9 @@ static int happy_meal_sbus_probe_one(struct platform_device *op, int is_qfe) addr =of_get_property (dp,"local-mac-address" , &len);if (qfe_slot !=-1 && addr && len ==ETH_ALEN ) -memcpy (dev->dev_addr, addr,ETH_ALEN ); +eth_hw_addr_set (dev, addr);else -memcpy (dev->dev_addr, idprom->id_ethaddr,ETH_ALEN ); +eth_hw_addr_set (dev, idprom->id_ethaddr); } hp =netdev_priv (dev);
@@ -3055,9 +3055,9 @@ static int happy_meal_pci_probe(struct pci_dev *pdev, (addr = of_get_property(dp, "local-mac-address", &len)) != NULL && len == 6) { - memcpy(dev->dev_addr, addr, ETH_ALEN); + eth_hw_addr_set(dev, addr); } else { -memcpy (dev->dev_addr, idprom->id_ethaddr,ETH_ALEN ); +eth_hw_addr_set (dev, idprom->id_ethaddr); }#else get_hme_mac_nonsparc (pdev, &dev->dev_addr[0 ]);
drivers/net/ethernet/sun/sunqe.c +1 -1
@@ -844,7 +844,7 @@ static int qec_ether_init(struct platform_device *op)if (!dev)return -ENOMEM ; -memcpy (dev->dev_addr, idprom->id_ethaddr,ETH_ALEN ); +eth_hw_addr_set (dev, idprom->id_ethaddr); qe =netdev_priv (dev);
drivers/net/ethernet/ti/cpsw.c +3 -3
@@ -985,7 +985,7 @@ static int cpsw_ndo_set_mac_address(struct net_device *ndev, void *p) flags, vid);memcpy (priv->mac_addr, addr->sa_data,ETH_ALEN ); -memcpy (ndev->dev_addr, priv->mac_addr,ETH_ALEN ); +eth_hw_addr_set (ndev, priv->mac_addr);for_each_slave (priv, cpsw_set_slave_mac, priv);pm_runtime_put (cpsw->dev);
@@ -1460,7 +1460,7 @@ static int cpsw_probe_dual_emac(struct cpsw_priv *priv)dev_info (cpsw->dev,"cpsw: Random MACID = %pM\n" , priv_sl2->mac_addr); } -memcpy (ndev->dev_addr, priv_sl2->mac_addr,ETH_ALEN ); +eth_hw_addr_set (ndev, priv_sl2->mac_addr); priv_sl2->emac_port =1 ; cpsw->slaves[1 ].ndev = ndev;
@@ -1639,7 +1639,7 @@ static int cpsw_probe(struct platform_device *pdev)dev_info (dev,"Random MACID = %pM\n" , priv->mac_addr); } -memcpy (ndev->dev_addr, priv->mac_addr,ETH_ALEN ); +eth_hw_addr_set (ndev, priv->mac_addr); cpsw->slaves[0 ].ndev = ndev;
drivers/net/ethernet/toshiba/ps3_gelic_net.c +1 -1
@@ -1477,7 +1477,7 @@ int gelic_net_setup_netdev(struct net_device *netdev, struct gelic_card *card) __func__, status);return -EINVAL ; } -memcpy (netdev->dev_addr, &v1,ETH_ALEN ); +eth_hw_addr_set (netdev, &v1);if (card->vlan_required) { netdev->hard_header_len +=VLAN_HLEN ;
drivers/net/ethernet/toshiba/spider_net.c +1 -1
@@ -1296,7 +1296,7 @@ spider_net_set_mac(struct net_device *netdev, void *p)if (!is_valid_ether_addr (addr->sa_data))return -EADDRNOTAVAIL ; -memcpy (netdev->dev_addr, addr->sa_data,ETH_ALEN ); +eth_hw_addr_set (netdev, addr->sa_data);/* switch off GMACTPE and GMACRPE */ regvalue =spider_net_read_reg (card,SPIDER_NET_GMACOPEMD );
drivers/net/ethernet/toshiba/tc35815.c +1 -1
@@ -708,7 +708,7 @@ static int tc35815_read_plat_dev_addr(struct net_device *dev) lp->pci_dev, tc35815_mac_match);if (pd) {if (pd->platform_data) -memcpy (dev->dev_addr, pd->platform_data,ETH_ALEN ); +eth_hw_addr_set (dev, pd->platform_data);put_device (pd);return is_valid_ether_addr (dev->dev_addr) ?0 : -ENODEV ; }
drivers/net/ethernet/wiznet/w5100.c +2 -2
@@ -985,7 +985,7 @@ static int w5100_set_macaddr(struct net_device *ndev, void *addr)if (!is_valid_ether_addr (sock_addr->sa_data))return -EADDRNOTAVAIL ; -memcpy (ndev->dev_addr, sock_addr->sa_data,ETH_ALEN ); +eth_hw_addr_set (ndev, sock_addr->sa_data);w5100_write_macaddr (priv);return 0 ; }
@@ -1155,7 +1155,7 @@ int w5100_probe(struct device *dev, const struct w5100_ops *ops,INIT_WORK (&priv->restart_work, w5100_restart_work);if (mac_addr) -memcpy (ndev->dev_addr, mac_addr,ETH_ALEN ); +eth_hw_addr_set (ndev, mac_addr);else eth_hw_addr_random (ndev);
drivers/net/ethernet/wiznet/w5300.c +2 -2
@@ -472,7 +472,7 @@ static int w5300_set_macaddr(struct net_device *ndev, void *addr)if (!is_valid_ether_addr (sock_addr->sa_data))return -EADDRNOTAVAIL ; -memcpy (ndev->dev_addr, sock_addr->sa_data,ETH_ALEN ); +eth_hw_addr_set (ndev, sock_addr->sa_data);w5300_write_macaddr (priv);return 0 ; }
@@ -534,7 +534,7 @@ static int w5300_hw_probe(struct platform_device *pdev)int ret;if (data &&is_valid_ether_addr (data->mac_addr)) { -memcpy (ndev->dev_addr, data->mac_addr,ETH_ALEN ); +eth_hw_addr_set (ndev, data->mac_addr); }else {eth_hw_addr_random (ndev); }
drivers/net/ethernet/xilinx/ll_temac_main.c +2 -2
@@ -438,7 +438,7 @@ static void temac_do_set_mac_address(struct net_device *ndev)static int temac_init_mac_address (struct net_device *ndev,const void *address) { -memcpy (ndev->dev_addr, address,ETH_ALEN ); +eth_hw_addr_set (ndev, address);if (!is_valid_ether_addr (ndev->dev_addr))eth_hw_addr_random (ndev);temac_do_set_mac_address (ndev);
@@ -451,7 +451,7 @@ static int temac_set_mac_address(struct net_device *ndev, void *p)if (!is_valid_ether_addr (addr->sa_data))return -EADDRNOTAVAIL ; -memcpy (ndev->dev_addr, addr->sa_data,ETH_ALEN ); +eth_hw_addr_set (ndev, addr->sa_data);temac_do_set_mac_address (ndev);return 0 ; }
drivers/net/ethernet/xilinx/xilinx_axienet_main.c +1 -1
@@ -360,7 +360,7 @@ static void axienet_set_mac_address(struct net_device *ndev,struct axienet_local *lp =netdev_priv (ndev);if (address) -memcpy (ndev->dev_addr, address,ETH_ALEN ); +eth_hw_addr_set (ndev, address);if (!is_valid_ether_addr (ndev->dev_addr))eth_hw_addr_random (ndev);
drivers/net/ethernet/xscale/ixp4xx_eth.c +1 -1
@@ -1524,7 +1524,7 @@ static int ixp4xx_eth_probe(struct platform_device *pdev) port->plat = plat; npe_port_tab[NPE_ID (port->id)] = port; -memcpy (ndev->dev_addr, plat->hwaddr,ETH_ALEN ); +eth_hw_addr_set (ndev, plat->hwaddr);platform_set_drvdata (pdev, ndev);
net/ethernet/eth.c +1 -1
@@ -304,7 +304,7 @@ void eth_commit_mac_addr_change(struct net_device *dev, void *p) {struct sockaddr *addr = p; -memcpy (dev->dev_addr, addr->sa_data,ETH_ALEN ); +eth_hw_addr_set (dev, addr->sa_data); }EXPORT_SYMBOL (eth_commit_mac_addr_change);
Signature · 1 line
2.31.1
Re: [PATCH net-next 03/11] ethernet: use eth_hw_addr_set()
Quoted 8 lines · Jakub Kicinski
Convert all Ethernet drivers from memcpy(...
ETH_ADDR) toeth_hw_addr_set():@@
expression dev, np;
@@
-memcpy(dev->dev_addr, np, ETH_ALEN)
+eth_hw_addr_set(dev, np)
Some use:
memcpy(dev->dev_addr, np, dev->addr_len)
Not sure if you missed it or if it's going to be in part 2. I assume the latter, but thought I would ask.
Thanks
Jakub Kicinski
maintainerRe: [PATCH net-next 03/11] ethernet: use eth_hw_addr_set()
Quoted 10 lines · On Sat, 2 Oct 2021 19:32:53 +0300 Ido Schimmel wrote:
Quoted 8 lines · Jakub Kicinski
Convert all Ethernet drivers from memcpy(...
ETH_ADDR) toeth_hw_addr_set():@@
expression dev, np;
@@
-memcpy(dev->dev_addr, np, ETH_ALEN)
+eth_hw_addr_set(dev, np)
Quoted 6 lines
Some use:
memcpy(dev->dev_addr, np, dev->addr_len)Not sure if you missed it or if it's going to be in part 2. I assume the latter, but thought I would ask.
Yup, still
417 files changed, 1239 insertions(+), 960 deletions(-)
to go. I thought I'd start upstreaming from the most obvious / mechanical changes.
For the memcpy(..., dev->addr_len) I'm thinking of using eth_hw_addr_set() in appropriate sections of the tree (drivers/ethernet, driver/wireless) and convert the rest to this helper:
static inline void dev_addr_set(struct net_device *dev, const u8 *addr)
{
memcpy(dev->dev_addr, addr, dev->addr_len);
}dev_addr_set() everywhere would be more obviously correct, but using eth_hw_addr_set() seems cleaner for Ethernet drivers. Second opinion on this would be good if you have a preference.
Re: [PATCH net-next 03/11] ethernet: use eth_hw_addr_set()
Quoted 29 lines · Jakub Kicinski
Quoted 10 lines · On Sat, 2 Oct 2021 19:32:53 +0300 Ido Schimmel wrote:
Quoted 8 lines · Jakub Kicinski
Convert all Ethernet drivers from memcpy(...
ETH_ADDR) toeth_hw_addr_set():@@
expression dev, np;
@@
-memcpy(dev->dev_addr, np, ETH_ALEN)
+eth_hw_addr_set(dev, np)Quoted 6 lines
Some use:
memcpy(dev->dev_addr, np, dev->addr_len)Not sure if you missed it or if it's going to be in part 2. I assume the latter, but thought I would ask.
Yup, still
417 files changed, 1239 insertions(+), 960 deletions(-)to go. I thought I'd start upstreaming from the most obvious / mechanical changes.
For the
memcpy(..., dev->addr_len)I'm thinking of usingeth_hw_addr_set()in appropriate sections of the tree (drivers/ethernet, driver/wireless) and convert the rest to this helper:
Quoted 8 lines
static inline void
dev_addr_set(struct net_device *dev, const u8 *addr){ memcpy(dev->dev_addr, addr, dev->addr_len); }
dev_addr_set()everywhere would be more obviously correct, but usingeth_hw_addr_set()seems cleaner for Ethernet drivers. Second opinion on this would be good if you have a preference.
Yes, I agree with using eth_hw_addr_set() for Ethernet drivers as it will make the drivers in part 1 and part 2 consistent.
Jakub Kicinski
maintainerPATCH 4/11 net: usb: use eth_hw_addr_set()
In reply to Jakub KicinskiCommit 406f42fa0d3c ("net-next: When a bond have a massive amount of VLANs...") introduced a rbtree for faster Ethernet address look up. To maintain netdev->dev_addr in this tree we need to make all the writes to it got through appropriate helpers.
Convert usb drivers from memcpy(... ETH_ADDR) to eth_hw_addr_set():
@@
expression dev, np;
@@
- memcpy(dev->dev_addr, np, ETH_ALEN)
+ eth_hw_addr_set(dev, np)
---
CC: Oliver Neukum <[email protected]>
--- drivers/net/usb/asix_common.c | 2 +- drivers/net/usb/asix_devices.c | 2 +- drivers/net/usb/ax88172a.c | 2 +- drivers/net/usb/ax88179_178a.c | 4 ++-- drivers/net/usb/dm9601.c | 2 +- drivers/net/usb/ipheth.c | 2 +- drivers/net/usb/kalmia.c | 2 +- drivers/net/usb/sr9800.c | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-)
drivers/net/usb/asix_common.c +1 -1
@@ -791,7 +791,7 @@ int asix_set_mac_address(struct net_device *net, void *p)if (!is_valid_ether_addr (addr->sa_data))return -EADDRNOTAVAIL ; -memcpy (net->dev_addr, addr->sa_data,ETH_ALEN ); +eth_hw_addr_set (net, addr->sa_data);/* We use the 20 byte dev->data * for our 6 byte mac buffer
drivers/net/usb/asix_devices.c +1 -1
@@ -59,7 +59,7 @@ static void asix_status(struct usbnet *dev, struct urb *urb)static void asix_set_netdev_dev_addr (struct usbnet *dev,u8 *addr) {if (is_valid_ether_addr (addr)) { -memcpy (dev->net->dev_addr, addr,ETH_ALEN ); +eth_hw_addr_set (dev->net, addr); }else {netdev_info (dev->net,"invalid hw address, using random\n" );eth_hw_addr_random (dev->net);
drivers/net/usb/ax88172a.c +1 -1
@@ -176,7 +176,7 @@ static int ax88172a_bind(struct usbnet *dev, struct usb_interface *intf) ret = -EIO ; goto free; } -memcpy (dev->net->dev_addr, buf,ETH_ALEN ); +eth_hw_addr_set (dev->net, buf); dev->net->netdev_ops = &ax88172a_netdev_ops; dev->net->ethtool_ops = &ax88172a_ethtool_ops;
drivers/net/usb/ax88179_178a.c +2 -2
@@ -1015,7 +1015,7 @@ static int ax88179_set_mac_addr(struct net_device *net, void *p)if (!is_valid_ether_addr (addr->sa_data))return -EADDRNOTAVAIL ; -memcpy (net->dev_addr, addr->sa_data,ETH_ALEN ); +eth_hw_addr_set (net, addr->sa_data);/* Set the MAC address */ ret = ax88179_write_cmd(dev, AX_ACCESS_MAC, AX_NODE_ID, ETH_ALEN,
@@ -1310,7 +1310,7 @@ static void ax88179_get_mac_addr(struct usbnet *dev) }if (is_valid_ether_addr (mac)) { -memcpy (dev->net->dev_addr, mac,ETH_ALEN ); +eth_hw_addr_set (dev->net, mac); }else {netdev_info (dev->net,"invalid MAC address, using random\n" );eth_hw_addr_random (dev->net);
drivers/net/usb/dm9601.c +1 -1
@@ -391,7 +391,7 @@ static int dm9601_bind(struct usbnet *dev, struct usb_interface *intf)* Overwrite the auto-generated address only with good ones. */ if (is_valid_ether_addr (mac)) -memcpy (dev->net->dev_addr, mac,ETH_ALEN ); +eth_hw_addr_set (dev->net, mac);else { printk(KERN_WARNING "dm9601: No valid MAC address in EEPROM, using %pM\n",
drivers/net/usb/ipheth.c +1 -1
@@ -303,7 +303,7 @@ static int ipheth_get_macaddr(struct ipheth_device *dev) __func__, retval); retval = -EINVAL ; }else { -memcpy (net->dev_addr, dev->ctrl_buf,ETH_ALEN ); +eth_hw_addr_set (net, dev->ctrl_buf); retval =0 ; }
drivers/net/usb/kalmia.c +1 -1
@@ -149,7 +149,7 @@ kalmia_bind(struct usbnet *dev, struct usb_interface *intf)if (status)return status; -memcpy (dev->net->dev_addr, ethernet_addr,ETH_ALEN ); +eth_hw_addr_set (dev->net, ethernet_addr);return status; }
drivers/net/usb/sr9800.c +1 -1
@@ -503,7 +503,7 @@ static int sr_set_mac_address(struct net_device *net, void *p)if (!is_valid_ether_addr (addr->sa_data))return -EADDRNOTAVAIL ; -memcpy (net->dev_addr, addr->sa_data,ETH_ALEN ); +eth_hw_addr_set (net, addr->sa_data);/* We use the 20 byte dev->data * for our 6 byte mac buffer
Signature · 1 line
2.31.1
Jakub Kicinski
maintainerPATCH 5/11 net: use eth_hw_addr_set() instead of ether_addr_copy()
In reply to Jakub KicinskiConvert from ether_addr_copy() to eth_hw_addr_set():
@@
expression dev, np;
@@
- ether_addr_copy(dev->dev_addr, np)
+ eth_hw_addr_set(dev, np)
--- drivers/net/ipvlan/ipvlan_main.c | 2 +- drivers/net/macsec.c | 2 +- drivers/net/macvlan.c | 2 +- net/8021q/vlan_dev.c | 6 +++--- net/dsa/slave.c | 4 ++-- net/hsr/hsr_device.c | 2 +- net/hsr/hsr_main.c | 2 +- 7 files changed, 10 insertions(+), 10 deletions(-)
drivers/net/ipvlan/ipvlan_main.c +1 -1
@@ -787,7 +787,7 @@ static int ipvlan_device_event(struct notifier_block *unused,case NETDEV_CHANGEADDR :list_for_each_entry (ipvlan, &port->ipvlans, pnode) { -ether_addr_copy (ipvlan->dev->dev_addr, dev->dev_addr); +eth_hw_addr_set (ipvlan->dev, dev->dev_addr);call_netdevice_notifiers (NETDEV_CHANGEADDR , ipvlan->dev); }break ;
drivers/net/macsec.c +1 -1
@@ -3614,7 +3614,7 @@ static int macsec_set_mac_address(struct net_device *dev, void *p)dev_uc_del (real_dev, dev->dev_addr); out: -ether_addr_copy (dev->dev_addr, addr->sa_data); +eth_hw_addr_set (dev, addr->sa_data); macsec->secy.sci =dev_to_sci (dev,MACSEC_PORT_ES );/* If h/w offloading is available, propagate to the device */
drivers/net/macvlan.c +1 -1
@@ -707,7 +707,7 @@ static int macvlan_sync_address(struct net_device *dev, unsigned char *addr)if (!(dev->flags &IFF_UP )) {/* Just copy in the new address */ -ether_addr_copy (dev->dev_addr, addr); +eth_hw_addr_set (dev, addr); }else {/* Rehash and update the device filters */ if (macvlan_addr_busy (vlan->port, addr))
net/8021q/vlan_dev.c +3 -3
@@ -250,7 +250,7 @@ bool vlan_dev_inherit_address(struct net_device *dev,if (dev->addr_assign_type !=NET_ADDR_STOLEN )return false; -ether_addr_copy (dev->dev_addr, real_dev->dev_addr); +eth_hw_addr_set (dev, real_dev->dev_addr);call_netdevice_notifiers (NETDEV_CHANGEADDR , dev);return true; }
@@ -349,7 +349,7 @@ static int vlan_dev_set_mac_address(struct net_device *dev, void *p)dev_uc_del (real_dev, dev->dev_addr); out: -ether_addr_copy (dev->dev_addr, addr->sa_data); +eth_hw_addr_set (dev, addr->sa_data);return 0 ; }
@@ -586,7 +586,7 @@ static int vlan_dev_init(struct net_device *dev) dev->dev_id = real_dev->dev_id;if (is_zero_ether_addr (dev->dev_addr)) { -ether_addr_copy (dev->dev_addr, real_dev->dev_addr); +eth_hw_addr_set (dev, real_dev->dev_addr); dev->addr_assign_type =NET_ADDR_STOLEN ; }if (is_zero_ether_addr (dev->broadcast))
net/dsa/slave.c +2 -2
@@ -174,7 +174,7 @@ static int dsa_slave_set_mac_address(struct net_device *dev, void *a)dev_uc_del (master, dev->dev_addr); out: -ether_addr_copy (dev->dev_addr, addr->sa_data); +eth_hw_addr_set (dev, addr->sa_data);return 0 ; }
@@ -1954,7 +1954,7 @@ int dsa_slave_create(struct dsa_port *port) slave_dev->ethtool_ops = &dsa_slave_ethtool_ops;if (!is_zero_ether_addr (port->mac)) -ether_addr_copy (slave_dev->dev_addr, port->mac); +eth_hw_addr_set (slave_dev, port->mac);else eth_hw_addr_inherit (slave_dev, master); slave_dev->priv_flags |=IFF_NO_QUEUE ;
net/hsr/hsr_device.c +1 -1
@@ -493,7 +493,7 @@ int hsr_dev_finalize(struct net_device *hsr_dev, struct net_device *slave[2],INIT_LIST_HEAD (&hsr->self_node_db);spin_lock_init (&hsr->list_lock); -ether_addr_copy (hsr_dev->dev_addr, slave[0 ]->dev_addr); +eth_hw_addr_set (hsr_dev, slave[0 ]->dev_addr);/* initialize protocol specific functions */ if (protocol_version ==PRP_V1 ) {
net/hsr/hsr_main.c +1 -1
@@ -75,7 +75,7 @@ static int hsr_netdev_notify(struct notifier_block *nb, unsigned long event, master =hsr_port_get_hsr (hsr,HSR_PT_MASTER );if (port->type ==HSR_PT_SLAVE_A ) { -ether_addr_copy (master->dev->dev_addr, dev->dev_addr); +eth_hw_addr_set (master->dev, dev->dev_addr);call_netdevice_notifiers (NETDEV_CHANGEADDR , master->dev); }
Signature · 1 line
2.31.1
Jakub Kicinski
maintainerPATCH 6/11 ethernet: use eth_hw_addr_set() instead of ether_addr_copy()
In reply to Jakub KicinskiConvert Ethernet from ether_addr_copy() to eth_hw_addr_set():
@@
expression dev, np;
@@
- ether_addr_copy(dev->dev_addr, np)
+ eth_hw_addr_set(dev, np)
--- drivers/net/ethernet/agere/et131x.c | 4 ++-- drivers/net/ethernet/alacritech/slicoss.c | 2 +- drivers/net/ethernet/amazon/ena/ena_netdev.c | 2 +- drivers/net/ethernet/aquantia/atlantic/aq_nic.c | 2 +- drivers/net/ethernet/broadcom/bgmac-bcma.c | 2 +- drivers/net/ethernet/broadcom/bgmac.c | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c | 2 +- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 4 ++-- drivers/net/ethernet/brocade/bna/bnad.c | 4 ++-- drivers/net/ethernet/cavium/liquidio/lio_core.c | 2 +- drivers/net/ethernet/cavium/liquidio/lio_main.c | 2 +- drivers/net/ethernet/cavium/liquidio/lio_vf_main.c | 2 +- drivers/net/ethernet/cavium/thunder/nicvf_main.c | 3 +-- drivers/net/ethernet/emulex/benet/be_main.c | 2 +- drivers/net/ethernet/ethoc.c | 2 +- drivers/net/ethernet/ezchip/nps_enet.c | 2 +- drivers/net/ethernet/faraday/ftgmac100.c | 4 ++-- drivers/net/ethernet/google/gve/gve_adminq.c | 2 +- drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 4 ++-- drivers/net/ethernet/ibm/ibmveth.c | 2 +- drivers/net/ethernet/ibm/ibmvnic.c | 5 ++--- drivers/net/ethernet/intel/fm10k/fm10k_netdev.c | 2 +- drivers/net/ethernet/intel/fm10k/fm10k_pci.c | 4 ++-- drivers/net/ethernet/intel/i40e/i40e_main.c | 4 ++-- drivers/net/ethernet/intel/iavf/iavf_main.c | 2 +- drivers/net/ethernet/intel/iavf/iavf_virtchnl.c | 4 ++-- drivers/net/ethernet/intel/ice/ice_main.c | 4 ++-- drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 6 +++--- drivers/net/ethernet/korina.c | 2 +- drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 4 ++-- drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c | 2 +- drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c | 2 +- drivers/net/ethernet/marvell/prestera/prestera_main.c | 2 +- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 2 +- drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c | 2 +- drivers/net/ethernet/microchip/enc28j60.c | 4 ++-- drivers/net/ethernet/microchip/lan743x_main.c | 4 ++-- drivers/net/ethernet/microchip/sparx5/sparx5_netdev.c | 2 +- drivers/net/ethernet/microsoft/mana/mana_en.c | 2 +- drivers/net/ethernet/mscc/ocelot_net.c | 2 +- drivers/net/ethernet/netronome/nfp/abm/main.c | 2 +- drivers/net/ethernet/netronome/nfp/nfp_net_main.c | 2 +- drivers/net/ethernet/netronome/nfp/nfp_netvf_main.c | 2 +- drivers/net/ethernet/ni/nixge.c | 2 +- drivers/net/ethernet/qlogic/qede/qede_filter.c | 4 ++-- drivers/net/ethernet/qlogic/qede/qede_main.c | 2 +- drivers/net/ethernet/qualcomm/emac/emac.c | 2 +- drivers/net/ethernet/sfc/ef10_sriov.c | 2 +- drivers/net/ethernet/sfc/efx.c | 2 +- drivers/net/ethernet/sfc/efx_common.c | 4 ++-- drivers/net/ethernet/sfc/falcon/efx.c | 6 +++--- drivers/net/ethernet/socionext/netsec.c | 2 +- drivers/net/ethernet/ti/am65-cpsw-nuss.c | 2 +- drivers/net/ethernet/ti/cpsw_new.c | 4 ++-- drivers/net/ethernet/ti/davinci_emac.c | 2 +- drivers/net/ethernet/ti/netcp_core.c | 2 +- include/linux/etherdevice.h | 2 +- 57 files changed, 77 insertions(+), 79 deletions(-)
drivers/net/ethernet/agere/et131x.c +2 -2
@@ -3863,7 +3863,7 @@ static int et131x_change_mtu(struct net_device *netdev, int new_mtu)et131x_init_send (adapter);et131x_hwaddr_init (adapter); -ether_addr_copy (netdev->dev_addr, adapter->addr); +eth_hw_addr_set (netdev, adapter->addr);/* Init the device with the new settings */ et131x_adapter_setup (adapter);
@@ -3966,7 +3966,7 @@ static int et131x_pci_setup(struct pci_dev *pdev,netif_napi_add (netdev, &adapter->napi, et131x_poll,64 ); -ether_addr_copy (netdev->dev_addr, adapter->addr); +eth_hw_addr_set (netdev, adapter->addr); rc = -ENOMEM ;
drivers/net/ethernet/alacritech/slicoss.c +1 -1
@@ -1660,7 +1660,7 @@ static int slic_read_eeprom(struct slic_device *sdev) goto free_eeprom; }/* set mac address */ -ether_addr_copy (sdev->netdev->dev_addr, mac[devfn]); +eth_hw_addr_set (sdev->netdev, mac[devfn]); free_eeprom:dma_free_coherent (&sdev->pdev->dev,SLIC_EEPROM_SIZE , eeprom, paddr);
drivers/net/ethernet/amazon/ena/ena_netdev.c +1 -1
@@ -4073,7 +4073,7 @@ static void ena_set_conf_feat_params(struct ena_adapter *adapter,ether_addr_copy (adapter->mac_addr, netdev->dev_addr); }else {ether_addr_copy (adapter->mac_addr, feat->dev_attr.mac_addr); -ether_addr_copy (netdev->dev_addr, adapter->mac_addr); +eth_hw_addr_set (netdev, adapter->mac_addr); }/* Set offload features */
drivers/net/ethernet/aquantia/atlantic/aq_nic.c +1 -1
@@ -332,7 +332,7 @@ int aq_nic_ndev_register(struct aq_nic_s *self) {static u8 mac_addr_permanent[] =AQ_CFG_MAC_ADDR_PERMANENT ; -ether_addr_copy (self->ndev->dev_addr, mac_addr_permanent); +eth_hw_addr_set (self->ndev, mac_addr_permanent); }#endif
drivers/net/ethernet/broadcom/bgmac-bcma.c +1 -1
@@ -150,7 +150,7 @@ static int bgmac_probe(struct bcma_device *core) err = -ENOTSUPP ; goto err; } -ether_addr_copy (bgmac->net_dev->dev_addr, mac); +eth_hw_addr_set (bgmac->net_dev, mac); }/* On BCM4706 we need common core to access PHY */
drivers/net/ethernet/broadcom/bgmac.c +1 -1
@@ -1241,7 +1241,7 @@ static int bgmac_set_mac_address(struct net_device *net_dev, void *addr)if (ret <0 )return ret; -ether_addr_copy (net_dev->dev_addr, sa->sa_data); +eth_hw_addr_set (net_dev, sa->sa_data);bgmac_write_mac_address (bgmac, net_dev->dev_addr);eth_commit_mac_addr_change (net_dev, addr);
drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c +1 -1
@@ -475,7 +475,7 @@ static void bnxt_vf_rep_netdev_init(struct bnxt *bp, struct bnxt_vf_rep *vf_rep, dev->features |= pf_dev->features;bnxt_vf_rep_eth_addr_gen (bp->pf.mac_addr, vf_rep->vf_idx, dev->perm_addr); -ether_addr_copy (dev->dev_addr, dev->perm_addr); +eth_hw_addr_set (dev, dev->perm_addr);/* Set VF-Rep's max-mtu to the corresponding VF's max-mtu */ if (!bnxt_hwrm_vfr_qcfg (bp, vf_rep, &max_mtu)) dev->max_mtu = max_mtu;
drivers/net/ethernet/broadcom/genet/bcmgenet.c +2 -2
@@ -3633,7 +3633,7 @@ static int bcmgenet_set_mac_addr(struct net_device *dev, void *p)if (netif_running (dev))return -EBUSY ; -ether_addr_copy (dev->dev_addr, addr->sa_data); +eth_hw_addr_set (dev, addr->sa_data);return 0 ; }
@@ -4082,7 +4082,7 @@ static int bcmgenet_probe(struct platform_device *pdev)bcmgenet_power_up (priv,GENET_POWER_PASSIVE );if (pd && !IS_ERR_OR_NULL (pd->mac_address)) -ether_addr_copy (dev->dev_addr, pd->mac_address); +eth_hw_addr_set (dev, pd->mac_address);else if (!device_get_mac_address (&pdev->dev, dev->dev_addr,ETH_ALEN ))if (has_acpi_companion (&pdev->dev))
drivers/net/ethernet/brocade/bna/bnad.c +2 -2
@@ -875,7 +875,7 @@ bnad_set_netdev_perm_addr(struct bnad *bnad)ether_addr_copy (netdev->perm_addr, bnad->perm_addr);if (is_zero_ether_addr (netdev->dev_addr)) -ether_addr_copy (netdev->dev_addr, bnad->perm_addr); +eth_hw_addr_set (netdev, bnad->perm_addr); }/* Control Path Handlers */
@@ -3249,7 +3249,7 @@ bnad_set_mac_address(struct net_device *netdev, void *addr) err =bnad_mac_addr_set_locked (bnad, sa->sa_data);if (!err) -ether_addr_copy (netdev->dev_addr, sa->sa_data); +eth_hw_addr_set (netdev, sa->sa_data);spin_unlock_irqrestore (&bnad->bna_lock, flags);
drivers/net/ethernet/cavium/liquidio/lio_core.c +1 -1
@@ -411,7 +411,7 @@ void octeon_pf_changed_vf_macaddr(struct octeon_device *oct, u8 *mac)if (!ether_addr_equal (netdev->dev_addr, mac)) { macaddr_changed = true; -ether_addr_copy (netdev->dev_addr, mac); +eth_hw_addr_set (netdev, mac);ether_addr_copy (((u8 *)&lio->linfo.hw_addr) +2 , mac);call_netdevice_notifiers (NETDEV_CHANGEADDR , netdev); }
drivers/net/ethernet/cavium/liquidio/lio_main.c +1 -1
@@ -3634,7 +3634,7 @@ static int setup_nic_devices(struct octeon_device *octeon_dev)/* Copy MAC Address to OS network device structure */ -ether_addr_copy (netdev->dev_addr, mac); +eth_hw_addr_set (netdev, mac);/* By default all interfaces on a single Octeon uses the same * tx and rx queues
drivers/net/ethernet/cavium/liquidio/lio_vf_main.c +1 -1
@@ -2148,7 +2148,7 @@ static int setup_nic_devices(struct octeon_device *octeon_dev) mac[j] = *((u8 *)(((u8 *)&lio->linfo.hw_addr) +2 + j));/* Copy MAC Address to OS network device structure */ -ether_addr_copy (netdev->dev_addr, mac); +eth_hw_addr_set (netdev, mac); if (liquidio_setup_io_queues(octeon_dev, i, lio->linfo.num_txpciq,
drivers/net/ethernet/cavium/thunder/nicvf_main.c +1 -2
@@ -221,8 +221,7 @@ static void nicvf_handle_mbx_intr(struct nicvf *nic) nic->tns_mode = mbx.nic_cfg.tns_mode &0x7F ; nic->node = mbx.nic_cfg.node_id;if (!nic->set_mac_pending) -ether_addr_copy (nic->netdev->dev_addr, - mbx.nic_cfg.mac_addr); +eth_hw_addr_set (nic->netdev, mbx.nic_cfg.mac_addr); nic->sqs_mode = mbx.nic_cfg.sqs_mode; nic->loopback_supported = mbx.nic_cfg.loopback_supported; nic->link_up = false;
drivers/net/ethernet/emulex/benet/be_main.c +1 -1
@@ -369,7 +369,7 @@ static int be_mac_addr_set(struct net_device *netdev, void *p)/* Remember currently programmed MAC */ ether_addr_copy (adapter->dev_mac, addr->sa_data); done: -ether_addr_copy (netdev->dev_addr, addr->sa_data); +eth_hw_addr_set (netdev, addr->sa_data);dev_info (dev,"MAC address changed to %pM\n" , addr->sa_data);return 0 ; err:
drivers/net/ethernet/ethoc.c +1 -1
@@ -1144,7 +1144,7 @@ static int ethoc_probe(struct platform_device *pdev)/* Allow the platform setup code to pass in a MAC address. */ if (pdata) { -ether_addr_copy (netdev->dev_addr, pdata->hwaddr); +eth_hw_addr_set (netdev, pdata->hwaddr); priv->phy_id = pdata->phy_id; }else {of_get_mac_address (pdev->dev.of_node, netdev->dev_addr);
drivers/net/ethernet/ezchip/nps_enet.c +1 -1
@@ -421,7 +421,7 @@ static s32 nps_enet_set_mac_address(struct net_device *ndev, void *p) res =eth_mac_addr (ndev, p);if (!res) { -ether_addr_copy (ndev->dev_addr, addr->sa_data); +eth_hw_addr_set (ndev, addr->sa_data);nps_enet_set_hw_mac_address (ndev); }
drivers/net/ethernet/faraday/ftgmac100.c +2 -2
@@ -186,7 +186,7 @@ static void ftgmac100_initial_mac(struct ftgmac100 *priv) addr =device_get_mac_address (priv->dev, mac,ETH_ALEN );if (addr) { -ether_addr_copy (priv->netdev->dev_addr, mac); +eth_hw_addr_set (priv->netdev, mac);dev_info (priv->dev,"Read MAC address %pM from device tree\n" , mac);return ;
@@ -203,7 +203,7 @@ static void ftgmac100_initial_mac(struct ftgmac100 *priv) mac[5 ] = l &0xff ;if (is_valid_ether_addr (mac)) { -ether_addr_copy (priv->netdev->dev_addr, mac); +eth_hw_addr_set (priv->netdev, mac);dev_info (priv->dev,"Read MAC address %pM from chip\n" , mac); }else {eth_hw_addr_random (priv->netdev);
drivers/net/ethernet/google/gve/gve_adminq.c +1 -1
@@ -733,7 +733,7 @@ int gve_adminq_describe_device(struct gve_priv *priv) } priv->dev->max_mtu = mtu; priv->num_event_counters =be16_to_cpu (descriptor->counters); -ether_addr_copy (priv->dev->dev_addr, descriptor->mac); +eth_hw_addr_set (priv->dev, descriptor->mac); mac = descriptor->mac;dev_info (&priv->pdev->dev,"MAC addr: %pM\n" , mac); priv->tx_pages_per_qpl =be16_to_cpu (descriptor->tx_pages_per_qpl);
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c +2 -2
@@ -2287,7 +2287,7 @@ static int hns3_nic_net_set_mac_address(struct net_device *netdev, void *p)return ret; } -ether_addr_copy (netdev->dev_addr, mac_addr->sa_data); +eth_hw_addr_set (netdev, mac_addr->sa_data);return 0 ; }
@@ -4933,7 +4933,7 @@ static int hns3_init_mac_addr(struct net_device *netdev)dev_warn (priv->dev,"using random MAC address %pM\n" , netdev->dev_addr); }else if (!ether_addr_equal (netdev->dev_addr, mac_addr_temp)) { -ether_addr_copy (netdev->dev_addr, mac_addr_temp); +eth_hw_addr_set (netdev, mac_addr_temp);ether_addr_copy (netdev->perm_addr, mac_addr_temp); }else {return 0 ;
drivers/net/ethernet/ibm/ibmveth.c +1 -1
@@ -1613,7 +1613,7 @@ static int ibmveth_set_mac_addr(struct net_device *dev, void *p)return rc; } -ether_addr_copy (dev->dev_addr, addr->sa_data); +eth_hw_addr_set (dev, addr->sa_data);return 0 ; }
drivers/net/ethernet/ibm/ibmvnic.c +2 -3
@@ -4766,8 +4766,7 @@ static int handle_change_mac_rsp(union ibmvnic_crq *crq,/* crq->change_mac_addr.mac_addr is the requested one * crq->change_mac_addr_rsp.mac_addr is the returned valid one. */ -ether_addr_copy (netdev->dev_addr, - &crq->change_mac_addr_rsp.mac_addr[0 ]); +eth_hw_addr_set (netdev, &crq->change_mac_addr_rsp.mac_addr[0 ]);ether_addr_copy (adapter->mac_addr, &crq->change_mac_addr_rsp.mac_addr[0 ]); out:
@@ -5723,7 +5722,7 @@ static int ibmvnic_probe(struct vio_dev *dev, const struct vio_device_id *id)bitmap_set (adapter->map_ids,0 ,1 );ether_addr_copy (adapter->mac_addr, mac_addr_p); -ether_addr_copy (netdev->dev_addr, adapter->mac_addr); +eth_hw_addr_set (netdev, adapter->mac_addr); netdev->irq = dev->irq; netdev->netdev_ops = &ibmvnic_netdev_ops; netdev->ethtool_ops = &ibmvnic_ethtool_ops;
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c +1 -1
@@ -990,7 +990,7 @@ static int fm10k_set_mac(struct net_device *dev, void *p) }if (!err) { -ether_addr_copy (dev->dev_addr, addr->sa_data); +eth_hw_addr_set (dev, addr->sa_data);ether_addr_copy (hw->mac.addr, addr->sa_data); dev->addr_assign_type &= ~NET_ADDR_RANDOM ; }
drivers/net/ethernet/intel/fm10k/fm10k_pci.c +2 -2
@@ -300,7 +300,7 @@ static int fm10k_handle_reset(struct fm10k_intfc *interface)if (is_valid_ether_addr (hw->mac.perm_addr)) {ether_addr_copy (hw->mac.addr, hw->mac.perm_addr);ether_addr_copy (netdev->perm_addr, hw->mac.perm_addr); -ether_addr_copy (netdev->dev_addr, hw->mac.perm_addr); +eth_hw_addr_set (netdev, hw->mac.perm_addr); netdev->addr_assign_type &= ~NET_ADDR_RANDOM ; }
@@ -2045,7 +2045,7 @@ static int fm10k_sw_init(struct fm10k_intfc *interface, netdev->addr_assign_type |=NET_ADDR_RANDOM ; } -ether_addr_copy (netdev->dev_addr, hw->mac.addr); +eth_hw_addr_set (netdev, hw->mac.addr);ether_addr_copy (netdev->perm_addr, hw->mac.addr);if (!is_valid_ether_addr (netdev->perm_addr)) {
drivers/net/ethernet/intel/i40e/i40e_main.c +2 -2
@@ -1587,7 +1587,7 @@ static int i40e_set_mac(struct net_device *netdev, void *p)*/ spin_lock_bh (&vsi->mac_filter_hash_lock);i40e_del_mac_filter (vsi, netdev->dev_addr); -ether_addr_copy (netdev->dev_addr, addr->sa_data); +eth_hw_addr_set (netdev, addr->sa_data);i40e_add_mac_filter (vsi, netdev->dev_addr);spin_unlock_bh (&vsi->mac_filter_hash_lock);
@@ -13424,7 +13424,7 @@ static int i40e_config_netdev(struct i40e_vsi *vsi)i40e_add_mac_filter (vsi, broadcast);spin_unlock_bh (&vsi->mac_filter_hash_lock); -ether_addr_copy (netdev->dev_addr, mac_addr); +eth_hw_addr_set (netdev, mac_addr);ether_addr_copy (netdev->perm_addr, mac_addr);/* i40iw_net_event() reads 16 bytes from neigh->primary_key */
drivers/net/ethernet/intel/iavf/iavf_main.c +1 -1
@@ -1847,7 +1847,7 @@ static int iavf_init_get_resources(struct iavf_adapter *adapter)eth_hw_addr_random (netdev);ether_addr_copy (adapter->hw.mac.addr, netdev->dev_addr); }else { -ether_addr_copy (netdev->dev_addr, adapter->hw.mac.addr); +eth_hw_addr_set (netdev, adapter->hw.mac.addr);ether_addr_copy (netdev->perm_addr, adapter->hw.mac.addr); }
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c +2 -2
@@ -1685,7 +1685,7 @@ void iavf_virtchnl_completion(struct iavf_adapter *adapter,if (!v_retval)iavf_mac_add_ok (adapter);if (!ether_addr_equal (netdev->dev_addr, adapter->hw.mac.addr)) -ether_addr_copy (netdev->dev_addr, adapter->hw.mac.addr); +eth_hw_addr_set (netdev, adapter->hw.mac.addr);break ;case VIRTCHNL_OP_GET_STATS : { struct iavf_eth_stats *stats =
@@ -1716,7 +1716,7 @@ void iavf_virtchnl_completion(struct iavf_adapter *adapter,ether_addr_copy (adapter->hw.mac.addr, netdev->dev_addr); }else {/* refresh current mac address if changed */ -ether_addr_copy (netdev->dev_addr, adapter->hw.mac.addr); +eth_hw_addr_set (netdev, adapter->hw.mac.addr);ether_addr_copy (netdev->perm_addr, adapter->hw.mac.addr); }
drivers/net/ethernet/intel/ice/ice_main.c +2 -2
@@ -3143,7 +3143,7 @@ static int ice_cfg_netdev(struct ice_vsi *vsi)if (vsi->type ==ICE_VSI_PF ) {SET_NETDEV_DEV (netdev,ice_pf_to_dev (vsi->back));ether_addr_copy (mac_addr, vsi->port_info->mac.perm_addr); -ether_addr_copy (netdev->dev_addr, mac_addr); +eth_hw_addr_set (netdev, mac_addr);ether_addr_copy (netdev->perm_addr, mac_addr); }
@@ -5172,7 +5172,7 @@ static int ice_set_mac_address(struct net_device *netdev, void *pi)netdev_err (netdev,"can't set MAC %pM. filter update failed\n" , mac);netif_addr_lock_bh (netdev); -ether_addr_copy (netdev->dev_addr, old_mac); +eth_hw_addr_set (netdev, old_mac);netif_addr_unlock_bh (netdev);return err; }
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c +3 -3
@@ -2540,7 +2540,7 @@ void ixgbevf_reset(struct ixgbevf_adapter *adapter) }if (is_valid_ether_addr (adapter->hw.mac.addr)) { -ether_addr_copy (netdev->dev_addr, adapter->hw.mac.addr); +eth_hw_addr_set (netdev, adapter->hw.mac.addr);ether_addr_copy (netdev->perm_addr, adapter->hw.mac.addr); }
@@ -3054,7 +3054,7 @@ static int ixgbevf_sw_init(struct ixgbevf_adapter *adapter)else if (is_zero_ether_addr (adapter->hw.mac.addr))dev_info (&pdev->dev,"MAC address not assigned by administrator.\n" ); -ether_addr_copy (netdev->dev_addr, hw->mac.addr); +eth_hw_addr_set (netdev, hw->mac.addr); }if (!is_valid_ether_addr (netdev->dev_addr)) {
@@ -4231,7 +4231,7 @@ static int ixgbevf_set_mac(struct net_device *netdev, void *p)ether_addr_copy (hw->mac.addr, addr->sa_data);ether_addr_copy (hw->mac.perm_addr, addr->sa_data); -ether_addr_copy (netdev->dev_addr, addr->sa_data); +eth_hw_addr_set (netdev, addr->sa_data);return 0 ; }
drivers/net/ethernet/korina.c +1 -1
@@ -1297,7 +1297,7 @@ static int korina_probe(struct platform_device *pdev) lp =netdev_priv (dev);if (mac_addr) -ether_addr_copy (dev->dev_addr, mac_addr); +eth_hw_addr_set (dev, mac_addr);else if (of_get_mac_address (pdev->dev.of_node, dev->dev_addr) <0 )eth_hw_addr_random (dev);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c +2 -2
@@ -6083,7 +6083,7 @@ static void mvpp2_port_copy_mac_addr(struct net_device *dev, struct mvpp2 *priv,if (fwnode_get_mac_address (fwnode, fw_mac_addr,ETH_ALEN )) { *mac_from ="firmware node" ; -ether_addr_copy (dev->dev_addr, fw_mac_addr); +eth_hw_addr_set (dev, fw_mac_addr);return ; }
@@ -6091,7 +6091,7 @@ static void mvpp2_port_copy_mac_addr(struct net_device *dev, struct mvpp2 *priv,mvpp21_get_mac_address (port, hw_mac_addr);if (is_valid_ether_addr (hw_mac_addr)) { *mac_from ="hardware" ; -ether_addr_copy (dev->dev_addr, hw_mac_addr); +eth_hw_addr_set (dev, hw_mac_addr);return ; } }
drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c +1 -1
@@ -2347,7 +2347,7 @@ int mvpp2_prs_update_mac_da(struct net_device *dev, const u8 *da)return err;/* Set addr in the device */ -ether_addr_copy (dev->dev_addr, da); +eth_hw_addr_set (dev, da);return 0 ; }
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c +1 -1
@@ -188,7 +188,7 @@ static int otx2_hw_get_mac_addr(struct otx2_nic *pfvf,return PTR_ERR (msghdr); } rsp = (struct nix_get_mac_addr_rsp *)msghdr; -ether_addr_copy (netdev->dev_addr, rsp->mac_addr); +eth_hw_addr_set (netdev, rsp->mac_addr);mutex_unlock (&pfvf->mbox.lock);return 0 ;
drivers/net/ethernet/marvell/prestera/prestera_main.c +1 -1
@@ -137,7 +137,7 @@ static int prestera_port_set_mac_address(struct net_device *dev, void *p)if (err)return err; -ether_addr_copy (dev->dev_addr, addr->sa_data); +eth_hw_addr_set (dev, addr->sa_data);return 0 ; }
drivers/net/ethernet/mellanox/mlx5/core/en_main.c +1 -1
@@ -3226,7 +3226,7 @@ static int mlx5e_set_mac(struct net_device *netdev, void *addr)return -EADDRNOTAVAIL ;netif_addr_lock_bh (netdev); -ether_addr_copy (netdev->dev_addr, saddr->sa_data); +eth_hw_addr_set (netdev, saddr->sa_data);netif_addr_unlock_bh (netdev);mlx5e_nic_set_rx_mode (priv);
drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c +1 -1
@@ -75,7 +75,7 @@ static void mlxbf_gige_initial_mac(struct mlxbf_gige *priv)u64_to_ether_addr (local_mac, mac);if (is_valid_ether_addr (mac)) { -ether_addr_copy (priv->netdev->dev_addr, mac); +eth_hw_addr_set (priv->netdev, mac); }else {/* Provide a random MAC if for some reason the device has * not been configured with a valid MAC address already.
drivers/net/ethernet/microchip/enc28j60.c +2 -2
@@ -517,7 +517,7 @@ static int enc28j60_set_mac_address(struct net_device *dev, void *addr)if (!is_valid_ether_addr (address->sa_data))return -EADDRNOTAVAIL ; -ether_addr_copy (dev->dev_addr, address->sa_data); +eth_hw_addr_set (dev, address->sa_data);return enc28j60_set_hw_macaddr (dev); }
@@ -1573,7 +1573,7 @@ static int enc28j60_probe(struct spi_device *spi) }if (device_get_mac_address (&spi->dev, macaddr,sizeof (macaddr))) -ether_addr_copy (dev->dev_addr, macaddr); +eth_hw_addr_set (dev, macaddr);else eth_hw_addr_random (dev);enc28j60_set_hw_macaddr (dev);
drivers/net/ethernet/microchip/lan743x_main.c +2 -2
@@ -816,7 +816,7 @@ static int lan743x_mac_init(struct lan743x_adapter *adapter)eth_random_addr (adapter->mac_address); }lan743x_mac_set_address (adapter, adapter->mac_address); -ether_addr_copy (netdev->dev_addr, adapter->mac_address); +eth_hw_addr_set (netdev, adapter->mac_address);return 0 ; }
@@ -2645,7 +2645,7 @@ static int lan743x_netdev_set_mac_address(struct net_device *netdev, ret =eth_prepare_mac_addr_change (netdev, sock_addr);if (ret)return ret; -ether_addr_copy (netdev->dev_addr, sock_addr->sa_data); +eth_hw_addr_set (netdev, sock_addr->sa_data);lan743x_mac_set_address (adapter, sock_addr->sa_data);lan743x_rfe_update_mac_address (adapter);return 0 ;
drivers/net/ethernet/microchip/sparx5/sparx5_netdev.c +1 -1
@@ -162,7 +162,7 @@ static int sparx5_set_mac_address(struct net_device *dev, void *p)sparx5_mact_learn (sparx5,PGID_CPU , addr->sa_data, port->pvid);/* Record the address */ -ether_addr_copy (dev->dev_addr, addr->sa_data); +eth_hw_addr_set (dev, addr->sa_data);return 0 ; }
drivers/net/ethernet/microsoft/mana/mana_en.c +1 -1
@@ -1608,7 +1608,7 @@ static int mana_init_port(struct net_device *ndev)if (apc->num_queues > apc->max_queues) apc->num_queues = apc->max_queues; -ether_addr_copy (ndev->dev_addr, apc->mac_addr); +eth_hw_addr_set (ndev, apc->mac_addr);return 0 ;
drivers/net/ethernet/mscc/ocelot_net.c +1 -1
@@ -605,7 +605,7 @@ static int ocelot_port_set_mac_address(struct net_device *dev, void *p)/* Then forget the previous one. */ ocelot_mact_forget (ocelot, dev->dev_addr, ocelot_port->pvid_vlan.vid); -ether_addr_copy (dev->dev_addr, addr->sa_data); +eth_hw_addr_set (dev, addr->sa_data);return 0 ; }
drivers/net/ethernet/netronome/nfp/abm/main.c +1 -1
@@ -305,7 +305,7 @@ nfp_abm_vnic_set_mac(struct nfp_pf *pf, struct nfp_abm *abm, struct nfp_net *nn,return ; } -ether_addr_copy (nn->dp.netdev->dev_addr, mac_addr); +eth_hw_addr_set (nn->dp.netdev, mac_addr);ether_addr_copy (nn->dp.netdev->perm_addr, mac_addr); }
drivers/net/ethernet/netronome/nfp/nfp_net_main.c +1 -1
@@ -55,7 +55,7 @@ nfp_net_get_mac_addr(struct nfp_pf *pf, struct net_device *netdev,return ; } -ether_addr_copy (netdev->dev_addr, eth_port->mac_addr); +eth_hw_addr_set (netdev, eth_port->mac_addr);ether_addr_copy (netdev->perm_addr, eth_port->mac_addr); }
drivers/net/ethernet/netronome/nfp/nfp_netvf_main.c +1 -1
@@ -58,7 +58,7 @@ static void nfp_netvf_get_mac_addr(struct nfp_net *nn)return ; } -ether_addr_copy (nn->dp.netdev->dev_addr, mac_addr); +eth_hw_addr_set (nn->dp.netdev, mac_addr);ether_addr_copy (nn->dp.netdev->perm_addr, mac_addr); }
drivers/net/ethernet/ni/nixge.c +1 -1
@@ -1283,7 +1283,7 @@ static int nixge_probe(struct platform_device *pdev) mac_addr =nixge_get_nvmem_address (&pdev->dev);if (mac_addr &&is_valid_ether_addr (mac_addr)) { -ether_addr_copy (ndev->dev_addr, mac_addr); +eth_hw_addr_set (ndev, mac_addr);kfree (mac_addr); }else {eth_hw_addr_random (ndev);
drivers/net/ethernet/qlogic/qede/qede_filter.c +2 -2
@@ -557,7 +557,7 @@ void qede_force_mac(void *dev, u8 *mac, bool forced)return ; } -ether_addr_copy (edev->ndev->dev_addr, mac); +eth_hw_addr_set (edev->ndev, mac);__qede_unlock (edev); }
@@ -1101,7 +1101,7 @@ int qede_set_mac_addr(struct net_device *ndev, void *p) goto out; } -ether_addr_copy (ndev->dev_addr, addr->sa_data); +eth_hw_addr_set (ndev, addr->sa_data);DP_INFO (edev,"Setting device MAC to %pM\n" , addr->sa_data);if (edev->state !=QEDE_STATE_OPEN ) {
drivers/net/ethernet/qlogic/qede/qede_main.c +1 -1
@@ -836,7 +836,7 @@ static void qede_init_ndev(struct qede_dev *edev) ndev->max_mtu =QEDE_MAX_JUMBO_PACKET_SIZE ;/* Set network device HW mac */ -ether_addr_copy (edev->ndev->dev_addr, edev->dev_info.common.hw_mac); +eth_hw_addr_set (edev->ndev, edev->dev_info.common.hw_mac); ndev->mtu = edev->dev_info.common.mtu; }
drivers/net/ethernet/qualcomm/emac/emac.c +1 -1
@@ -550,7 +550,7 @@ static int emac_probe_resources(struct platform_device *pdev,/* get mac address */ if (device_get_mac_address (&pdev->dev, maddr,ETH_ALEN )) -ether_addr_copy (netdev->dev_addr, maddr); +eth_hw_addr_set (netdev, maddr);else eth_hw_addr_random (netdev);
drivers/net/ethernet/sfc/ef10_sriov.c +1 -1
@@ -523,7 +523,7 @@ int efx_ef10_sriov_set_vf_mac(struct efx_nic *efx, int vf_i, u8 *mac) goto fail;if (vf->efx) -ether_addr_copy (vf->efx->net_dev->dev_addr, mac); +eth_hw_addr_set (vf->efx->net_dev, mac); }ether_addr_copy (vf->mac, mac);
drivers/net/ethernet/sfc/efx.c +1 -1
@@ -136,7 +136,7 @@ static int efx_probe_port(struct efx_nic *efx)return rc;/* Initialise MAC address to permanent address */ -ether_addr_copy (efx->net_dev->dev_addr, efx->net_dev->perm_addr); +eth_hw_addr_set (efx->net_dev, efx->net_dev->perm_addr);return 0 ; }
drivers/net/ethernet/sfc/efx_common.c +2 -2
@@ -181,11 +181,11 @@ int efx_set_mac_address(struct net_device *net_dev, void *data)/* save old address */ ether_addr_copy (old_addr, net_dev->dev_addr); -ether_addr_copy (net_dev->dev_addr, new_addr); +eth_hw_addr_set (net_dev, new_addr);if (efx->type->set_mac_address) { rc = efx->type->set_mac_address (efx);if (rc) { -ether_addr_copy (net_dev->dev_addr, old_addr); +eth_hw_addr_set (net_dev, old_addr);return rc; } }
drivers/net/ethernet/sfc/falcon/efx.c +3 -3
@@ -1044,7 +1044,7 @@ static int ef4_probe_port(struct ef4_nic *efx)return rc;/* Initialise MAC address to permanent address */ -ether_addr_copy (efx->net_dev->dev_addr, efx->net_dev->perm_addr); +eth_hw_addr_set (efx->net_dev, efx->net_dev->perm_addr);return 0 ; }
@@ -2162,11 +2162,11 @@ static int ef4_set_mac_address(struct net_device *net_dev, void *data)/* save old address */ ether_addr_copy (old_addr, net_dev->dev_addr); -ether_addr_copy (net_dev->dev_addr, new_addr); +eth_hw_addr_set (net_dev, new_addr);if (efx->type->set_mac_address) { rc = efx->type->set_mac_address (efx);if (rc) { -ether_addr_copy (net_dev->dev_addr, old_addr); +eth_hw_addr_set (net_dev, old_addr);return rc; } }
drivers/net/ethernet/socionext/netsec.c +1 -1
@@ -2036,7 +2036,7 @@ static int netsec_probe(struct platform_device *pdev) mac =device_get_mac_address (&pdev->dev, macbuf,sizeof (macbuf));if (mac) -ether_addr_copy (ndev->dev_addr, mac); +eth_hw_addr_set (ndev, mac);if (priv->eeprom_base && (!mac || !is_valid_ether_addr (ndev->dev_addr))) {
drivers/net/ethernet/ti/am65-cpsw-nuss.c +1 -1
@@ -1970,7 +1970,7 @@ am65_cpsw_nuss_init_port_ndev(struct am65_cpsw_common *common, u32 port_idx) ndev_priv->msg_enable =AM65_CPSW_DEBUG ;SET_NETDEV_DEV (port->ndev, dev); -ether_addr_copy (port->ndev->dev_addr, port->slave.mac_addr); +eth_hw_addr_set (port->ndev, port->slave.mac_addr); port->ndev->min_mtu =AM65_CPSW_MIN_PACKET_SIZE ; port->ndev->max_mtu =AM65_CPSW_MAX_PACKET_SIZE ;
drivers/net/ethernet/ti/cpsw_new.c +2 -2
@@ -1000,7 +1000,7 @@ static int cpsw_ndo_set_mac_address(struct net_device *ndev, void *p) flags, vid);ether_addr_copy (priv->mac_addr, addr->sa_data); -ether_addr_copy (ndev->dev_addr, priv->mac_addr); +eth_hw_addr_set (ndev, priv->mac_addr);cpsw_set_slave_mac (&cpsw->slaves[slave_no], priv);pm_runtime_put (cpsw->dev);
@@ -1401,7 +1401,7 @@ static int cpsw_create_ports(struct cpsw_common *cpsw)dev_info (cpsw->dev,"Random MACID = %pM\n" , priv->mac_addr); } -ether_addr_copy (ndev->dev_addr, slave_data->mac_addr); +eth_hw_addr_set (ndev, slave_data->mac_addr);ether_addr_copy (priv->mac_addr, slave_data->mac_addr); cpsw->slaves[i].ndev = ndev;
drivers/net/ethernet/ti/davinci_emac.c +1 -1
@@ -1899,7 +1899,7 @@ static int davinci_emac_probe(struct platform_device *pdev) rc =davinci_emac_try_get_mac (pdev, res_ctrl ?0 :1 , priv->mac_addr);if (!rc) -ether_addr_copy (ndev->dev_addr, priv->mac_addr); +eth_hw_addr_set (ndev, priv->mac_addr);if (!is_valid_ether_addr (priv->mac_addr)) {/* Use random MAC if still none obtained. */
drivers/net/ethernet/ti/netcp_core.c +1 -1
@@ -2028,7 +2028,7 @@ static int netcp_create_interface(struct netcp_device *netcp_device,emac_arch_get_mac_addr (efuse_mac_addr, efuse, efuse_mac);if (is_valid_ether_addr (efuse_mac_addr)) -ether_addr_copy (ndev->dev_addr, efuse_mac_addr); +eth_hw_addr_set (ndev, efuse_mac_addr);else eth_random_addr (ndev->dev_addr);
include/linux/etherdevice.h +1 -1
@@ -323,7 +323,7 @@ static inline void eth_hw_addr_inherit(struct net_device *dst, struct net_device *src) { dst->addr_assign_type = src->addr_assign_type; -ether_addr_copy (dst->dev_addr, src->dev_addr); +eth_hw_addr_set (dst, src->dev_addr); }/**
Signature · 1 line
2.31.1
Jakub Kicinski
maintainerPATCH 7/11 net: usb: use eth_hw_addr_set() instead of ether_addr_copy()
In reply to Jakub KicinskiCommit 406f42fa0d3c ("net-next: When a bond have a massive amount of VLANs...") introduced a rbtree for faster Ethernet address look up. To maintain netdev->dev_addr in this tree we need to make all the writes to it got through appropriate helpers.
Convert net/usb from ether_addr_copy() to eth_hw_addr_set():
@@
expression dev, np;
@@
- ether_addr_copy(dev->dev_addr, np)
+ eth_hw_addr_set(dev, np)
--
CC: Oliver Neukum <[email protected]>
--- drivers/net/usb/aqc111.c | 2 +- drivers/net/usb/lan78xx.c | 4 ++-- drivers/net/usb/r8152.c | 2 +- drivers/net/usb/rndis_host.c | 2 +- drivers/net/usb/rtl8150.c | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-)
drivers/net/usb/aqc111.c +1 -1
@@ -714,7 +714,7 @@ static int aqc111_bind(struct usbnet *dev, struct usb_interface *intf)if (ret) goto out; -ether_addr_copy (dev->net->dev_addr, dev->net->perm_addr); +eth_hw_addr_set (dev->net, dev->net->perm_addr);/* Set Rx urb size */ dev->rx_urb_size =URB_SIZE ;
drivers/net/usb/lan78xx.c +2 -2
@@ -1817,7 +1817,7 @@ static void lan78xx_init_mac_address(struct lan78xx_net *dev)lan78xx_write_reg (dev,MAF_LO (0 ), addr_lo);lan78xx_write_reg (dev,MAF_HI (0 ), addr_hi |MAF_HI_VALID_ ); -ether_addr_copy (dev->net->dev_addr, addr); +eth_hw_addr_set (dev->net, addr); }/* MDIO read and write wrappers for phylib */
@@ -2416,7 +2416,7 @@ static int lan78xx_set_mac_addr(struct net_device *netdev, void *p)if (!is_valid_ether_addr (addr->sa_data))return -EADDRNOTAVAIL ; -ether_addr_copy (netdev->dev_addr, addr->sa_data); +eth_hw_addr_set (netdev, addr->sa_data); addr_lo = netdev->dev_addr[0 ] | netdev->dev_addr[1] << 8 |
drivers/net/usb/r8152.c +1 -1
@@ -1718,7 +1718,7 @@ static int set_ethernet_addr(struct r8152 *tp, bool in_resume)return ret;if (tp->version ==RTL_VER_01 ) -ether_addr_copy (dev->dev_addr, sa.sa_data); +eth_hw_addr_set (dev, sa.sa_data);else ret =__rtl8152_set_mac_address (dev, &sa, in_resume);
drivers/net/usb/rndis_host.c +1 -1
@@ -421,7 +421,7 @@ generic_rndis_bind(struct usbnet *dev, struct usb_interface *intf, int flags)if (bp[0 ] &0x02 )eth_hw_addr_random (net);else -ether_addr_copy (net->dev_addr, bp); +eth_hw_addr_set (net, bp);/* set a nonzero filter to enable data transfers */ memset (u.set,0 ,sizeof *u.set);
drivers/net/usb/rtl8150.c +1 -1
@@ -262,7 +262,7 @@ static void set_ethernet_addr(rtl8150_t *dev) ret =get_registers (dev,IDR ,sizeof (node_id), node_id);if (!ret) { -ether_addr_copy (dev->netdev->dev_addr, node_id); +eth_hw_addr_set (dev->netdev, node_id); }else {eth_hw_addr_random (dev->netdev); netdev_notice(dev->netdev, "Assigned a random MAC address: %pM\n",
Signature · 1 line
2.31.1
Jakub Kicinski
maintainerPATCH 8/11 ethernet: chelsio: use eth_hw_addr_set()
In reply to Jakub KicinskiConvert chelsio drivers from memcpy() and ether_addr_copy() to eth_hw_addr_set(). They lack includes.
--
CC: Raju Rangoju <[email protected]>
--- drivers/net/ethernet/chelsio/cxgb/subr.c | 2 +- drivers/net/ethernet/chelsio/cxgb3/t3_hw.c | 4 ++-- drivers/net/ethernet/chelsio/cxgb4/cxgb4.h | 2 +- drivers/net/ethernet/chelsio/cxgb4/t4_hw.c | 2 +- drivers/net/ethernet/chelsio/cxgb4vf/adapter.h | 3 ++- 5 files changed, 7 insertions(+), 6 deletions(-)
drivers/net/ethernet/chelsio/cxgb/subr.c +1 -1
@@ -1140,7 +1140,7 @@ int t1_init_sw_modules(adapter_t *adapter, const struct board_info *bi) adapter->port[i].dev->name); goto error; } -memcpy (adapter->port[i].dev->dev_addr, hw_addr,ETH_ALEN ); +eth_hw_addr_set (adapter->port[i].dev, hw_addr);init_link_config (&adapter->port[i].link_config, bi); }
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c +2 -2
@@ -29,6 +29,7 @@* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ +#include <linux/etherdevice.h> #include "common.h" #include "regs.h" #include "sge_defs.h"
@@ -3758,8 +3759,7 @@ int t3_prep_adapter(struct adapter *adapter, const struct adapter_info *ai,memcpy (hw_addr, adapter->params.vpd.eth_base,5 ); hw_addr[5 ] = adapter->params.vpd.eth_base[5 ] + i; -memcpy (adapter->port[i]->dev_addr, hw_addr, -ETH_ALEN ); +eth_hw_addr_set (adapter->port[i], hw_addr);init_link_config (&p->link_config, p->phy.caps); p->phy.ops->power_down (&p->phy,1 );
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h +1 -1
@@ -1545,7 +1545,7 @@ static inline void t4_write_reg64(struct adapter *adap, u32 reg_addr, u64 val)static inline void t4_set_hw_addr (struct adapter *adapter,int port_idx,u8 hw_addr[]) { -ether_addr_copy (adapter->port[port_idx]->dev_addr, hw_addr); +eth_hw_addr_set (adapter->port[port_idx], hw_addr);ether_addr_copy (adapter->port[port_idx]->perm_addr, hw_addr); }
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c +1 -1
@@ -9706,7 +9706,7 @@ int t4_port_init(struct adapter *adap, int mbox, int pf, int vf)if (ret)return ret; -memcpy (adap->port[i]->dev_addr, addr,ETH_ALEN ); +eth_hw_addr_set (adap->port[i], addr); j++; }return 0 ;
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h +2 -1
@@ -40,6 +40,7 @@#ifndef __CXGB4VF_ADAPTER_H__#define __CXGB4VF_ADAPTER_H__ +#include <linux/etherdevice.h> #include <linux/interrupt.h> #include <linux/pci.h> #include <linux/spinlock.h>
@@ -507,7 +508,7 @@ static inline const char *port_name(struct adapter *adapter, int pidx)static inline void t4_os_set_hw_addr (struct adapter *adapter,int pidx,u8 hw_addr[]) { -memcpy (adapter->port[pidx]->dev_addr, hw_addr,ETH_ALEN ); +eth_hw_addr_set (adapter->port[pidx], hw_addr); }/**
Signature · 1 line
2.31.1
Jakub Kicinski
maintainerPATCH 9/11 ethernet: s2io: use eth_hw_addr_set()
In reply to Jakub KicinskiManual conversions because we need to get to the member which is inside an array to have a u8 pointer which eth_hw_addr_set() expects.
--
CC: Jon Mason <[email protected]>
--- drivers/net/ethernet/neterion/s2io.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/net/ethernet/neterion/s2io.c +1 -1
@@ -7954,7 +7954,7 @@ s2io_init_nic(struct pci_dev *pdev, const struct pci_device_id *pre)/* Set the factory defined MAC address initially */ dev->addr_len =ETH_ALEN ; -memcpy (dev->dev_addr, sp->def_mac_addr,ETH_ALEN ); +eth_hw_addr_set (dev, sp->def_mac_addr[0 ].mac_addr);/* initialize number of multicast & unicast MAC entries variables */ if (sp->device_type ==XFRAME_I_DEVICE ) {
Signature · 1 line
2.31.1
Jakub Kicinski
maintainerPATCH 10/11 fddi: use eth_hw_addr_set()
In reply to Jakub KicinskiConvert from memcpy(), include is needed.
--
CC: "Maciej W. Rozycki" <[email protected]>
--- drivers/net/fddi/skfp/skfddi.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
drivers/net/fddi/skfp/skfddi.c +3 -2
@@ -78,6 +78,7 @@ static const char * const boot_msg =#include <linux/interrupt.h> #include <linux/pci.h> #include <linux/netdevice.h> +#include <linux/etherdevice.h> #include <linux/fddidevice.h> #include <linux/skbuff.h> #include <linux/bitops.h>
@@ -433,7 +434,7 @@ static int skfp_driver_init(struct net_device *dev) }read_address (smc,NULL );pr_debug ("HW-Addr: %pMF\n" , smc->hw.fddi_canon_addr.a); -memcpy (dev->dev_addr, smc->hw.fddi_canon_addr.a,ETH_ALEN ); +eth_hw_addr_set (dev, smc->hw.fddi_canon_addr.a);smt_reset_defaults (smc,0 );
@@ -500,7 +501,7 @@ static int skfp_open(struct net_device *dev)* address. */ read_address (smc,NULL ); -memcpy (dev->dev_addr, smc->hw.fddi_canon_addr.a,ETH_ALEN ); +eth_hw_addr_set (dev, smc->hw.fddi_canon_addr.a);init_smt (smc,NULL );smt_online (smc,1 );
Signature · 1 line
2.31.1
Maciej W. Rozycki
maintainerRe: [PATCH net-next 10/11] fddi: use eth_hw_addr_set()
drivers/net/fddi/skfp/skfddi.c static int skfp_driver_init(struct net_device *dev) · line 437
Quoted 10 lines · Jakub Kicinski
drivers/net/fddi/skfp/skfddi.c +1
-1@@ -433,7 +434,7 @@ static int skfp_driver_init(struct net_device *dev) }read_address (smc,NULL );pr_debug ("HW-Addr: %pMF\n" , smc->hw.fddi_canon_addr.a); -memcpy (dev->dev_addr, smc->hw.fddi_canon_addr.a,ETH_ALEN ); +eth_hw_addr_set (dev, smc->hw.fddi_canon_addr.a);
Hmm, it looks to me like this ought to be abstracted somehow even if it
ultimately expanded to exactly the same code; note that FDDI_K_ALEN should have been used in original code. Not functionally incorrect however, so I guess no need to rush cleaning up.
Maciej
Jakub Kicinski
maintainerPATCH 11/11 ethernet: use eth_hw_addr_set() - casts
In reply to Jakub Kicinskieth_hw_addr_set() takes a u8 pointer, like other etherdevice helpers. Convert the few drivers which require casts because they memcpy from "endian marked" types.
--- drivers/net/ethernet/3com/3c509.c | 2 +- drivers/net/ethernet/cortina/gemini.c | 2 +- drivers/net/ethernet/intel/e100.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)
drivers/net/ethernet/3com/3c509.c +1 -1
@@ -270,7 +270,7 @@ static void el3_dev_fill(struct net_device *dev, __be16 *phys_addr, int ioaddr, {struct el3_private *lp =netdev_priv (dev); -memcpy (dev->dev_addr, phys_addr,ETH_ALEN ); +eth_hw_addr_set (dev, (u8 *)phys_addr); dev->base_addr = ioaddr; dev->irq = irq; dev->if_port = if_port;
drivers/net/ethernet/cortina/gemini.c +1 -1
@@ -2467,7 +2467,7 @@ static int gemini_ethernet_port_probe(struct platform_device *pdev) DEFAULT_NAPI_WEIGHT);if (is_valid_ether_addr ((void *)port->mac_addr)) { -memcpy (netdev->dev_addr, port->mac_addr,ETH_ALEN ); +eth_hw_addr_set (netdev, (u8 *)port->mac_addr); }else { dev_dbg(dev, "ethernet address 0x%08x%08x%08x invalid\n", port->mac_addr[0], port->mac_addr[1],
drivers/net/ethernet/intel/e100.c +1 -1
@@ -2921,7 +2921,7 @@ static int e100_probe(struct pci_dev *pdev, const struct pci_device_id *ent)e100_phy_init (nic); -memcpy (netdev->dev_addr, nic->eeprom,ETH_ALEN ); +eth_hw_addr_set (netdev, (u8 *)nic->eeprom);if (!is_valid_ether_addr (netdev->dev_addr)) {if (!eeprom_bad_csum_allow) {netif_err (nic, probe, nic->netdev,"Invalid MAC address from EEPROM, aborting\n" );
Signature · 1 line
2.31.1
This series was applied to netdev/net-next.git (refs/heads/master):
Hello:
This series was applied to netdev/net-next.git (refs/heads/master):
Quoted 9 lines · On Fri, 1 Oct 2021 14:32:17 -0700 you wrote:
Commit
406f42fa0d3c("net-next: When a bond have a massive amount of VLANs...") introduced a rbtree for faster Ethernet address look up. To maintainnetdev->dev_addrin this tree we need to make all the writes to it got through appropriate helpers.This is the first installment of predictably tedious conversion. It tackles:
[...]
Here is the summary with links:
- [net-next,01/11] arch: use eth_hw_addr_set()
https://git.kernel.org/netdev/net-next/c/4e9b9de65cdd - [net-next,02/11] net: use eth_hw_addr_set() https://git.kernel.org/netdev/net-next/c/2f23e5cef314 - [net-next,03/11] ethernet: use eth_hw_addr_set() https://git.kernel.org/netdev/net-next/c/a96d317fb1a3 - [net-next,04/11] net: usb: use eth_hw_addr_set() https://git.kernel.org/netdev/net-next/c/168137176233 - [net-next,05/11] net: use eth_hw_addr_set() instead of ether_addr_copy() https://git.kernel.org/netdev/net-next/c/e35b8d7dbb09 - [net-next,06/11] ethernet: use eth_hw_addr_set() instead of ether_addr_copy() https://git.kernel.org/netdev/net-next/c/f3956ebb3bf0 - [net-next,07/11] net: usb: use eth_hw_addr_set() instead of ether_addr_copy() https://git.kernel.org/netdev/net-next/c/af804e6db9f6 - [net-next,08/11] ethernet: chelsio: use eth_hw_addr_set() https://git.kernel.org/netdev/net-next/c/47d71f45902e - [net-next,09/11] ethernet: s2io: use eth_hw_addr_set() https://git.kernel.org/netdev/net-next/c/1235568b6d2e - [net-next,10/11] fddi: use eth_hw_addr_set() https://git.kernel.org/netdev/net-next/c/4d3d2c8dba36 - [net-next,11/11] ethernet: use eth_hw_addr_set() - casts https://git.kernel.org/netdev/net-next/c/16be9a16340b
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html