patch-2.4.0-test11 linux/drivers/net/apne.c

Next file: linux/drivers/net/appletalk/cops.c
Previous file: linux/drivers/net/am79c961a.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test10/linux/drivers/net/apne.c linux/drivers/net/apne.c
@@ -129,7 +129,9 @@
 
 	if (apne_owned)
 		return -ENODEV;
-        
+
+	SET_MODULE_OWNER(dev);
+
 	if ( !(AMIGAHW_PRESENT(PCMCIA)) )
 		return (-ENODEV);
                                 
@@ -285,10 +287,8 @@
     dev->base_addr = ioaddr;
 
     /* Install the Interrupt handler */
-    if (request_irq(IRQ_AMIGA_PORTS, apne_interrupt, SA_SHIRQ,
-		    "apne Ethernet", dev))
-        return -EAGAIN;
-
+    i = request_irq(IRQ_AMIGA_PORTS, apne_interrupt, SA_SHIRQ, dev->name, dev);
+    if (i) return i;
 
     /* Allocate dev->priv and fill in 8390 specific dev fields. */
     if (ethdev_init(dev)) {
@@ -301,8 +301,7 @@
 	dev->dev_addr[i] = SA_prom[i];
     }
 
-    printk("\n%s: %s found.\n",
-	   dev->name, name);
+    printk("\n%s: %s found.\n", dev->name, name);
 
     ei_status.name = name;
     ei_status.tx_start_page = start_page;
@@ -332,7 +331,6 @@
 apne_open(struct net_device *dev)
 {
     ei_open(dev);
-    MOD_INC_USE_COUNT;
     return 0;
 }
 
@@ -342,7 +340,6 @@
     if (ei_debug > 1)
 	printk("%s: Shutting down ethercard.\n", dev->name);
     ei_close(dev);
-    MOD_DEC_USE_COUNT;
     return 0;
 }
 
@@ -550,19 +547,16 @@
 }
 
 #ifdef MODULE
-static struct net_device apne_dev = { init: apne_probe };
+static struct net_device apne_dev;
 
 int init_module(void)
 {
 	int err;
 
-	if (load_8390_module("apne.c"))
-		return -ENOSYS;
-
+	apne_dev.init = apne_probe;
 	if ((err = register_netdev(&apne_dev))) {
 		if (err == -EIO)
 			printk("No PCMCIA NEx000 ethernet card found.\n");
-		unload_8390_module();
 		return (err);
 	}
 	return (0);
@@ -577,8 +571,6 @@
 	free_irq(IRQ_AMIGA_PORTS, &apne_dev);
 
 	pcmcia_reset();
-
-	unload_8390_module();
 
 	apne_owned = 0;
 }

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)