Commit a7639279 authored by Jakub Kicinski's avatar Jakub Kicinski Committed by David S. Miller

ethernet: sun: remove direct netdev->dev_addr writes

Consify temporary variables pointing to netdev->dev_addr.

A few places need local storage but pretty simple conversion
over all. Note that macaddr[] is an array of ints, so we need
to keep the loops.
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ca879317
...@@ -3027,7 +3027,7 @@ static void cas_mac_reset(struct cas *cp) ...@@ -3027,7 +3027,7 @@ static void cas_mac_reset(struct cas *cp)
/* Must be invoked under cp->lock. */ /* Must be invoked under cp->lock. */
static void cas_init_mac(struct cas *cp) static void cas_init_mac(struct cas *cp)
{ {
unsigned char *e = &cp->dev->dev_addr[0]; const unsigned char *e = &cp->dev->dev_addr[0];
int i; int i;
cas_mac_reset(cp); cas_mac_reset(cp);
...@@ -3379,6 +3379,7 @@ static void cas_check_pci_invariants(struct cas *cp) ...@@ -3379,6 +3379,7 @@ static void cas_check_pci_invariants(struct cas *cp)
static int cas_check_invariants(struct cas *cp) static int cas_check_invariants(struct cas *cp)
{ {
struct pci_dev *pdev = cp->pdev; struct pci_dev *pdev = cp->pdev;
u8 addr[ETH_ALEN];
u32 cfg; u32 cfg;
int i; int i;
...@@ -3407,8 +3408,8 @@ static int cas_check_invariants(struct cas *cp) ...@@ -3407,8 +3408,8 @@ static int cas_check_invariants(struct cas *cp)
/* finish phy determination. MDIO1 takes precedence over MDIO0 if /* finish phy determination. MDIO1 takes precedence over MDIO0 if
* they're both connected. * they're both connected.
*/ */
cp->phy_type = cas_get_vpd_info(cp, cp->dev->dev_addr, cp->phy_type = cas_get_vpd_info(cp, addr, PCI_SLOT(pdev->devfn));
PCI_SLOT(pdev->devfn)); eth_hw_addr_set(cp->dev, addr);
if (cp->phy_type & CAS_PHY_SERDES) { if (cp->phy_type & CAS_PHY_SERDES) {
cp->cas_flags |= CAS_FLAG_1000MB_CAP; cp->cas_flags |= CAS_FLAG_1000MB_CAP;
return 0; /* no more checking needed */ return 0; /* no more checking needed */
......
...@@ -230,7 +230,6 @@ static struct net_device *vsw_alloc_netdev(u8 hwaddr[], ...@@ -230,7 +230,6 @@ static struct net_device *vsw_alloc_netdev(u8 hwaddr[],
{ {
struct net_device *dev; struct net_device *dev;
struct vnet_port *port; struct vnet_port *port;
int i;
dev = alloc_etherdev_mqs(sizeof(*port), VNET_MAX_TXQS, 1); dev = alloc_etherdev_mqs(sizeof(*port), VNET_MAX_TXQS, 1);
if (!dev) if (!dev)
...@@ -238,10 +237,8 @@ static struct net_device *vsw_alloc_netdev(u8 hwaddr[], ...@@ -238,10 +237,8 @@ static struct net_device *vsw_alloc_netdev(u8 hwaddr[],
dev->needed_headroom = VNET_PACKET_SKIP + 8; dev->needed_headroom = VNET_PACKET_SKIP + 8;
dev->needed_tailroom = 8; dev->needed_tailroom = 8;
for (i = 0; i < ETH_ALEN; i++) { eth_hw_addr_set(dev, hwaddr);
dev->dev_addr[i] = hwaddr[i]; ether_addr_copy(dev->perm_addr, dev->dev_addr)
dev->perm_addr[i] = dev->dev_addr[i];
}
sprintf(dev->name, "vif%d.%d", (int)handle, (int)port_id); sprintf(dev->name, "vif%d.%d", (int)handle, (int)port_id);
......
...@@ -2603,7 +2603,7 @@ static int niu_init_link(struct niu *np) ...@@ -2603,7 +2603,7 @@ static int niu_init_link(struct niu *np)
return 0; return 0;
} }
static void niu_set_primary_mac(struct niu *np, unsigned char *addr) static void niu_set_primary_mac(struct niu *np, const unsigned char *addr)
{ {
u16 reg0 = addr[4] << 8 | addr[5]; u16 reg0 = addr[4] << 8 | addr[5];
u16 reg1 = addr[2] << 8 | addr[3]; u16 reg1 = addr[2] << 8 | addr[3];
...@@ -8312,6 +8312,7 @@ static void niu_pci_vpd_validate(struct niu *np) ...@@ -8312,6 +8312,7 @@ static void niu_pci_vpd_validate(struct niu *np)
{ {
struct net_device *dev = np->dev; struct net_device *dev = np->dev;
struct niu_vpd *vpd = &np->vpd; struct niu_vpd *vpd = &np->vpd;
u8 addr[ETH_ALEN];
u8 val8; u8 val8;
if (!is_valid_ether_addr(&vpd->local_mac[0])) { if (!is_valid_ether_addr(&vpd->local_mac[0])) {
...@@ -8344,17 +8345,20 @@ static void niu_pci_vpd_validate(struct niu *np) ...@@ -8344,17 +8345,20 @@ static void niu_pci_vpd_validate(struct niu *np)
return; return;
} }
eth_hw_addr_set(dev, vpd->local_mac); ether_addr_copy(addr, vpd->local_mac);
val8 = dev->dev_addr[5]; val8 = addr[5];
dev->dev_addr[5] += np->port; addr[5] += np->port;
if (dev->dev_addr[5] < val8) if (addr[5] < val8)
dev->dev_addr[4]++; addr[4]++;
eth_hw_addr_set(dev, addr);
} }
static int niu_pci_probe_sprom(struct niu *np) static int niu_pci_probe_sprom(struct niu *np)
{ {
struct net_device *dev = np->dev; struct net_device *dev = np->dev;
u8 addr[ETH_ALEN];
int len, i; int len, i;
u64 val, sum; u64 val, sum;
u8 val8; u8 val8;
...@@ -8446,27 +8450,29 @@ static int niu_pci_probe_sprom(struct niu *np) ...@@ -8446,27 +8450,29 @@ static int niu_pci_probe_sprom(struct niu *np)
val = nr64(ESPC_MAC_ADDR0); val = nr64(ESPC_MAC_ADDR0);
netif_printk(np, probe, KERN_DEBUG, np->dev, netif_printk(np, probe, KERN_DEBUG, np->dev,
"SPROM: MAC_ADDR0[%08llx]\n", (unsigned long long)val); "SPROM: MAC_ADDR0[%08llx]\n", (unsigned long long)val);
dev->dev_addr[0] = (val >> 0) & 0xff; addr[0] = (val >> 0) & 0xff;
dev->dev_addr[1] = (val >> 8) & 0xff; addr[1] = (val >> 8) & 0xff;
dev->dev_addr[2] = (val >> 16) & 0xff; addr[2] = (val >> 16) & 0xff;
dev->dev_addr[3] = (val >> 24) & 0xff; addr[3] = (val >> 24) & 0xff;
val = nr64(ESPC_MAC_ADDR1); val = nr64(ESPC_MAC_ADDR1);
netif_printk(np, probe, KERN_DEBUG, np->dev, netif_printk(np, probe, KERN_DEBUG, np->dev,
"SPROM: MAC_ADDR1[%08llx]\n", (unsigned long long)val); "SPROM: MAC_ADDR1[%08llx]\n", (unsigned long long)val);
dev->dev_addr[4] = (val >> 0) & 0xff; addr[4] = (val >> 0) & 0xff;
dev->dev_addr[5] = (val >> 8) & 0xff; addr[5] = (val >> 8) & 0xff;
if (!is_valid_ether_addr(&dev->dev_addr[0])) { if (!is_valid_ether_addr(addr)) {
dev_err(np->device, "SPROM MAC address invalid [ %pM ]\n", dev_err(np->device, "SPROM MAC address invalid [ %pM ]\n",
dev->dev_addr); addr);
return -EINVAL; return -EINVAL;
} }
val8 = dev->dev_addr[5]; val8 = addr[5];
dev->dev_addr[5] += np->port; addr[5] += np->port;
if (dev->dev_addr[5] < val8) if (addr[5] < val8)
dev->dev_addr[4]++; addr[4]++;
eth_hw_addr_set(dev, addr);
val = nr64(ESPC_MOD_STR_LEN); val = nr64(ESPC_MOD_STR_LEN);
netif_printk(np, probe, KERN_DEBUG, np->dev, netif_printk(np, probe, KERN_DEBUG, np->dev,
......
...@@ -1810,7 +1810,7 @@ static u32 gem_setup_multicast(struct gem *gp) ...@@ -1810,7 +1810,7 @@ static u32 gem_setup_multicast(struct gem *gp)
static void gem_init_mac(struct gem *gp) static void gem_init_mac(struct gem *gp)
{ {
unsigned char *e = &gp->dev->dev_addr[0]; const unsigned char *e = &gp->dev->dev_addr[0];
writel(0x1bf0, gp->regs + MAC_SNDPAUSE); writel(0x1bf0, gp->regs + MAC_SNDPAUSE);
...@@ -2087,7 +2087,7 @@ static void gem_stop_phy(struct gem *gp, int wol) ...@@ -2087,7 +2087,7 @@ static void gem_stop_phy(struct gem *gp, int wol)
writel(mifcfg, gp->regs + MIF_CFG); writel(mifcfg, gp->regs + MIF_CFG);
if (wol && gp->has_wol) { if (wol && gp->has_wol) {
unsigned char *e = &gp->dev->dev_addr[0]; const unsigned char *e = &gp->dev->dev_addr[0];
u32 csr; u32 csr;
/* Setup wake-on-lan for MAGIC packet */ /* Setup wake-on-lan for MAGIC packet */
...@@ -2431,8 +2431,8 @@ static struct net_device_stats *gem_get_stats(struct net_device *dev) ...@@ -2431,8 +2431,8 @@ static struct net_device_stats *gem_get_stats(struct net_device *dev)
static int gem_set_mac_address(struct net_device *dev, void *addr) static int gem_set_mac_address(struct net_device *dev, void *addr)
{ {
struct sockaddr *macaddr = (struct sockaddr *) addr; struct sockaddr *macaddr = (struct sockaddr *) addr;
const unsigned char *e = &dev->dev_addr[0];
struct gem *gp = netdev_priv(dev); struct gem *gp = netdev_priv(dev);
unsigned char *e = &dev->dev_addr[0];
if (!is_valid_ether_addr(macaddr->sa_data)) if (!is_valid_ether_addr(macaddr->sa_data))
return -EADDRNOTAVAIL; return -EADDRNOTAVAIL;
...@@ -2799,7 +2799,10 @@ static int gem_get_device_address(struct gem *gp) ...@@ -2799,7 +2799,10 @@ static int gem_get_device_address(struct gem *gp)
} }
eth_hw_addr_set(dev, addr); eth_hw_addr_set(dev, addr);
#else #else
get_gem_mac_nonobp(gp->pdev, gp->dev->dev_addr); u8 addr[ETH_ALEN];
get_gem_mac_nonobp(gp->pdev, addr);
eth_hw_addr_set(gp->dev, addr);
#endif #endif
return 0; return 0;
} }
......
...@@ -1395,13 +1395,13 @@ happy_meal_begin_auto_negotiation(struct happy_meal *hp, ...@@ -1395,13 +1395,13 @@ happy_meal_begin_auto_negotiation(struct happy_meal *hp,
/* hp->happy_lock must be held */ /* hp->happy_lock must be held */
static int happy_meal_init(struct happy_meal *hp) static int happy_meal_init(struct happy_meal *hp)
{ {
const unsigned char *e = &hp->dev->dev_addr[0];
void __iomem *gregs = hp->gregs; void __iomem *gregs = hp->gregs;
void __iomem *etxregs = hp->etxregs; void __iomem *etxregs = hp->etxregs;
void __iomem *erxregs = hp->erxregs; void __iomem *erxregs = hp->erxregs;
void __iomem *bregs = hp->bigmacregs; void __iomem *bregs = hp->bigmacregs;
void __iomem *tregs = hp->tcvregs; void __iomem *tregs = hp->tcvregs;
u32 regtmp, rxcfg; u32 regtmp, rxcfg;
unsigned char *e = &hp->dev->dev_addr[0];
/* If auto-negotiation timer is running, kill it. */ /* If auto-negotiation timer is running, kill it. */
del_timer(&hp->happy_timer); del_timer(&hp->happy_timer);
...@@ -2661,6 +2661,7 @@ static int happy_meal_sbus_probe_one(struct platform_device *op, int is_qfe) ...@@ -2661,6 +2661,7 @@ static int happy_meal_sbus_probe_one(struct platform_device *op, int is_qfe)
struct happy_meal *hp; struct happy_meal *hp;
struct net_device *dev; struct net_device *dev;
int i, qfe_slot = -1; int i, qfe_slot = -1;
u8 addr[ETH_ALEN];
int err = -ENODEV; int err = -ENODEV;
sbus_dp = op->dev.parent->of_node; sbus_dp = op->dev.parent->of_node;
...@@ -2698,7 +2699,8 @@ static int happy_meal_sbus_probe_one(struct platform_device *op, int is_qfe) ...@@ -2698,7 +2699,8 @@ static int happy_meal_sbus_probe_one(struct platform_device *op, int is_qfe)
} }
if (i < 6) { /* a mac address was given */ if (i < 6) { /* a mac address was given */
for (i = 0; i < 6; i++) for (i = 0; i < 6; i++)
dev->dev_addr[i] = macaddr[i]; addr[i] = macaddr[i];
eth_hw_addr_set(dev, addr);
macaddr[5]++; macaddr[5]++;
} else { } else {
const unsigned char *addr; const unsigned char *addr;
...@@ -2969,6 +2971,7 @@ static int happy_meal_pci_probe(struct pci_dev *pdev, ...@@ -2969,6 +2971,7 @@ static int happy_meal_pci_probe(struct pci_dev *pdev,
unsigned long hpreg_res; unsigned long hpreg_res;
int i, qfe_slot = -1; int i, qfe_slot = -1;
char prom_name[64]; char prom_name[64];
u8 addr[ETH_ALEN];
int err; int err;
/* Now make sure pci_dev cookie is there. */ /* Now make sure pci_dev cookie is there. */
...@@ -3044,7 +3047,8 @@ static int happy_meal_pci_probe(struct pci_dev *pdev, ...@@ -3044,7 +3047,8 @@ static int happy_meal_pci_probe(struct pci_dev *pdev,
} }
if (i < 6) { /* a mac address was given */ if (i < 6) { /* a mac address was given */
for (i = 0; i < 6; i++) for (i = 0; i < 6; i++)
dev->dev_addr[i] = macaddr[i]; addr[i] = macaddr[i];
eth_hw_addr_set(dev, addr);
macaddr[5]++; macaddr[5]++;
} else { } else {
#ifdef CONFIG_SPARC #ifdef CONFIG_SPARC
...@@ -3060,7 +3064,10 @@ static int happy_meal_pci_probe(struct pci_dev *pdev, ...@@ -3060,7 +3064,10 @@ static int happy_meal_pci_probe(struct pci_dev *pdev,
eth_hw_addr_set(dev, idprom->id_ethaddr); eth_hw_addr_set(dev, idprom->id_ethaddr);
} }
#else #else
get_hme_mac_nonsparc(pdev, &dev->dev_addr[0]); u8 addr[ETH_ALEN];
get_hme_mac_nonsparc(pdev, addr);
eth_hw_addr_set(dev, addr);
#endif #endif
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment