ax88796: remove first_init parameter from ax_init_dev()

ax_init_dev() is always called with first_init=1.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
This commit is contained in:
Marc Kleine-Budde 2011-02-19 23:07:09 +01:00
parent 2f9709dbdf
commit 1cbece33ff

View file

@ -675,7 +675,7 @@ static void ax_initial_setup(struct net_device *dev, struct ei_device *ei_local)
* the device is ready to be used by lib8390.c and registerd with * the device is ready to be used by lib8390.c and registerd with
* the network layer. * the network layer.
*/ */
static int ax_init_dev(struct net_device *dev, int first_init) static int ax_init_dev(struct net_device *dev)
{ {
struct ei_device *ei_local = netdev_priv(dev); struct ei_device *ei_local = netdev_priv(dev);
struct ax_device *ax = to_ax_dev(dev); struct ax_device *ax = to_ax_dev(dev);
@ -695,7 +695,7 @@ static int ax_init_dev(struct net_device *dev, int first_init)
/* read the mac from the card prom if we need it */ /* read the mac from the card prom if we need it */
if (first_init && ax->plat->flags & AXFLG_HAS_EEPROM) { if (ax->plat->flags & AXFLG_HAS_EEPROM) {
unsigned char SA_prom[32]; unsigned char SA_prom[32];
for (i = 0; i < sizeof(SA_prom); i += 2) { for (i = 0; i < sizeof(SA_prom); i += 2) {
@ -711,7 +711,7 @@ static int ax_init_dev(struct net_device *dev, int first_init)
} }
#ifdef CONFIG_AX88796_93CX6 #ifdef CONFIG_AX88796_93CX6
if (first_init && ax->plat->flags & AXFLG_HAS_93CX6) { if (ax->plat->flags & AXFLG_HAS_93CX6) {
unsigned char mac_addr[6]; unsigned char mac_addr[6];
struct eeprom_93cx6 eeprom; struct eeprom_93cx6 eeprom;
@ -737,25 +737,20 @@ static int ax_init_dev(struct net_device *dev, int first_init)
stop_page = NE1SM_STOP_PG; stop_page = NE1SM_STOP_PG;
} }
/* /* load the mac-address from the device */
* load the mac-address from the device if this is the first if (ax->plat->flags & AXFLG_MAC_FROMDEV) {
* time we've initialised ei_outb(E8390_NODMA + E8390_PAGE1 + E8390_STOP,
*/ ei_local->mem + E8390_CMD); /* 0x61 */
if (first_init) { for (i = 0; i < ETHER_ADDR_LEN; i++)
if (ax->plat->flags & AXFLG_MAC_FROMDEV) { dev->dev_addr[i] =
ei_outb(E8390_NODMA + E8390_PAGE1 + E8390_STOP, ei_inb(ioaddr + EN1_PHYS_SHIFT(i));
ei_local->mem + E8390_CMD); /* 0x61 */
for (i = 0; i < ETHER_ADDR_LEN; i++)
dev->dev_addr[i] =
ei_inb(ioaddr + EN1_PHYS_SHIFT(i));
}
if ((ax->plat->flags & AXFLG_MAC_FROMPLATFORM) &&
ax->plat->mac_addr)
memcpy(dev->dev_addr, ax->plat->mac_addr,
ETHER_ADDR_LEN);
} }
if ((ax->plat->flags & AXFLG_MAC_FROMPLATFORM) &&
ax->plat->mac_addr)
memcpy(dev->dev_addr, ax->plat->mac_addr,
ETHER_ADDR_LEN);
ax_reset_8390(dev); ax_reset_8390(dev);
ei_local->name = "AX88796"; ei_local->name = "AX88796";
@ -790,10 +785,9 @@ static int ax_init_dev(struct net_device *dev, int first_init)
ax_NS8390_init(dev, 0); ax_NS8390_init(dev, 0);
if (first_init) dev_info(&ax->dev->dev, "%dbit, irq %d, %lx, MAC: %pM\n",
dev_info(&ax->dev->dev, "%dbit, irq %d, %lx, MAC: %pM\n", ei_local->word16 ? 16 : 8, dev->irq, dev->base_addr,
ei_local->word16 ? 16 : 8, dev->irq, dev->base_addr, dev->dev_addr);
dev->dev_addr);
ret = register_netdev(dev); ret = register_netdev(dev);
if (ret) if (ret)
@ -949,7 +943,7 @@ static int ax_probe(struct platform_device *pdev)
/* got resources, now initialise and register device */ /* got resources, now initialise and register device */
ret = ax_init_dev(dev, 1); ret = ax_init_dev(dev);
if (!ret) if (!ret)
return 0; return 0;