ethernet: use eth_hw_addr_set()
authorJakub Kicinski <kuba@kernel.org>
Fri, 1 Oct 2021 21:32:20 +0000 (14:32 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 2 Oct 2021 13:18:25 +0000 (14:18 +0100)
Convert 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)

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
63 files changed:
drivers/net/ethernet/8390/ax88796.c
drivers/net/ethernet/allwinner/sun4i-emac.c
drivers/net/ethernet/amd/atarilance.c
drivers/net/ethernet/amd/au1000_eth.c
drivers/net/ethernet/amd/nmclan_cs.c
drivers/net/ethernet/amd/pcnet32.c
drivers/net/ethernet/atheros/alx/main.c
drivers/net/ethernet/broadcom/b44.c
drivers/net/ethernet/broadcom/bcm63xx_enet.c
drivers/net/ethernet/broadcom/bnx2.c
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c
drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c
drivers/net/ethernet/cirrus/ep93xx_eth.c
drivers/net/ethernet/cirrus/mac89x0.c
drivers/net/ethernet/cortina/gemini.c
drivers/net/ethernet/davicom/dm9000.c
drivers/net/ethernet/dec/tulip/tulip_core.c
drivers/net/ethernet/dlink/sundance.c
drivers/net/ethernet/emulex/benet/be_main.c
drivers/net/ethernet/ethoc.c
drivers/net/ethernet/freescale/fec_main.c
drivers/net/ethernet/huawei/hinic/hinic_main.c
drivers/net/ethernet/ibm/ehea/ehea_main.c
drivers/net/ethernet/ibm/ibmveth.c
drivers/net/ethernet/jme.c
drivers/net/ethernet/marvell/mv643xx_eth.c
drivers/net/ethernet/marvell/mvneta.c
drivers/net/ethernet/marvell/pxa168_eth.c
drivers/net/ethernet/marvell/skge.c
drivers/net/ethernet/marvell/sky2.c
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
drivers/net/ethernet/micrel/ks8851_common.c
drivers/net/ethernet/micrel/ksz884x.c
drivers/net/ethernet/mscc/ocelot_net.c
drivers/net/ethernet/myricom/myri10ge/myri10ge.c
drivers/net/ethernet/neterion/vxge/vxge-main.c
drivers/net/ethernet/nvidia/forcedeth.c
drivers/net/ethernet/nxp/lpc_eth.c
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
drivers/net/ethernet/renesas/sh_eth.c
drivers/net/ethernet/seeq/sgiseeq.c
drivers/net/ethernet/sfc/ef100_nic.c
drivers/net/ethernet/sgi/ioc3-eth.c
drivers/net/ethernet/sgi/meth.c
drivers/net/ethernet/smsc/smsc911x.c
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
drivers/net/ethernet/sun/niu.c
drivers/net/ethernet/sun/sungem.c
drivers/net/ethernet/sun/sunhme.c
drivers/net/ethernet/sun/sunqe.c
drivers/net/ethernet/ti/cpsw.c
drivers/net/ethernet/toshiba/ps3_gelic_net.c
drivers/net/ethernet/toshiba/spider_net.c
drivers/net/ethernet/toshiba/tc35815.c
drivers/net/ethernet/wiznet/w5100.c
drivers/net/ethernet/wiznet/w5300.c
drivers/net/ethernet/xilinx/ll_temac_main.c
drivers/net/ethernet/xilinx/xilinx_axienet_main.c
drivers/net/ethernet/xscale/ixp4xx_eth.c
net/ethernet/eth.c

index 6c6bdd5..b3e612b 100644 (file)
@@ -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);
index 037baea..40b8138 100644 (file)
@@ -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);
index 9d2f49f..515e1f2 100644 (file)
@@ -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);
index 9c16362..c6f0039 100644 (file)
@@ -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);
index 4019cab..2c07d15 100644 (file)
@@ -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. */
index 70d76fd..820baa2 100644 (file)
@@ -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);
                }
        }
 
