[PATCH 2.5 5/25] 8390-cleanup for ariadne2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux