patch-2.4.0-test12 linux/drivers/net/ibmlana.c

Next file: linux/drivers/net/ioc3-eth.c
Previous file: linux/drivers/net/hplance.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test11/linux/drivers/net/ibmlana.c linux/drivers/net/ibmlana.c
@@ -87,9 +87,7 @@
 #include <asm/bitops.h>
 #include <asm/io.h>
 
-#ifdef MODULE
 #include <linux/module.h>
-#endif
 
 #include <linux/netdevice.h>
 #include <linux/etherdevice.h>
@@ -877,9 +875,6 @@
 	dev->interrupt = 0;
 	dev->tbusy = 0;
 	dev->start = 1;
-#endif
-
-#ifdef MODULE
 	MOD_INC_USE_COUNT;
 #endif
 
@@ -897,7 +892,7 @@
 		free_irq(dev->irq, dev);
 	dev->irq = 0;
 
-#ifdef MODULE
+#if (LINUX_VERSION_CODE < 0x02032a)
 	MOD_DEC_USE_COUNT;
 #endif
 
@@ -1043,6 +1038,10 @@
 	ibmlana_priv *priv;
 	ibmlana_medium medium;
 
+#if (LINUX_VERSION_CODE >= 0x02032a)
+	SET_MODULE_OWNER(dev);
+#endif
+
 	/* can't work without an MCA bus ;-) */
 
 	if (MCA_bus == 0)
@@ -1192,14 +1191,11 @@
 
 #define DEVMAX 5
 
-static struct IBMLANA_NETDEV moddevs[DEVMAX] = {
-	{ init: ibmlana_probe }, { init: ibmlana_probe }, 
-	{ init: ibmlana_probe }, { init: ibmlana_probe },
-	{ init: ibmlana_probe }
-};
-
-int irq = 0;
-int io = 0;
+static struct IBMLANA_NETDEV moddevs[DEVMAX];
+static int irq;
+static int io;
+MODULE_PARM(irq, "i");
+MODULE_PARM(io, "i");
 
 int init_module(void)
 {
@@ -1207,7 +1203,9 @@
 
 	startslot = 0;
 	for (z = 0; z < DEVMAX; z++) {
-		strcpy(moddevs[z].name, "     ");
+		moddevs[z].init = ibmlana_probe;
+		moddevs[z].irq = irq;
+		moddevs[z].base_addr = io;
 		res = register_netdev(moddevs + z);
 		if (res != 0)
 			return (z > 0) ? 0 : -EIO;

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