netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ibmtr - get rid of MOD_INC/DEC
@ 2003-08-14  0:46 Stephen Hemminger
  2003-08-15  3:57 ` David S. Miller
  0 siblings, 1 reply; 4+ messages in thread
From: Stephen Hemminger @ 2003-08-14  0:46 UTC (permalink / raw)
  To: Mike Phillips, David S. Miller; +Cc: linux-tr, netdev

With the new module system MOD_INC/MOD_DEC are no longer necessary.
Also changed to new module init/exit macros for function setup.

The module exit code can sleep, so calling schedule_timeout is better
than spinning.

Don't have real hardware, so I tested it by short circuiting the probe().

diff -Nru a/drivers/net/tokenring/ibmtr.c b/drivers/net/tokenring/ibmtr.c
--- a/drivers/net/tokenring/ibmtr.c	Wed Aug 13 17:44:49 2003
+++ b/drivers/net/tokenring/ibmtr.c	Wed Aug 13 17:44:49 2003
@@ -876,7 +876,6 @@
 		if (i==0) break;
 		if (ti->open_status == OPEN && ti->sap_status==OPEN) {
 			netif_start_queue(dev);
-			MOD_INC_USE_COUNT;
 			DPRINTK("Adapter is up and running\n");
 			return 0;
 		}
@@ -1041,7 +1040,6 @@
 
 	netif_stop_queue(dev);
 	DPRINTK("Adapter is closed.\n");
-	MOD_DEC_USE_COUNT;
 	return 0;
 }
 
@@ -1918,7 +1916,7 @@
 MODULE_PARM(irq, "1-" __MODULE_STRING(IBMTR_MAX_ADAPTERS) "i");
 MODULE_PARM(mem, "1-" __MODULE_STRING(IBMTR_MAX_ADAPTERS) "i");
 
-int init_module(void)
+static int __init ibmtr_init(void)
 {
 	int i;
 	int count=0;
@@ -1948,21 +1946,24 @@
 	if (count) return 0;
 	printk("ibmtr: register_netdev() returned non-zero.\n");
 	return -EIO;
-}				/*init_module */
+}
+module_init(ibmtr_init);
 
-void cleanup_module(void)
+static void __exit ibmtr_cleanup(void)
 {
-	int i,j;
+	int i;
 
 	for (i = 0; i < IBMTR_MAX_ADAPTERS; i++){
 		if (!dev_ibmtr[i])
 			continue;
 		if (dev_ibmtr[i]->base_addr) {
 			outb(0,dev_ibmtr[i]->base_addr+ADAPTRESET);
-			for(j=jiffies+TR_RST_TIME;
-				time_before_eq(jiffies,j);) ;
+			
+			schedule_timeout(TR_RST_TIME); /* wait 50ms */
+
                         outb(0,dev_ibmtr[i]->base_addr+ADAPTRESETREL);
                 }
+
 		unregister_netdev(dev_ibmtr[i]);
 		free_irq(dev_ibmtr[i]->irq, dev_ibmtr[i]);
 		release_region(dev_ibmtr[i]->base_addr, IBMTR_IO_EXTENT);
@@ -1978,4 +1979,5 @@
 		dev_ibmtr[i] = NULL;
 	}
 }
-#endif				/* MODULE */
+module_exit(ibmtr_cleanup);
+#endif

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2003-08-16 14:38 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-08-14  0:46 [PATCH] ibmtr - get rid of MOD_INC/DEC Stephen Hemminger
2003-08-15  3:57 ` David S. Miller
2003-08-15 13:30   ` Jeff Garzik
2003-08-16 14:38     ` David S. Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).