]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ethernet: use eth_hw_addr_set() instead of ether_addr_copy()
authorJakub Kicinski <kuba@kernel.org>
Fri, 1 Oct 2021 21:32:23 +0000 (14:32 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jul 2023 06:46:59 +0000 (08:46 +0200)
[ Upstream commit f3956ebb3bf06ab2266ad5ee2214aed46405810c ]

Convert 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)

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stable-dep-of: 1d6d537dc55d ("net: ethernet: mtk_eth_soc: handle probe deferral")
Signed-off-by: Sasha Levin <sashal@kernel.org>
57 files changed:
drivers/net/ethernet/agere/et131x.c
drivers/net/ethernet/alacritech/slicoss.c
drivers/net/ethernet/amazon/ena/ena_netdev.c
drivers/net/ethernet/aquantia/atlantic/aq_nic.c
drivers/net/ethernet/broadcom/bgmac-bcma.c
drivers/net/ethernet/broadcom/bgmac.c
drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c
drivers/net/ethernet/broadcom/genet/bcmgenet.c
drivers/net/ethernet/brocade/bna/bnad.c
drivers/net/ethernet/cavium/liquidio/lio_core.c
drivers/net/ethernet/cavium/liquidio/lio_main.c
drivers/net/ethernet/cavium/liquidio/lio_vf_main.c
drivers/net/ethernet/cavium/thunder/nicvf_main.c
drivers/net/ethernet/emulex/benet/be_main.c
drivers/net/ethernet/ethoc.c
drivers/net/ethernet/ezchip/nps_enet.c
drivers/net/ethernet/faraday/ftgmac100.c
drivers/net/ethernet/google/gve/gve_adminq.c
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
drivers/net/ethernet/ibm/ibmveth.c
drivers/net/ethernet/ibm/ibmvnic.c
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
drivers/net/ethernet/intel/fm10k/fm10k_pci.c
drivers/net/ethernet/intel/i40e/i40e_main.c
drivers/net/ethernet/intel/iavf/iavf_main.c
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
drivers/net/ethernet/intel/ice/ice_main.c
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
drivers/net/ethernet/korina.c
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
drivers/net/ethernet/marvell/prestera/prestera_main.c
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c
drivers/net/ethernet/microchip/enc28j60.c
drivers/net/ethernet/microchip/lan743x_main.c
drivers/net/ethernet/microchip/sparx5/sparx5_netdev.c
drivers/net/ethernet/microsoft/mana/mana_en.c
drivers/net/ethernet/mscc/ocelot_net.c
drivers/net/ethernet/netronome/nfp/abm/main.c
drivers/net/ethernet/netronome/nfp/nfp_net_main.c
drivers/net/ethernet/netronome/nfp/nfp_netvf_main.c
drivers/net/ethernet/ni/nixge.c
drivers/net/ethernet/qlogic/qede/qede_filter.c
drivers/net/ethernet/qlogic/qede/qede_main.c
drivers/net/ethernet/qualcomm/emac/emac.c
drivers/net/ethernet/sfc/ef10_sriov.c
drivers/net/ethernet/sfc/efx.c
drivers/net/ethernet/sfc/efx_common.c
drivers/net/ethernet/sfc/falcon/efx.c
drivers/net/ethernet/socionext/netsec.c
drivers/net/ethernet/ti/am65-cpsw-nuss.c
drivers/net/ethernet/ti/cpsw_new.c
drivers/net/ethernet/ti/davinci_emac.c
drivers/net/ethernet/ti/netcp_core.c
include/linux/etherdevice.h

index 920633161174d5cac550cf5ea8b488c10d9daad1..f4edc616388c04362136295fc82f04b65df17774 100644 (file)
@@ -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;
 
index 696517eae77f0aeae178181c52d4b39021bc16f8..82f4f26081021cbfaab87f985d74b21b18e04551 100644 (file)
@@ -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);
 
index 23c9750850e982aadfe1c7b8c95b6e81bfb97709..f3673be4fc0879374c581689f93973cebcc46c69 100644 (file)
@@ -4119,7 +4119,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 */
index ea2e7cd8946da477683f36db9cf2118cab002018..c52093589d7cf85e3350510e53a49f38739c0c3f 100644 (file)
@@ -330,7 +330,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
 
index 92453e68d381b2929801e1811aa209de3510c9cf..bdb1b8053b69fb305d5754a4c6b022f73121a4f1 100644 (file)
@@ -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 */
index 54ff28c9b214883a9286fe7ad7aca8e42463a3bd..a9c99ac81730a8e483c8f500b654cee497e1332c 100644 (file)
@@ -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);
index 9401936b74fa2959f021acd64d2ab86fd8552f26..8eb28e088582069c9e648b2424b1c448e49efe48 100644 (file)
@@ -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;
index 9d4f406408c9d20bf9c371cace98db8281766e0d..e036a244b78bfcf37528a9cde65c25a9b33a5251 100644 (file)
@@ -3610,7 +3610,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;
 }
