ariadne2.c: kill init_etherdev(), make it use the new ei_alloc_dev(). untested. ===== ariadne2.c 1.5 vs edited ===== --- 1.5/drivers/net/ariadne2.c Thu Nov 21 13:30:14 2002 +++ edited/ariadne2.c Sun Jun 29 00:33:53 2003 @@ -35,6 +35,7 @@ #include "8390.h" +#define DRVNAME "ariadne2" #define NE_BASE (dev->base_addr) #define NE_CMD (0x00*2) @@ -103,11 +104,11 @@ continue; board = z->resource.start; ioaddr = board+cards[i].offset; - dev = init_etherdev(0, 0); + dev = ei_alloc_dev(); SET_MODULE_OWNER(dev); if (!dev) return -ENOMEM; - if (!request_mem_region(ioaddr, NE_IO_EXTENT*2, dev->name)) { + if (!request_mem_region(ioaddr, NE_IO_EXTENT*2, DRVNAME)) { kfree(dev); continue; } @@ -128,7 +129,7 @@ static int __init ariadne2_init(struct net_device *dev, unsigned long board, const char *name, unsigned long ioaddr) { - int i; + int i, err; unsigned char SA_prom[32]; int start_page, stop_page; static u32 ariadne2_offsets[16] = { @@ -192,15 +193,9 @@ dev->irq = IRQ_AMIGA_PORTS; /* Install the Interrupt handler */ - i = request_irq(IRQ_AMIGA_PORTS, ei_interrupt, SA_SHIRQ, dev->name, dev); + i = request_irq(IRQ_AMIGA_PORTS, ei_interrupt, SA_SHIRQ, DRVNAME, dev); if (i) return i; - /* Allocate dev->priv and fill in 8390 specific dev fields. */ - if (ethdev_init(dev)) { - printk("Unable to get memory for dev->priv.\n"); - return -ENOMEM; - } - for(i = 0; i < ETHER_ADDR_LEN; i++) { #ifdef DEBUG printk(" %2.2x", SA_prom[i]); @@ -208,11 +203,6 @@ dev->dev_addr[i] = SA_prom[i]; } - printk("%s: %s at 0x%08lx, Ethernet Address " - "%02x:%02x:%02x:%02x:%02x:%02x\n", dev->name, name, board, - dev->dev_addr[0], dev->dev_addr[1], dev->dev_addr[2], - dev->dev_addr[3], dev->dev_addr[4], dev->dev_addr[5]); - ei_status.name = name; ei_status.tx_start_page = start_page; ei_status.stop_page = stop_page; @@ -232,13 +222,22 @@ root_ariadne2_dev = dev; #endif NS8390_init(dev, 0); + + err = register_netdev(dev); + if (err) + return err; + + printk("%s: %s at 0x%08lx, Ethernet Address " + "%02x:%02x:%02x:%02x:%02x:%02x\n", dev->name, name, board, + dev->dev_addr[0], dev->dev_addr[1], dev->dev_addr[2], + dev->dev_addr[3], dev->dev_addr[4], dev->dev_addr[5]); + return 0; } static int ariadne2_open(struct net_device *dev) { - ei_open(dev); - return 0; + return ei_open(dev); } static int ariadne2_close(struct net_device *dev) - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html