From: Krzysztof Halasa <khc@pm.waw.pl>

Updates the HDLC drivers to te approved module API.


 25-akpm/drivers/net/wan/Kconfig |    8 ++++----
 25-akpm/drivers/net/wan/c101.c  |    9 ++-------
 25-akpm/drivers/net/wan/n2.c    |   10 ++--------
 3 files changed, 8 insertions(+), 19 deletions(-)

diff -puN drivers/net/wan/c101.c~hdlc-module-update drivers/net/wan/c101.c
--- 25/drivers/net/wan/c101.c~hdlc-module-update	Fri Apr 25 15:23:24 2003
+++ 25-akpm/drivers/net/wan/c101.c	Fri Apr 25 15:24:47 2003
@@ -157,14 +157,9 @@ static int c101_open(struct net_device *
 	port_t *port = hdlc_to_port(hdlc);
 	int result;
 
-	if (!try_module_get(THIS_MODULE))
-		return -EFAULT;	/* rmmod in progress */
-
 	result = hdlc_open(hdlc);
-	if (result) {
+	if (result)
 		return result;
-		module_put(THIS_MODULE);
-	}
 
 	writeb(1, port->win0base + C101_DTR);
 	sca_out(0, MSCI1_OFFSET + CTL, port); /* RTS uses ch#2 output */
@@ -183,7 +178,6 @@ static int c101_close(struct net_device 
 	writeb(0, port->win0base + C101_DTR);
 	sca_out(CTL_NORTS, MSCI1_OFFSET + CTL, port);
 	hdlc_close(hdlc);
-	module_put(THIS_MODULE);
 	return 0;
 }
 
@@ -319,6 +313,7 @@ static int __init c101_run(unsigned long
 	dev = hdlc_to_dev(&card->hdlc);
 
 	spin_lock_init(&card->lock);
+	SET_MODULE_OWNER(dev);
 	dev->irq = irq;
 	dev->mem_start = winbase;
 	dev->mem_end = winbase + C101_MAPPED_RAM_SIZE - 1;
diff -puN drivers/net/wan/Kconfig~hdlc-module-update drivers/net/wan/Kconfig
--- 25/drivers/net/wan/Kconfig~hdlc-module-update	Fri Apr 25 15:23:24 2003
+++ 25-akpm/drivers/net/wan/Kconfig	Fri Apr 25 15:23:24 2003
@@ -255,8 +255,8 @@ config HDLC
 
  	  If you want to compile the driver as a module ( = code which can be
 	  inserted in and removed from the running kernel whenever you want),
-	  say M here and read Documentation/modules.txt.  The module
-	  will be called hdlc.o.
+	  say M here and read <file:Documentation/modules.txt>.  The module
+	  will be called hdlc.
 
 	  If unsure, say N here.
 
@@ -363,7 +363,7 @@ config N2
 	  If you want to compile the driver as a module ( = code which can be
 	  inserted in and removed from the running kernel whenever you want),
 	  say M here and read <file:Documentation/modules.txt>.  The module
-	  will be called n2.o.
+	  will be called n2.
 
 	  If unsure, say N here.
 
@@ -378,7 +378,7 @@ config C101
 	  If you want to compile the driver as a module ( = code which can be
 	  inserted in and removed from the running kernel whenever you want),
 	  say M here and read <file:Documentation/modules.txt>.  The module
-	  will be called c101.o.
+	  will be called c101.
 
 	  If unsure, say N here.
 
diff -puN drivers/net/wan/n2.c~hdlc-module-update drivers/net/wan/n2.c
--- 25/drivers/net/wan/n2.c~hdlc-module-update	Fri Apr 25 15:23:24 2003
+++ 25-akpm/drivers/net/wan/n2.c	Fri Apr 25 15:24:15 2003
@@ -218,15 +218,9 @@ static int n2_open(struct net_device *de
 	u8 mcr = inb(io + N2_MCR) | (port->phy_node ? TX422_PORT1:TX422_PORT0);
 	int result;
 
-
-	if (!try_module_get(THIS_MODULE))
-		return -EFAULT;	/* rmmod in progress */
-
 	result = hdlc_open(hdlc);
-	if (result) {
+	if (result)
 		return result;
-		module_put(THIS_MODULE);
-	}
 
 	mcr &= port->phy_node ? ~DTR_PORT1 : ~DTR_PORT0; /* set DTR ON */
 	outb(mcr, io + N2_MCR);
@@ -251,7 +245,6 @@ static int n2_close(struct net_device *d
 	mcr |= port->phy_node ? DTR_PORT1 : DTR_PORT0; /* set DTR OFF */
 	outb(mcr, io + N2_MCR);
 	hdlc_close(hdlc);
-	module_put(THIS_MODULE);
 	return 0;
 }
 
@@ -451,6 +444,7 @@ static int __init n2_run(unsigned long i
 			port->log_node = 1;
 
 		spin_lock_init(&port->lock);
+		SET_MODULE_OWNER(dev);
 		dev->irq = irq;
 		dev->mem_start = winbase;
 		dev->mem_end = winbase + USE_WINDOWSIZE-1;

_