index 4ea157e..cf5903a 100644 (file)
@@ -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;
index 38b4654..20f439a 100644 (file)
@@ -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");
index d568863..a568994 100644 (file)
@@ -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;
index 8c83973..b1d7076 100644 (file)
@@ -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 |
index ae87296..ef49e38 100644 (file)
@@ -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);
index 6fbf735..74a8931 100644 (file)
@@ -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)) {
index ea0e939..7c96f94 100644 (file)
@@ -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) {
index 0fba01d..50c975b 100644 (file)
@@ -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.
                         */
index 70d8ca3..d4ebc5d 100644 (file)
@@ -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)
index 072fac5..21ba6e8 100644 (file)
@@ -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;
index 6324e80..84251b8 100644 (file)
@@ -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 */
index 6e745ca..bcbe733 100644 (file)
@@ -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;
index e842de6..e13dd53 100644 (file)
@@ -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)) {
index fcedd73..1ba6452 100644 (file)
@@ -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)
index c36d186..194b081 100644 (file)
@@ -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;
index 361c1c8..0fb36d5 100644 (file)
@@ -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 */
index 0064ebd..c5bd27d 100644 (file)
@@ -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;
 }
index ec87b37..a828000 100644 (file)
@@ -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)
index 9965e8d..6414e92 100644 (file)
@@ -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;
 }
index d5df131..323ed40 100644 (file)
@@ -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);
index 3aedb68..42d374c 100644 (file)
@@ -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));
index 1bdc4f2..3ecee20 100644 (file)
@@ -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);
 }
 
index 28d5ad2..654ec25 100644 (file)
@@ -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);
 
index 9d460a2..1ee9fb8 100644 (file)
@@ -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);
index fab53c9..eada232 100644 (file)
@@ -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;
index 051dd3f..ac48dcc 100644 (file)
@@ -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);
index 3cb9c12..ce131cf 100644 (file)
@@ -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,
index 8af7f28..ac480dc 100644 (file)
@@ -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);
index a6db1a8..0613528 100644 (file)
@@ -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);
 }
 
index a0ee155..a1f7f45 100644 (file)
@@ -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;
                }
index e54b9fb..8ef3868 100644 (file)
@@ -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);
index c1a75b0..32760f8 100644 (file)
@@ -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;
 }
 
index df4a3f3..f3ee51b 100644 (file)
@@ -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++) {
index ef3fb4c..3f269f9 100644 (file)
@@ -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);
index d29fe56..11ce9fe 100644 (file)
@@ -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);
 
index 75960a2..73996f4 100644 (file)
@@ -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 */
index 1374faa..0a7d23d 100644 (file)
@@ -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);
index 37ff25a..16f7410 100644 (file)
@@ -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;
index 518268c..6aa8122 100644 (file)
@@ -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;
index 062f784..6220616 100644 (file)
@@ -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;
index efce834..6d850ea 100644 (file)
@@ -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;
index 199a973..d47308a 100644 (file)
@@ -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 {
index 0600a29..4415226 100644 (file)
@@ -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);
 
index a68a01d..825aca3 100644 (file)
@@ -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;
index d72018a..a5bda9b 100644 (file)
@@ -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
index 62f81b0..fe5482b 100644 (file)
@@ -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]);
index 577cd97..52b1053 100644 (file)
@@ -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);
 
index 66f7ddd..33142d5 100644 (file)
@@ -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;
 
index 55e6526..1425623 100644 (file)
@@ -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;
index 66d4e02..f50f9a4 100644 (file)
@@ -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);
index 52245ac..93453e5 100644 (file)
@@ -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;
        }
index f974e70..88fc65e 100644 (file)
@@ -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);
 
index 46aae30..402d503 100644 (file)
@@ -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);
        }
index 463094c..e7065c9 100644 (file)
@@ -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;
 }
index 871b5ec..0b76069 100644 (file)
@@ -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);
 
index 931494c..3e5fd95 100644 (file)
@@ -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);
 
index 73fce94..b57530c 100644 (file)
@@ -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);