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

apple: macmace: use eth_hw_addr_set()

Byte by byte assignments.

Fixes build on m68k.
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 5b6d5aff
...@@ -92,7 +92,7 @@ static void mace_reset(struct net_device *dev); ...@@ -92,7 +92,7 @@ static void mace_reset(struct net_device *dev);
static irqreturn_t mace_interrupt(int irq, void *dev_id); static irqreturn_t mace_interrupt(int irq, void *dev_id);
static irqreturn_t mace_dma_intr(int irq, void *dev_id); static irqreturn_t mace_dma_intr(int irq, void *dev_id);
static void mace_tx_timeout(struct net_device *dev, unsigned int txqueue); static void mace_tx_timeout(struct net_device *dev, unsigned int txqueue);
static void __mace_set_address(struct net_device *dev, void *addr); static void __mace_set_address(struct net_device *dev, const void *addr);
/* /*
* Load a receive DMA channel with a base address and ring length * Load a receive DMA channel with a base address and ring length
...@@ -197,6 +197,7 @@ static int mace_probe(struct platform_device *pdev) ...@@ -197,6 +197,7 @@ static int mace_probe(struct platform_device *pdev)
unsigned char *addr; unsigned char *addr;
struct net_device *dev; struct net_device *dev;
unsigned char checksum = 0; unsigned char checksum = 0;
u8 macaddr[ETH_ALEN];
int err; int err;
dev = alloc_etherdev(PRIV_BYTES); dev = alloc_etherdev(PRIV_BYTES);
...@@ -229,8 +230,9 @@ static int mace_probe(struct platform_device *pdev) ...@@ -229,8 +230,9 @@ static int mace_probe(struct platform_device *pdev)
for (j = 0; j < 6; ++j) { for (j = 0; j < 6; ++j) {
u8 v = bitrev8(addr[j<<4]); u8 v = bitrev8(addr[j<<4]);
checksum ^= v; checksum ^= v;
dev->dev_addr[j] = v; macaddr[j] = v;
} }
eth_hw_addr_set(dev, macaddr);
for (; j < 8; ++j) { for (; j < 8; ++j) {
checksum ^= bitrev8(addr[j<<4]); checksum ^= bitrev8(addr[j<<4]);
} }
...@@ -315,11 +317,12 @@ static void mace_reset(struct net_device *dev) ...@@ -315,11 +317,12 @@ static void mace_reset(struct net_device *dev)
* Load the address on a mace controller. * Load the address on a mace controller.
*/ */
static void __mace_set_address(struct net_device *dev, void *addr) static void __mace_set_address(struct net_device *dev, const void *addr)
{ {
struct mace_data *mp = netdev_priv(dev); struct mace_data *mp = netdev_priv(dev);
volatile struct mace *mb = mp->mace; volatile struct mace *mb = mp->mace;
unsigned char *p = addr; const unsigned char *p = addr;
u8 macaddr[ETH_ALEN];
int i; int i;
/* load up the hardware address */ /* load up the hardware address */
...@@ -331,7 +334,8 @@ static void __mace_set_address(struct net_device *dev, void *addr) ...@@ -331,7 +334,8 @@ static void __mace_set_address(struct net_device *dev, void *addr)
; ;
} }
for (i = 0; i < 6; ++i) for (i = 0; i < 6; ++i)
mb->padr = dev->dev_addr[i] = p[i]; mb->padr = macaddr[i] = p[i];
eth_hw_addr_set(dev, macaddr);
if (mp->chipid != BROKEN_ADDRCHG_REV) if (mp->chipid != BROKEN_ADDRCHG_REV)
mb->iac = 0; mb->iac = 0;
} }
......
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