@@ -4060,7 +4060,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))
index ba47777d9cff7ef2e06d8ed9072e25114e71591e..b1947fd9a07cca9fce91b641b3786f125ffdb5fe 100644 (file)
@@ -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);
 
index 2a0d64e5797c87a6ce65bd1878e5600eca720e4d..ec7928b54e4a785d432c279f7d3a7bf0417487a4 100644 (file)
@@ -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);
        }
index ae68821dd56d5ddf2ef4f19af145f40cbdf9336c..443755729d793dfe7ce940205f1985d4304a591d 100644 (file)
@@ -3650,7 +3650,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
index f6396ac64006c7530364448024211ac9238fde65..8a969a9d4b6377466dcf1145a77f78593e88ee12 100644 (file)
@@ -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,
index b43b97e15a6f0397095c86516871803d86451753..8418797be205e7476584dba9e846064f3692aa07 100644 (file)
@@ -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;
index e874b907bfbdf95f30613355cf54749b5bd64a23..3ccb955eb6f23db6ca691bcffdce5ef598334ae1 100644 (file)
@@ -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:
index ed1ed48e7483889397ed3892be16606aedfcfa34..e63aef6a9e33a9effcc7c8974726cc1994fe6852 100644 (file)
@@ -1148,7 +1148,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);
index f9a288a6ec8ccafebcc7184100c4195067e10ae4..f5935eb5a791c3c165c6ff5d6a4f04c5ca9927bd 100644 (file)
@@ -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);
        }
 
index 4a2dadb91f02490033c19158cc7202158d08daeb..11f76e56d031604da40bea51431959e65be86b9f 100644 (file)
@@ -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);
index ce507464f3d62563c75dfc0ea615ffcd6821f1b2..54d649e5ee65bfcb3395e960c27c6052363b4b5a 100644 (file)
@@ -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);
index dc835f316d47156bbb911a068b99c1dac1a579a6..2acf50ed6025a8638a2f3a6d0334bf1ca8a5a75b 100644 (file)
@@ -2251,7 +2251,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;
 }
@@ -4921,7 +4921,7 @@ static int hns3_init_mac_addr(struct net_device *netdev)
                dev_warn(priv->dev, "using random MAC address %s\n",
                         format_mac_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;
index 3d9b4f99d357f70a16c9c5a6c35107706ebde5ee..77d8db9b8a1d83ac2f4e28fe9eb308442e9506d7 100644 (file)
@@ -1620,7 +1620,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;
 }
index 765dee2e4882e5576fa29803f53964330e88039f..450b4fd9aa7f7bc4c110682c68c2c1b0bd9f7f92 100644 (file)
@@ -4689,8 +4689,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:
@@ -5658,7 +5657,7 @@ static int ibmvnic_probe(struct vio_dev *dev, const struct vio_device_id *id)
        adapter->login_pending = false;
 
        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;
index 2fb52bd6fc0e156c35b09823a0bb37041133e4b5..2cca9e84e31e1b1d322cfada0d30ec1e355038bd 100644 (file)
@@ -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;
        }
index adfa2768f024dcee43d6a55a29142ef3a4c9a168..b473cb7d7c575142b60e80697ba7759631eecb8d 100644 (file)
@@ -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)) {
index 8411f277d13554f39fc11ea407fed8d920663b25..d3f3874220a3157f871f7cb5b607d6c5958329cb 100644 (file)
@@ -1686,7 +1686,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);
 
@@ -13659,7 +13659,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 */
index a3caab0b6fa2acbed79d21737a60d89d47601f07..3e45ca40288ad39e1b57d03399fb909fc9cfbf93 100644 (file)
@@ -1963,7 +1963,7 @@ static void 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);
        }
 
index c6eb0d0748ea94adf87eb60e6863e84b1c1ab1f0..262482c694587be218c311fdc8227c0638a9f081 100644 (file)
@@ -1726,7 +1726,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 =
@@ -1757,7 +1757,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);
                }
index bf9fe385274e1f82b07f911256161d9f460c128f..a18fa054b4fae3f147202cd19ef00bed1f7626b8 100644 (file)
@@ -3183,7 +3183,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);
        }
 
@@ -5225,7 +5225,7 @@ err_update_filters:
                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;
        }
index 0e7ff15af9687dfffebadc7aafc8b5c2d28bfc30..3a05e458ded2feb3a2fa3c53323a2ef0ab4952e9 100644 (file)
@@ -2541,7 +2541,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);
        }
 
@@ -3055,7 +3055,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)) {
@@ -4232,7 +4232,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;
 }
index 3e9f324f1061fc87c7ad4a5265ae92ea86692437..097516af4325650f43907b0ef469bfdad5543dbb 100644 (file)
@@ -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);
 
index 524913c28f3b69e85a185a50f9611cd1c92080d5..ddd4ed34b0f20f1a09afbc0418ae75c8df9ad486 100644 (file)
@@ -6087,7 +6087,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;
        }
 
@@ -6095,7 +6095,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;
                }
        }
index a8188b972ccbc546762b52d4c6dc925510466cdc..9af22f497a40f50ea275af75d165a1635a14f65c 100644 (file)
@@ -2333,7 +2333,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;
 }
index 2e225309de9ca4eb19019060c5b5b0c3f9d52ce4..b743646993ca28011722a6f3b0568201dea48c2a 100644 (file)
@@ -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;
index 656c68cfd7ec652213d633b5e556fc3dfbff0684..912759ea6ec59a63b6aeeb55e886cf4e09dff938 100644 (file)
@@ -141,7 +141,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;
 }
index 82849bed27f4c2309cfab4e17f2e91641ca9c3e4..fdc4a5a80da4151ea6de1d471f9d1c6717f2eff1 100644 (file)
@@ -3224,7 +3224,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);
index 6704f5c1aa32e78cb1b73ee8ab0093091bd19f78..b990782c1eb1f6aed37329660bd0863ee70aae54 100644 (file)
@@ -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.
index 09cdc2f2e7ffba4368825d5efe0577c5f857dae3..bf77e8adffbf3aa16eca0739121449ed7d19d726 100644 (file)
@@ -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);
index d66ee9bf5558c8a56e7794ef443b3bb8f573a8ad..a3392c74372a864baea96a88e3791417f4675938 100644 (file)
@@ -829,7 +829,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;
 }
@@ -2677,7 +2677,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;
index 5c7b21ce64edb898410c7ebc001492622736adab..a84038db8e1ad9f0bf51d6411486c89b639252cc 100644 (file)
@@ -172,7 +172,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;
 }
index 4b8c2399321780b2af5ac7f4900c7e63c9eacdc9..6224b7c21e0afcb7097336f7c3690d896e99dbcd 100644 (file)
@@ -1619,7 +1619,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;
 
index c08c56e07b1d3a97f968aec42834967b071f68a2..da8a4e01d4be33235c8575b6b7c6d25bf97fc69d 100644 (file)
@@ -606,7 +606,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;
 }
 
index 605a1617b195edac6df05ae483e084302123538f..5d3df28c648ffc2d1925fa84af04899af9742677 100644 (file)
@@ -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);
 }
 
index d10a938013445f221a71e3a2c97335bdf3c34084..74c4bf4d397d8f108a88b77bf2a4dfdb9c941af9 100644 (file)
@@ -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);
 }
 
index c0e2f4394aef843fb41d8697f08ac03b4d840c4e..87f2268b16d6e4f81513f234d269c3134b6c7344 100644 (file)
@@ -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);
 }
 
index 5d0cecf80b380f1ac7298b0e087ccec54a0a3d99..486fa794b6c7a4ad3ca0a5f09ac3e630317ee7cd 100644 (file)
@@ -1285,7 +1285,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);
index f99b085b56a54c4ce197338b61926570728f73f2..03c51dd37e1f3e836be9726a9669e72a8a40f466 100644 (file)
@@ -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) {
index 41f0a3433c3a2a9ebefb3991e40740843ddd193e..6c22bfc16ee6bc93d6bb7c95ce1651c5755eb1b5 100644 (file)
@@ -843,7 +843,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;
 }
index bb7f3286824f44dae8ae08dbccd81d2c58540474..94090856cf3a922e20edb760b11a561337ed9be1 100644 (file)
@@ -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);
 
index f488461a23d1c54e3a7c812fa62eca518d1aa127..eeaecea77cb8359341467f2d31061a0197db6f8c 100644 (file)
@@ -527,7 +527,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);
index 41eb6f9f5596e1f8f7c54c3a48a66aea8369a029..bc1f4350360bc82b4d1664a82bf34faffad95acb 100644 (file)
@@ -128,7 +128,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;
 }
index 6038b7e3e823612a38b58ebe4263a387454abb64..7249ea594b31d8e96b720b20d02b27fcca82a9c4 100644 (file)
@@ -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;
                }
        }
index 423bdf81200fd7861ffc540637a63454d8265411..c68837a951f47eb1f73fb01207246201edcb1805 100644 (file)
@@ -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;
                }
        }
index f0451911ab8f6a9843ce196d6d49e37ec723128f..6b8013fb17c381ac0c71c593d82005dad70af0a5 100644 (file)
@@ -2041,7 +2041,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))) {
index 692c291d9a01ac91d45e8542d81cd95d5f916092..daf0779261f3e3c9c24dee5a1f9173a79d8be774 100644 (file)
@@ -1981,7 +1981,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;
index 277c91d135708c850dd84001af94fdf1cdd9954c..0d921f6542d6fccb0ed9bbf81123d79719baa0e1 100644 (file)
@@ -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);
@@ -1404,7 +1404,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;
index d243ca5dfde00f55128274e87c7084ba1ac4bb0d..fbd6bd80f51f4113b14dc9f5f1af2e861ec12169 100644 (file)
@@ -1911,7 +1911,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. */
index 07bdeece1723ddad5101b9f9a266642edda87063..0cd47348890db60e93c7ca23863e83be2240ee2e 100644 (file)
@@ -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);
 
index 7f28fa702bb7288f85bd10d7e2d25e7572fa063f..ca0e26a858bee61c74032eacd0c5c6e90b1c93a9 100644 (file)
@@ -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);
 }
 
 /**