From: Krzysztof Halasa 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 . 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 . 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 . 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; _