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

Next file: linux/drivers/net/de620.c
Previous file: linux/drivers/net/de4x5.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test10/linux/drivers/net/de600.c linux/drivers/net/de600.c
@@ -342,15 +342,14 @@
 static int
 de600_open(struct net_device *dev)
 {
-	if (request_irq(DE600_IRQ, de600_interrupt, 0, "de600", dev)) {
+	int ret = request_irq(DE600_IRQ, de600_interrupt, 0, dev->name, dev);
+	if (ret) {
 		printk ("%s: unable to get IRQ %d\n", dev->name, DE600_IRQ);
-		return 1;
+		return ret;
 	}
 
-	MOD_INC_USE_COUNT;
-	if (adapter_init(dev)) {
-		return 1;
-	}
+	if (adapter_init(dev))
+		return -EIO;
 
 	return 0;
 }
@@ -370,7 +369,6 @@
 
 	if (netif_running(dev)) { /* perhaps not needed? */
 		free_irq(DE600_IRQ, dev);
-		MOD_DEC_USE_COUNT;
 	}
 	return 0;
 }
@@ -637,6 +635,8 @@
 	static struct net_device_stats de600_netstats;
 	/*dev->priv = kmalloc(sizeof(struct net_device_stats), GFP_KERNEL);*/
 
+	SET_MODULE_OWNER(dev);
+
 	printk("%s: D-Link DE-600 pocket adapter", dev->name);
 	/* Alpha testers must have the version number to report bugs. */
 	if (de600_debug > 1)
@@ -819,12 +819,12 @@
 #endif
 
 #ifdef MODULE
-static struct net_device de600_dev = {
-	"", 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, de600_probe };
+static struct net_device de600_dev;
 
 int
 init_module(void)
 {
+	de600_dev.init = de600_probe;
 	if (register_netdev(&de600_dev) != 0)
 		return -EIO;
 	return 0;

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