linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [BK PATCH] TTY changes for 2.5.69
@ 2003-05-07 23:15 Greg KH
  2003-05-07 23:16 ` [PATCH] " Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:15 UTC (permalink / raw)
  To: torvalds; +Cc: linux-kernel, hannal

Here are some TTY changesets that do two different things TTY related
things:
 - fix the MOD_DEC/MOD_INC warnings for a number of tty drivers.  These
   patches were previously sent to the Trivial Patch Monkey, but seem to
   have disappeared in its bowels somewhere, never to be seen again.
   These are the majority of the changes (25 different patches), and
   were all written by Hanna Linder.

 - Make the tty class code actually work.  With these changes, the
   /sys/class/tty directory shows all current tty devices, along with
   their device numbers, and a link to their device in the sysfs tree,
   if it has a physical location in that tree.  Yeah, the implementation
   of yet another list of devices within the tty core isn't the nicest,
   but until the tty layer switches over to having tty devices in memory
   before they are opened (like all other device subsystems), this is
   necessary.  For 2.7, this extra list will go away.
  
Please pull from:
        bk://kernel.bkbits.net/gregkh/linux/tty-2.5

Patches will be posted as a followup to lkml.

thanks,

greg k-h


 arch/mips/au1000/common/serial.c |    8 +-
 drivers/char/amiserial.c         |    7 -
 drivers/char/cyclades.c          |    8 --
 drivers/char/dz.c                |    5 -
 drivers/char/esp.c               |    9 --
 drivers/char/hvc_console.c       |    3 
 drivers/char/ip2main.c           |    9 --
 drivers/char/isicom.c            |    8 --
 drivers/char/istallion.c         |   10 --
 drivers/char/moxa.c              |   12 ---
 drivers/char/mxser.c             |   19 +----
 drivers/char/pcxx.c              |    6 -
 drivers/char/rio/rio_linux.c     |   26 ------
 drivers/char/rio/rio_linux.h     |    3 
 drivers/char/rio/riotty.c        |    5 -
 drivers/char/riscom8.c           |    8 --
 drivers/char/rocket.c            |   10 --
 drivers/char/ser_a2232.c         |    7 -
 drivers/char/serial167.c         |    1 
 drivers/char/serial_tx3912.c     |   35 ---------
 drivers/char/sh-sci.c            |   22 -----
 drivers/char/specialix.c         |    8 --
 drivers/char/stallion.c          |   28 +------
 drivers/char/tty_io.c            |  146 ++++++++++++++++++++++++++++++++-------
 drivers/char/vme_scc.c           |    7 -
 drivers/char/vt.c                |    2 
 drivers/isdn/capi/capi.c         |    8 --
 drivers/macintosh/macserial.c    |    7 -
 drivers/serial/core.c            |    2 
 drivers/sgi/char/sgiserial.c     |    1 
 drivers/tc/zs.c                  |    5 -
 drivers/usb/class/bluetty.c      |    2 
 drivers/usb/class/cdc-acm.c      |    2 
 drivers/usb/serial/bus.c         |   17 ----
 include/linux/tty.h              |    3 
 35 files changed, 179 insertions(+), 280 deletions(-)
-----

Greg Kroah-Hartman:
  o TTY: remove usb-serial sysfs dev file as it is now redundant
  o TTY: changes based on tty_register_device() paramater change
  o TTY: add tty class support for all tty devices

Hanna V. Linder:
  o vme_scc tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
  o isdn/capi  tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
  o macintosh/macserial  tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
  o amiserial tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
  o cyclades tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
  o dz tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
  o hvc_console tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
  o esp  tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
  o isicom tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
  o ip2main tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
  o moxa tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
  o istallion  tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
  o mxser tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
  o pcxx tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
  o riscom8 tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
  o rio  tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
  o sgi/char/sgiserial tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
  o rocket tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
  o serial167 tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
  o ser_a2232 tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
  o sh-sci tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
  o serial_tx3912  tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
  o stallion tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
  o specialix tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
  o tc_zs tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16 ` [PATCH] " Greg KH
@ 2003-05-07 23:16   ` Greg KH
  2003-05-07 23:16     ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1091, 2003/05/07 14:58:22-07:00, hannal@us.ibm.com

[PATCH] specialix tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT


 drivers/char/specialix.c |    8 ++------
 1 files changed, 2 insertions(+), 6 deletions(-)


diff -Nru a/drivers/char/specialix.c b/drivers/char/specialix.c
--- a/drivers/char/specialix.c	Wed May  7 16:01:49 2003
+++ b/drivers/char/specialix.c	Wed May  7 16:01:49 2003
@@ -833,9 +833,7 @@
 #ifdef SPECIALIX_DEBUG
 			printk ( "Sending HUP.\n");
 #endif
-			MOD_INC_USE_COUNT;
-			if (schedule_task(&port->tqueue_hangup) == 0)
-				MOD_DEC_USE_COUNT;
+			schedule_task(&port->tqueue_hangup);
 		} else {
 #ifdef SPECIALIX_DEBUG
 			printk ( "Don't need to send HUP.\n");
@@ -980,7 +978,6 @@
 	turn_ints_on (bp);
 	bp->flags |= SX_BOARD_ACTIVE;
 
-	MOD_INC_USE_COUNT;
 	return 0;
 }
 
@@ -1000,7 +997,6 @@
 
 	turn_ints_off (bp);
 
-	MOD_DEC_USE_COUNT;
 }
 
 
@@ -2150,7 +2146,6 @@
 	tty = port->tty;
 	if (tty)
 		tty_hangup(tty);	/* FIXME: module removal race here */
-	MOD_DEC_USE_COUNT;
 }
 
 
@@ -2233,6 +2228,7 @@
 	init_bh(SPECIALIX_BH, do_specialix_bh);
 	memset(&specialix_driver, 0, sizeof(specialix_driver));
 	specialix_driver.magic = TTY_DRIVER_MAGIC;
+	specialix_driver.owner = THIS_MODULE;
 	specialix_driver.name = "ttyW";
 	specialix_driver.major = SPECIALIX_NORMAL_MAJOR;
 	specialix_driver.num = SX_NBOARD * SX_NPORT;


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16         ` Greg KH
@ 2003-05-07 23:16           ` Greg KH
  2003-05-07 23:16             ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1095, 2003/05/07 14:59:02-07:00, hannal@us.ibm.com

[PATCH] ser_a2232 tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT


 drivers/char/ser_a2232.c |    7 +------
 1 files changed, 1 insertion(+), 6 deletions(-)


diff -Nru a/drivers/char/ser_a2232.c b/drivers/char/ser_a2232.c
--- a/drivers/char/ser_a2232.c	Wed May  7 16:01:31 2003
+++ b/drivers/char/ser_a2232.c	Wed May  7 16:01:31 2003
@@ -272,7 +272,6 @@
 		not in "a2232_close()". See the comment in "sx.c", too.
 		If you run into problems, compile this driver into the
 		kernel instead of compiling it as a module. */
-	MOD_DEC_USE_COUNT;
 }
 
 static int  a2232_set_real_termios(void *ptr)
@@ -414,7 +413,6 @@
 	a2232_disable_tx_interrupts(ptr);
 	a2232_disable_rx_interrupts(ptr);
 	/* see the comment in a2232_shutdown_port above. */
-	/* MOD_DEC_USE_COUNT; */
 }
 
 static void a2232_hungup(void *ptr)
@@ -468,13 +466,9 @@
 		return retval;
 	}
 	port->gs.flags |= GS_ACTIVE;
-	if (port->gs.count == 1) {
-		MOD_INC_USE_COUNT;
-	}
 	retval = gs_block_til_ready(port, filp);
 
 	if (retval) {
-		MOD_DEC_USE_COUNT;
 		port->gs.count--;
 		return retval;
 	}
@@ -711,6 +705,7 @@
 
 	memset(&a2232_driver, 0, sizeof(a2232_driver));
 	a2232_driver.magic = TTY_DRIVER_MAGIC;
+	a2232_driver.owner = THIS_MODULE;
 	a2232_driver.driver_name = "commodore_a2232";
 	a2232_driver.name = "ttyY";
 	a2232_driver.major = A2232_NORMAL_MAJOR;


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16               ` Greg KH
@ 2003-05-07 23:16                 ` Greg KH
  2003-05-07 23:16                   ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1098, 2003/05/07 14:59:32-07:00, hannal@us.ibm.com

[PATCH] sgi/char/sgiserial tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT


 drivers/sgi/char/sgiserial.c |    1 +
 1 files changed, 1 insertion(+)


diff -Nru a/drivers/sgi/char/sgiserial.c b/drivers/sgi/char/sgiserial.c
--- a/drivers/sgi/char/sgiserial.c	Wed May  7 16:01:18 2003
+++ b/drivers/sgi/char/sgiserial.c	Wed May  7 16:01:18 2003
@@ -1867,6 +1867,7 @@
 	
 	memset(&serial_driver, 0, sizeof(struct tty_driver));
 	serial_driver.magic = TTY_DRIVER_MAGIC;
+	serial_driver.owner = THIS_MODULE;
 	serial_driver.name = "ttyS";
 	serial_driver.major = TTY_MAJOR;
 	serial_driver.minor_start = 64;


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16   ` Greg KH
@ 2003-05-07 23:16     ` Greg KH
  2003-05-07 23:16       ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1092, 2003/05/07 14:58:32-07:00, hannal@us.ibm.com

[PATCH] stallion tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT


 drivers/char/stallion.c |   28 +++++++---------------------
 1 files changed, 7 insertions(+), 21 deletions(-)


diff -Nru a/drivers/char/stallion.c b/drivers/char/stallion.c
--- a/drivers/char/stallion.c	Wed May  7 16:01:44 2003
+++ b/drivers/char/stallion.c	Wed May  7 16:01:44 2003
@@ -1044,8 +1044,6 @@
 	if (portp == (stlport_t *) NULL)
 		return(-ENODEV);
 
-	MOD_INC_USE_COUNT;
-
 /*
  *	On the first open of the device setup the port hardware, and
  *	initialize the per port data structure.
@@ -1207,14 +1205,12 @@
 	save_flags(flags);
 	cli();
 	if (tty_hung_up_p(filp)) {
-		MOD_DEC_USE_COUNT;
 		restore_flags(flags);
 		return;
 	}
 	if ((tty->count == 1) && (portp->refcount != 1))
 		portp->refcount = 1;
 	if (portp->refcount-- > 1) {
-		MOD_DEC_USE_COUNT;
 		restore_flags(flags);
 		return;
 	}
@@ -1267,7 +1263,6 @@
 	portp->flags &= ~(ASYNC_CALLOUT_ACTIVE | ASYNC_NORMAL_ACTIVE |
 		ASYNC_CLOSING);
 	wake_up_interruptible(&portp->close_wait);
-	MOD_DEC_USE_COUNT;
 	restore_flags(flags);
 }
 
@@ -2241,11 +2236,11 @@
 #endif
 
 	if (portp == (stlport_t *) NULL)
-		goto out;
+		return;
 
 	tty = portp->tty;
 	if (tty == (struct tty_struct *) NULL)
-		goto out;
+		return;
 
 	lock_kernel();
 	if (test_bit(ASYI_TXLOW, &portp->istate)) {
@@ -2270,8 +2265,6 @@
 		}
 	}
 	unlock_kernel();
-out:
-	MOD_DEC_USE_COUNT;
 }
 
 /*****************************************************************************/
@@ -3231,6 +3224,7 @@
  */
 	memset(&stl_serial, 0, sizeof(struct tty_driver));
 	stl_serial.magic = TTY_DRIVER_MAGIC;
+	stl_serial.owner = THIS_MODULE;
 	stl_serial.driver_name = stl_drvname;
 	stl_serial.name = stl_serialname;
 	stl_serial.major = STL_SERIALMAJOR;
@@ -4136,9 +4130,7 @@
 	if ((len == 0) || ((len < STL_TXBUFLOW) &&
 	    (test_bit(ASYI_TXLOW, &portp->istate) == 0))) {
 		set_bit(ASYI_TXLOW, &portp->istate);
-		MOD_INC_USE_COUNT;
-		if (schedule_work(&portp->tqueue) == 0)
-			MOD_DEC_USE_COUNT;
+		schedule_work(&portp->tqueue);
 	}
 
 	if (len == 0) {
@@ -4318,9 +4310,7 @@
 	misr = inb(ioaddr + EREG_DATA);
 	if (misr & MISR_DCD) {
 		set_bit(ASYI_DCDCHANGE, &portp->istate);
-		MOD_INC_USE_COUNT;
-		if (schedule_task(&portp->tqueue) == 0)
-			MOD_DEC_USE_COUNT;
+		schedule_task(&portp->tqueue);
 		portp->stats.modem++;
 	}
 
@@ -5117,9 +5107,7 @@
 	if ((len == 0) || ((len < STL_TXBUFLOW) &&
 	    (test_bit(ASYI_TXLOW, &portp->istate) == 0))) {
 		set_bit(ASYI_TXLOW, &portp->istate);
-		MOD_INC_USE_COUNT;
-		if (schedule_task(&portp->tqueue) == 0)
-			MOD_DEC_USE_COUNT;
+		schedule_task(&portp->tqueue); 
 	}
 
 	if (len == 0) {
@@ -5336,9 +5324,7 @@
 		ipr = stl_sc26198getreg(portp, IPR);
 		if (ipr & IPR_DCDCHANGE) {
 			set_bit(ASYI_DCDCHANGE, &portp->istate);
-			MOD_INC_USE_COUNT;
-			if (schedule_task(&portp->tqueue) == 0)
-				MOD_DEC_USE_COUNT;
+			schedule_task(&portp->tqueue); 
 			portp->stats.modem++;
 		}
 		break;


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16             ` Greg KH
@ 2003-05-07 23:16               ` Greg KH
  2003-05-07 23:16                 ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1097, 2003/05/07 14:59:22-07:00, hannal@us.ibm.com

[PATCH] rocket tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT


 drivers/char/rocket.c |   10 +---------
 1 files changed, 1 insertion(+), 9 deletions(-)


diff -Nru a/drivers/char/rocket.c b/drivers/char/rocket.c
--- a/drivers/char/rocket.c	Wed May  7 16:01:23 2003
+++ b/drivers/char/rocket.c	Wed May  7 16:01:23 2003
@@ -874,9 +874,6 @@
 	}
 
 	if (info->count++ == 0) {
-#ifdef MODULE
-		MOD_INC_USE_COUNT;
-#endif
 		rp_num_ports_open++;
 #ifdef ROCKET_DEBUG_OPEN
 		printk("rocket mod++ = %d...", rp_num_ports_open);
@@ -1071,9 +1068,6 @@
 	tty->closing = 0;
 	wake_up_interruptible(&info->close_wait);
 	
-#ifdef MODULE
-	MOD_DEC_USE_COUNT;
-#endif
 	rp_num_ports_open--;
 #ifdef ROCKET_DEBUG_OPEN
 	printk("rocket mod-- = %d...", rp_num_ports_open);
@@ -1504,9 +1498,6 @@
 		return;
 	}
 	if (info->count) {
-#ifdef MODULE
-		MOD_DEC_USE_COUNT;
-#endif
 		rp_num_ports_open--;
 	}
 	
@@ -2012,6 +2003,7 @@
 	 */
 	memset(&rocket_driver, 0, sizeof(struct tty_driver));
 	rocket_driver.magic = TTY_DRIVER_MAGIC;
+	rocket_driver.owner = THIS_MODULE;
 #ifdef CONFIG_DEVFS_FS
 	rocket_driver.name = "tts/R";
 #else


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16     ` Greg KH
@ 2003-05-07 23:16       ` Greg KH
  2003-05-07 23:16         ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1093, 2003/05/07 14:58:42-07:00, hannal@us.ibm.com

[PATCH] serial_tx3912  tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT


 drivers/char/serial_tx3912.c |   35 +----------------------------------
 1 files changed, 1 insertion(+), 34 deletions(-)


diff -Nru a/drivers/char/serial_tx3912.c b/drivers/char/serial_tx3912.c
--- a/drivers/char/serial_tx3912.c	Wed May  7 16:01:40 2003
+++ b/drivers/char/serial_tx3912.c	Wed May  7 16:01:40 2003
@@ -41,8 +41,6 @@
 static void rs_shutdown_port (void * ptr); 
 static int rs_set_real_termios (void *ptr);
 static int rs_chars_in_buffer (void * ptr); 
-static void rs_hungup (void *ptr);
-static void rs_close (void *ptr);
 
 /*
  * Used by generic serial driver to access hardware
@@ -56,8 +54,6 @@
 	.shutdown_port         = rs_shutdown_port,  
 	.set_real_termios      = rs_set_real_termios,  
 	.chars_in_buffer       = rs_chars_in_buffer, 
-	.close                 = rs_close, 
-	.hungup                = rs_hungup,
 }; 
 
 /*
@@ -579,9 +575,6 @@
 
 	rs_dprintk (TX3912_UART_DEBUG_OPEN, "before inc_use_count (count=%d.\n", 
 	            port->gs.count);
-	if (port->gs.count == 1) {
-		MOD_INC_USE_COUNT;
-	}
 	rs_dprintk (TX3912_UART_DEBUG_OPEN, "after inc_use_count\n");
 
 	/* Jim: Initialize port hardware here */
@@ -595,7 +588,6 @@
 	            retval, port->gs.count);
 
 	if (retval) {
-		MOD_DEC_USE_COUNT;
 		port->gs.count--;
 		return retval;
 	}
@@ -621,32 +613,6 @@
 }
 
 
-
-static void rs_close (void *ptr)
-{
-	func_enter ();
-
-	/* Anything to do here? */
-
-	MOD_DEC_USE_COUNT;
-	func_exit ();
-}
-
-
-/* I haven't the foggiest why the decrement use count has to happen
-   here. The whole linux serial drivers stuff needs to be redesigned.
-   My guess is that this is a hack to minimize the impact of a bug
-   elsewhere. Thinking about it some more. (try it sometime) Try
-   running minicom on a serial port that is driven by a modularized
-   driver. Have the modem hangup. Then remove the driver module. Then
-   exit minicom.  I expect an "oops".  -- REW */
-static void rs_hungup (void *ptr)
-{
-	func_enter ();
-	MOD_DEC_USE_COUNT;
-	func_exit ();
-}
-
 static int rs_ioctl (struct tty_struct * tty, struct file * filp, 
                      unsigned int cmd, unsigned long arg)
 {
@@ -839,6 +805,7 @@
 
 	memset(&rs_driver, 0, sizeof(rs_driver));
 	rs_driver.magic = TTY_DRIVER_MAGIC;
+	rs_driver.owner = THIS_MODULE;
 	rs_driver.driver_name = "serial";
 	rs_driver.name = "ttyS";
 	rs_driver.major = TTY_MAJOR;


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16           ` Greg KH
@ 2003-05-07 23:16             ` Greg KH
  2003-05-07 23:16               ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1096, 2003/05/07 14:59:12-07:00, hannal@us.ibm.com

[PATCH] serial167 tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT


 drivers/char/serial167.c |    1 +
 1 files changed, 1 insertion(+)


diff -Nru a/drivers/char/serial167.c b/drivers/char/serial167.c
--- a/drivers/char/serial167.c	Wed May  7 16:01:27 2003
+++ b/drivers/char/serial167.c	Wed May  7 16:01:27 2003
@@ -2395,6 +2395,7 @@
     
     memset(&cy_serial_driver, 0, sizeof(struct tty_driver));
     cy_serial_driver.magic = TTY_DRIVER_MAGIC;
+    cy_serial_driver.owner = THIS_MODULE;
 #ifdef CONFIG_DEVFS_FS
     cy_serial_driver.name = "tts/";
 #else


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16       ` Greg KH
@ 2003-05-07 23:16         ` Greg KH
  2003-05-07 23:16           ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1094, 2003/05/07 14:58:52-07:00, hannal@us.ibm.com

[PATCH] sh-sci tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT


 drivers/char/sh-sci.c |   22 +---------------------
 1 files changed, 1 insertion(+), 21 deletions(-)


diff -Nru a/drivers/char/sh-sci.c b/drivers/char/sh-sci.c
--- a/drivers/char/sh-sci.c	Wed May  7 16:01:36 2003
+++ b/drivers/char/sh-sci.c	Wed May  7 16:01:36 2003
@@ -71,8 +71,6 @@
 static int  sci_get_CD(void *ptr);
 static void sci_shutdown_port(void *ptr);
 static int sci_set_real_termios(void *ptr);
-static void sci_hungup(void *ptr);
-static void sci_close(void *ptr);
 static int sci_chars_in_buffer(void *ptr);
 static int sci_request_irq(struct sci_port *port);
 static void sci_free_irq(struct sci_port *port);
@@ -216,8 +214,6 @@
 	sci_shutdown_port,
 	sci_set_real_termios,
 	sci_chars_in_buffer,
-	sci_close,
-	sci_hungup,
 	NULL
 };
 
@@ -838,12 +834,7 @@
 	sci_setsignals(port, 1,1);
 
 	if (port->gs.count == 1) {
-		MOD_INC_USE_COUNT;
-
 		retval = sci_request_irq(port);
-		if (retval) {
-			goto failed_2;
-		}
 	}
 
 	retval = gs_block_til_ready(port, filp);
@@ -878,23 +869,11 @@
 
 failed_3:
 	sci_free_irq(port);
-failed_2:
-	MOD_DEC_USE_COUNT;
 failed_1:
 	port->gs.count--;
 	return retval;
 }
 
-static void sci_hungup(void *ptr)
-{
-	MOD_DEC_USE_COUNT;
-}
-
-static void sci_close(void *ptr)
-{
-	MOD_DEC_USE_COUNT;
-}
-
 static int sci_ioctl(struct tty_struct * tty, struct file * filp, 
                      unsigned int cmd, unsigned long arg)
 {
@@ -1019,6 +998,7 @@
 
 	memset(&sci_driver, 0, sizeof(sci_driver));
 	sci_driver.magic = TTY_DRIVER_MAGIC;
+	sci_driver.owner = THIS_MODULE;
 	sci_driver.driver_name = "sci";
 #ifdef CONFIG_DEVFS_FS
 	sci_driver.name = "ttsc/";


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

* [PATCH] TTY changes for 2.5.69
  2003-05-07 23:15 [BK PATCH] TTY changes for 2.5.69 Greg KH
@ 2003-05-07 23:16 ` Greg KH
  2003-05-07 23:16   ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1090, 2003/05/07 14:58:12-07:00, hannal@us.ibm.com

[PATCH] tc_zs tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT


 drivers/tc/zs.c |    1 +
 1 files changed, 1 insertion(+)


diff -Nru a/drivers/tc/zs.c b/drivers/tc/zs.c
--- a/drivers/tc/zs.c	Wed May  7 16:01:53 2003
+++ b/drivers/tc/zs.c	Wed May  7 16:01:53 2003
@@ -1872,6 +1872,7 @@
 
 	memset(&serial_driver, 0, sizeof(struct tty_driver));
 	serial_driver.magic = TTY_DRIVER_MAGIC;
+	serial_driver.owner = THIS_MODULE;
 #if (LINUX_VERSION_CODE > 0x2032D && defined(CONFIG_DEVFS_FS))
 	serial_driver.name = "tts/";
 #else


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16                 ` Greg KH
@ 2003-05-07 23:16                   ` Greg KH
  2003-05-07 23:16                     ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1099, 2003/05/07 14:59:42-07:00, hannal@us.ibm.com

[PATCH] rio  tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT


 drivers/char/rio/rio_linux.c |   26 +-------------------------
 drivers/char/rio/rio_linux.h |    3 ---
 drivers/char/rio/riotty.c    |    5 -----
 3 files changed, 1 insertion(+), 33 deletions(-)


diff -Nru a/drivers/char/rio/rio_linux.c b/drivers/char/rio/rio_linux.c
--- a/drivers/char/rio/rio_linux.c	Wed May  7 16:01:14 2003
+++ b/drivers/char/rio/rio_linux.c	Wed May  7 16:01:14 2003
@@ -389,29 +389,6 @@
   udelay (usecs);
 }
 
-
-void rio_inc_mod_count (void)
-{
-#ifdef MODULE
-  func_enter ();
-  rio_dprintk (RIO_DEBUG_MOD_COUNT, "rio_inc_mod_count\n");
-  MOD_INC_USE_COUNT; 
-  func_exit ();
-#endif
-}
-
-
-void rio_dec_mod_count (void)
-{
-#ifdef MODULE
-  func_enter ();
-  rio_dprintk (RIO_DEBUG_MOD_COUNT, "rio_dec_mod_count\n");
-  MOD_DEC_USE_COUNT; 
-  func_exit ();
-#endif
-}
-
-
 static int rio_set_real_termios (void *ptr)
 {
   int rv, modem;
@@ -660,7 +637,6 @@
   
   PortP = (struct Port *)ptr;
   PortP->gs.tty = NULL;
-  rio_dec_mod_count (); 
 
   func_exit ();
 }
@@ -686,7 +662,6 @@
   }                
 
   PortP->gs.tty = NULL;
-  rio_dec_mod_count ();
   func_exit ();
 }
 
@@ -908,6 +883,7 @@
 
   memset(&rio_driver, 0, sizeof(rio_driver));
   rio_driver.magic = TTY_DRIVER_MAGIC;
+  rio_driver.owner = THIS_MODULE;
   rio_driver.driver_name = "specialix_rio";
   rio_driver.name = "ttySR";
   rio_driver.major = RIO_NORMAL_MAJOR0;
diff -Nru a/drivers/char/rio/rio_linux.h b/drivers/char/rio/rio_linux.h
--- a/drivers/char/rio/rio_linux.h	Wed May  7 16:01:14 2003
+++ b/drivers/char/rio/rio_linux.h	Wed May  7 16:01:14 2003
@@ -87,9 +87,6 @@
 #endif
 
 
-void rio_dec_mod_count (void);
-void rio_inc_mod_count (void);
-
 /* Allow us to debug "in the field" without requiring clients to
    recompile.... */
 #if 1
diff -Nru a/drivers/char/rio/riotty.c b/drivers/char/rio/riotty.c
--- a/drivers/char/rio/riotty.c	Wed May  7 16:01:14 2003
+++ b/drivers/char/rio/riotty.c	Wed May  7 16:01:14 2003
@@ -139,7 +139,6 @@
 
 
 extern struct rio_info *p;
-extern void rio_inc_mod_count (void);
 
 
 int
@@ -205,8 +204,6 @@
 	tty->driver_data = PortP;
 
 	PortP->gs.tty = tty;
-	if (!PortP->gs.count)
-		rio_inc_mod_count ();
 	PortP->gs.count++;
 
 	rio_dprintk (RIO_DEBUG_TTY, "%d bytes in tx buffer\n",
@@ -215,8 +212,6 @@
 	retval = gs_init_port (&PortP->gs);
 	if (retval) {
 		PortP->gs.count--;
-		if (PortP->gs.count)
-			rio_dec_mod_count ();
 		return -ENXIO;
 	}
 	/*


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16                       ` Greg KH
@ 2003-05-07 23:16                         ` Greg KH
  2003-05-07 23:16                           ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1102, 2003/05/07 15:00:12-07:00, hannal@us.ibm.com

[PATCH] mxser tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT


 drivers/char/mxser.c |   19 ++++---------------
 1 files changed, 4 insertions(+), 15 deletions(-)


diff -Nru a/drivers/char/mxser.c b/drivers/char/mxser.c
--- a/drivers/char/mxser.c	Wed May  7 16:01:01 2003
+++ b/drivers/char/mxser.c	Wed May  7 16:01:01 2003
@@ -501,6 +501,7 @@
 
 	memset(&mxvar_sdriver, 0, sizeof(struct tty_driver));
 	mxvar_sdriver.magic = TTY_DRIVER_MAGIC;
+	mxvar_sdriver.owner = THIS_MODULE;
 	mxvar_sdriver.name = "ttyM";
 	mxvar_sdriver.major = ttymajor;
 	mxvar_sdriver.minor_start = 0;
@@ -708,7 +709,6 @@
 			tty_hangup(tty);	/* FIXME: module removal race here - AKPM */
 		}
 	}
-	MOD_DEC_USE_COUNT;
 }
 
 /*
@@ -767,8 +767,6 @@
 	info->session = current->session;
 	info->pgrp = current->pgrp;
 
-	MOD_INC_USE_COUNT;
-
 	return (0);
 }
 
@@ -795,7 +793,6 @@
 
 	if (tty_hung_up_p(filp)) {
 		restore_flags(flags);
-		MOD_DEC_USE_COUNT;
 		return;
 	}
 	if ((tty->count == 1) && (info->count != 1)) {
@@ -817,7 +814,6 @@
 	}
 	if (info->count) {
 		restore_flags(flags);
-		MOD_DEC_USE_COUNT;
 		return;
 	}
 	info->flags |= ASYNC_CLOSING;
@@ -881,7 +877,6 @@
 	wake_up_interruptible(&info->close_wait);
 	restore_flags(flags);
 
-	MOD_DEC_USE_COUNT;
 }
 
 static int mxser_write(struct tty_struct *tty, int from_user,
@@ -1492,9 +1487,7 @@
 
 	if (info->xmit_cnt < WAKEUP_CHARS) {
 		set_bit(MXSER_EVENT_TXLOW, &info->event);
-		MOD_INC_USE_COUNT;
-		if (schedule_work(&info->tqueue) == 0)
-		    MOD_DEC_USE_COUNT;
+		schedule_work(&info->tqueue);
 	}
 	if (info->xmit_cnt <= 0) {
 		info->IER &= ~UART_IER_THRI;
@@ -1523,9 +1516,7 @@
 		else if (!((info->flags & ASYNC_CALLOUT_ACTIVE) &&
 			   (info->flags & ASYNC_CALLOUT_NOHUP)))
 			set_bit(MXSER_EVENT_HANGUP, &info->event);
-		MOD_INC_USE_COUNT;
-		if (schedule_work(&info->tqueue) == 0)
-		    MOD_DEC_USE_COUNT;
+		schedule_work(&info->tqueue);
 	}
 	if (info->flags & ASYNC_CTS_FLOW) {
 		if (info->tty->hw_stopped) {
@@ -1535,9 +1526,7 @@
 				outb(info->IER, info->base + UART_IER);
 
 				set_bit(MXSER_EVENT_TXLOW, &info->event);
-				MOD_INC_USE_COUNT;
-				if (schedule_work(&info->tqueue) == 0)
-					MOD_DEC_USE_COUNT;
+				schedule_work(&info->tqueue);
 			}
 		} else {
 			if (!(status & UART_MSR_CTS)) {


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16                     ` Greg KH
@ 2003-05-07 23:16                       ` Greg KH
  2003-05-07 23:16                         ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1101, 2003/05/07 15:00:03-07:00, hannal@us.ibm.com

[PATCH] pcxx tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT


 drivers/char/pcxx.c |    6 +-----
 1 files changed, 1 insertion(+), 5 deletions(-)


diff -Nru a/drivers/char/pcxx.c b/drivers/char/pcxx.c
--- a/drivers/char/pcxx.c	Wed May  7 16:01:05 2003
+++ b/drivers/char/pcxx.c	Wed May  7 16:01:05 2003
@@ -431,8 +431,6 @@
 		return(-ENODEV);
 	}
 
-	/* flag the kernel that there is somebody using this guy */
-	MOD_INC_USE_COUNT;
 	/*
 	 * If the device is in the middle of being closed, then block
 	 * until it's done, and then try again.
@@ -576,7 +574,6 @@
 
 		if(tty_hung_up_p(filp)) {
 			/* flag that somebody is done with this module */
-			MOD_DEC_USE_COUNT;
 			restore_flags(flags);
 			return;
 		}
@@ -594,7 +591,6 @@
 		}
 		if (info->count-- > 1) {
 			restore_flags(flags);
-			MOD_DEC_USE_COUNT;
 			return;
 		}
 		if (info->count < 0) {
@@ -651,7 +647,6 @@
 		info->asyncflags &= ~(ASYNC_NORMAL_ACTIVE|
 							  ASYNC_CALLOUT_ACTIVE|ASYNC_CLOSING);
 		wake_up_interruptible(&info->close_wait);
-		MOD_DEC_USE_COUNT;
 		restore_flags(flags);
 	}
 }
@@ -1228,6 +1223,7 @@
 
 	memset(&pcxe_driver, 0, sizeof(struct tty_driver));
 	pcxe_driver.magic = TTY_DRIVER_MAGIC;
+	pcxe_driver.owner = THIS_MODULE;
 	pcxe_driver.name = "ttyD";
 	pcxe_driver.major = DIGI_MAJOR; 
 	pcxe_driver.minor_start = 0;


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16                   ` Greg KH
@ 2003-05-07 23:16                     ` Greg KH
  2003-05-07 23:16                       ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1100, 2003/05/07 14:59:52-07:00, hannal@us.ibm.com

[PATCH] riscom8 tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT


 drivers/char/riscom8.c |    8 ++------
 1 files changed, 2 insertions(+), 6 deletions(-)


diff -Nru a/drivers/char/riscom8.c b/drivers/char/riscom8.c
--- a/drivers/char/riscom8.c	Wed May  7 16:01:09 2003
+++ b/drivers/char/riscom8.c	Wed May  7 16:01:09 2003
@@ -552,9 +552,7 @@
 			wake_up_interruptible(&port->open_wait);
 		else if (!((port->flags & ASYNC_CALLOUT_ACTIVE) &&
 			   (port->flags & ASYNC_CALLOUT_NOHUP))) {
-			MOD_INC_USE_COUNT;
-			if (schedule_task(&port->tqueue_hangup) == 0)
-				MOD_DEC_USE_COUNT;
+			schedule_task(&port->tqueue_hangup);
 		}
 	}
 	
@@ -676,7 +674,6 @@
 	IRQ_to_board[bp->irq] = bp;
 	bp->flags |= RC_BOARD_ACTIVE;
 	
-	MOD_INC_USE_COUNT;
 	return 0;
 }
 
@@ -694,7 +691,6 @@
 	bp->DTR = ~0;
 	rc_out(bp, RC_DTR, bp->DTR);	       /* Drop DTR on all ports */
 	
-	MOD_DEC_USE_COUNT;
 }
 
 /*
@@ -1678,7 +1674,6 @@
 	tty = port->tty;
 	if (tty)
 		tty_hangup(tty);	/* FIXME: module removal race still here */
-	MOD_DEC_USE_COUNT;
 }
 
 static void rc_hangup(struct tty_struct * tty)
@@ -1757,6 +1752,7 @@
 	memset(IRQ_to_board, 0, sizeof(IRQ_to_board));
 	memset(&riscom_driver, 0, sizeof(riscom_driver));
 	riscom_driver.magic = TTY_DRIVER_MAGIC;
+	riscom_driver.owner = THIS_MODULE;
 	riscom_driver.name = "ttyL";
 	riscom_driver.major = RISCOM8_NORMAL_MAJOR;
 	riscom_driver.num = RC_NBOARD * RC_NPORT;


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16                               ` Greg KH
@ 2003-05-07 23:16                                 ` Greg KH
  2003-05-07 23:16                                   ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1106, 2003/05/07 15:00:52-07:00, hannal@us.ibm.com

[PATCH] isicom tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT


 drivers/char/isicom.c |    8 ++------
 1 files changed, 2 insertions(+), 6 deletions(-)


diff -Nru a/drivers/char/isicom.c b/drivers/char/isicom.c
--- a/drivers/char/isicom.c	Wed May  7 16:00:43 2003
+++ b/drivers/char/isicom.c	Wed May  7 16:00:43 2003
@@ -590,9 +590,7 @@
 							port->status &= ~ISI_DCD;
 							if (!((port->flags & ASYNC_CALLOUT_ACTIVE) &&
 								(port->flags & ASYNC_CALLOUT_NOHUP))) {
-								MOD_INC_USE_COUNT;
-								if (schedule_task(&port->hangup_tq) == 0)
-									MOD_DEC_USE_COUNT;
+								schedule_task(&port->hangup_tq);
 							}
 						}
 					}
@@ -846,7 +844,6 @@
 #endif	
 	
 	bp->status |= BOARD_ACTIVE;
-	MOD_INC_USE_COUNT;
 	return;
 }
  
@@ -1104,7 +1101,6 @@
 	for(channel = 0; channel < bp->port_count; channel++, port++) {
 		drop_dtr_rts(port);
 	}	
-	MOD_DEC_USE_COUNT;
 }
 
 static void isicom_shutdown_port(struct isi_port * port)
@@ -1644,7 +1640,6 @@
 	tty = port->tty;
 	if (tty)
 		tty_hangup(tty);	/* FIXME: module removal race here - AKPM */
-	MOD_DEC_USE_COUNT;
 }
 
 static void isicom_hangup(struct tty_struct * tty)
@@ -1715,6 +1710,7 @@
 	/* tty driver structure initialization */
 	memset(&isicom_normal, 0, sizeof(struct tty_driver));
 	isicom_normal.magic	= TTY_DRIVER_MAGIC;
+	isicom_normal.owner	= THIS_MODULE;
 	isicom_normal.name 	= "ttyM";
 	isicom_normal.major	= ISICOM_NMAJOR;
 	isicom_normal.minor_start	= 0;


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16                         ` Greg KH
@ 2003-05-07 23:16                           ` Greg KH
  2003-05-07 23:16                             ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1103, 2003/05/07 15:00:22-07:00, hannal@us.ibm.com

[PATCH] istallion  tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT


 drivers/char/istallion.c |   10 ++--------
 1 files changed, 2 insertions(+), 8 deletions(-)


diff -Nru a/drivers/char/istallion.c b/drivers/char/istallion.c
--- a/drivers/char/istallion.c	Wed May  7 16:00:56 2003
+++ b/drivers/char/istallion.c	Wed May  7 16:00:56 2003
@@ -1054,7 +1054,6 @@
 	if (portp->devnr < 1)
 		return(-ENODEV);
 
-	MOD_INC_USE_COUNT;
 
 /*
  *	Check if this port is in the middle of closing. If so then wait
@@ -1170,14 +1169,12 @@
 	save_flags(flags);
 	cli();
 	if (tty_hung_up_p(filp)) {
-		MOD_DEC_USE_COUNT;
 		restore_flags(flags);
 		return;
 	}
 	if ((tty->count == 1) && (portp->refcount != 1))
 		portp->refcount = 1;
 	if (portp->refcount-- > 1) {
-		MOD_DEC_USE_COUNT;
 		restore_flags(flags);
 		return;
 	}
@@ -1232,7 +1229,6 @@
 	portp->flags &= ~(ASYNC_CALLOUT_ACTIVE | ASYNC_NORMAL_ACTIVE |
 		ASYNC_CLOSING);
 	wake_up_interruptible(&portp->close_wait);
-	MOD_DEC_USE_COUNT;
 	restore_flags(flags);
 }
 
@@ -2369,7 +2365,6 @@
 			tty_hangup(portp->tty);
 		}
 	}
-	MOD_DEC_USE_COUNT;
 }
 
 /*****************************************************************************/
@@ -3004,9 +2999,7 @@
 					if (! ((portp->flags & ASYNC_CALLOUT_ACTIVE) &&
 					    (portp->flags & ASYNC_CALLOUT_NOHUP))) {
 						if (tty != (struct tty_struct *) NULL) {
-							MOD_INC_USE_COUNT;
-							if (schedule_task(&portp->tqhangup) == 0)
-								MOD_DEC_USE_COUNT;
+							schedule_task(&portp->tqhangup);
 						}
 					}
 				}
@@ -5350,6 +5343,7 @@
  */
 	memset(&stli_serial, 0, sizeof(struct tty_driver));
 	stli_serial.magic = TTY_DRIVER_MAGIC;
+	stli_serial.owner = THIS_MODULE;
 	stli_serial.driver_name = stli_drvname;
 	stli_serial.name = stli_serialname;
 	stli_serial.major = STL_SERIALMAJOR;


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16                           ` Greg KH
@ 2003-05-07 23:16                             ` Greg KH
  2003-05-07 23:16                               ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1104, 2003/05/07 15:00:32-07:00, hannal@us.ibm.com

[PATCH] moxa tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT


 drivers/char/moxa.c |   12 ++----------
 1 files changed, 2 insertions(+), 10 deletions(-)


diff -Nru a/drivers/char/moxa.c b/drivers/char/moxa.c
--- a/drivers/char/moxa.c	Wed May  7 16:00:52 2003
+++ b/drivers/char/moxa.c	Wed May  7 16:00:52 2003
@@ -341,6 +341,7 @@
 	memset(&moxaDriver, 0, sizeof(struct tty_driver));
 	memset(&moxaCallout, 0, sizeof(struct tty_driver));
 	moxaDriver.magic = TTY_DRIVER_MAGIC;
+	moxaDriver.owner = THIS_MODULE;
 	moxaDriver.name = "ttya";
 	moxaDriver.major = ttymajor;
 	moxaDriver.minor_start = 0;
@@ -544,7 +545,6 @@
 			ch->asyncflags &= ~(ASYNC_NORMAL_ACTIVE | ASYNC_CALLOUT_ACTIVE);
 		}
 	}
-	MOD_DEC_USE_COUNT;
 }
 
 static int moxa_open(struct tty_struct *tty, struct file *filp)
@@ -556,7 +556,6 @@
 
 	port = PORTNO(tty);
 	if (port == MAX_PORTS) {
-		MOD_INC_USE_COUNT;
 		return (0);
 	}
 	if (!MoxaPortIsValid(port)) {
@@ -579,7 +578,6 @@
 	}
 	up(&moxaBuffSem);
 
-	MOD_INC_USE_COUNT;
 	ch = &moxaChannels[port];
 	ch->count++;
 	tty->driver_data = ch;
@@ -619,7 +617,6 @@
 
 	port = PORTNO(tty);
 	if (port == MAX_PORTS) {
-		MOD_DEC_USE_COUNT;
 		return;
 	}
 	if (!MoxaPortIsValid(port)) {
@@ -633,7 +630,6 @@
 		return;
 	}
 	if (tty_hung_up_p(filp)) {
-		MOD_DEC_USE_COUNT;
 		return;
 	}
 	ch = (struct moxa_str *) tty->driver_data;
@@ -649,7 +645,6 @@
 		ch->count = 0;
 	}
 	if (ch->count) {
-		MOD_DEC_USE_COUNT;
 		return;
 	}
 	ch->asyncflags |= ASYNC_CLOSING;
@@ -688,7 +683,6 @@
 	ch->asyncflags &= ~(ASYNC_NORMAL_ACTIVE | ASYNC_CALLOUT_ACTIVE |
 			    ASYNC_CLOSING);
 	wake_up_interruptible(&ch->close_wait);
-	MOD_DEC_USE_COUNT;
 }
 
 static int moxa_write(struct tty_struct *tty, int from_user,
@@ -1024,9 +1018,7 @@
 						wake_up_interruptible(&ch->open_wait);
 					else {
 						set_bit(MOXA_EVENT_HANGUP, &ch->event);
-						MOD_DEC_USE_COUNT;
-						if (schedule_work(&ch->tqueue) == 0)
-							MOD_INC_USE_COUNT;
+						schedule_work(&ch->tqueue);
 					}
 				}
 			}


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16                                 ` Greg KH
@ 2003-05-07 23:16                                   ` Greg KH
  2003-05-07 23:16                                     ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1107, 2003/05/07 15:01:02-07:00, hannal@us.ibm.com

[PATCH] esp  tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT


 drivers/char/esp.c |    9 +++------
 1 files changed, 3 insertions(+), 6 deletions(-)


diff -Nru a/drivers/char/esp.c b/drivers/char/esp.c
--- a/drivers/char/esp.c	Wed May  7 16:00:39 2003
+++ b/drivers/char/esp.c	Wed May  7 16:00:39 2003
@@ -643,9 +643,7 @@
 #ifdef SERIAL_DEBUG_OPEN
 			printk("scheduling hangup...");
 #endif
-			MOD_INC_USE_COUNT;
-			if (schedule_task(&info->tqueue_hangup) == 0)
-				MOD_DEC_USE_COUNT;
+			schedule_task(&info->tqueue_hangup);
 		}
 	}
 }
@@ -811,7 +809,6 @@
 	tty = info->tty;
 	if (tty)
 		tty_hangup(tty);
-	MOD_DEC_USE_COUNT;
 }
 
 /*
@@ -2132,7 +2129,7 @@
 	info->flags &= ~(ASYNC_NORMAL_ACTIVE|ASYNC_CALLOUT_ACTIVE|
 			 ASYNC_CLOSING);
 	wake_up_interruptible(&info->close_wait);
-out:	MOD_DEC_USE_COUNT;
+out:
 	restore_flags(flags);
 }
 
@@ -2375,7 +2372,6 @@
 #ifdef SERIAL_DEBUG_OPEN
 	printk("esp_open %s, count = %d\n", tty->name, info->count);
 #endif
-	MOD_INC_USE_COUNT;
 	info->count++;
 	tty->driver_data = info;
 	info->tty = tty;
@@ -2551,6 +2547,7 @@
 	
 	memset(&esp_driver, 0, sizeof(struct tty_driver));
 	esp_driver.magic = TTY_DRIVER_MAGIC;
+	esp_driver.owner = THIS_MODULE;
 	esp_driver.name = "ttyP";
 	esp_driver.major = ESP_IN_MAJOR;
 	esp_driver.minor_start = 0;


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16                             ` Greg KH
@ 2003-05-07 23:16                               ` Greg KH
  2003-05-07 23:16                                 ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1105, 2003/05/07 15:00:42-07:00, hannal@us.ibm.com

[PATCH] ip2main tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT


 drivers/char/ip2main.c |    5 +----
 1 files changed, 1 insertion(+), 4 deletions(-)


diff -Nru a/drivers/char/ip2main.c b/drivers/char/ip2main.c
--- a/drivers/char/ip2main.c	Wed May  7 16:00:47 2003
+++ b/drivers/char/ip2main.c	Wed May  7 16:00:47 2003
@@ -793,6 +793,7 @@
 
 	/* Initialise the relevant fields. */
 	ip2_tty_driver.magic                = TTY_DRIVER_MAGIC;
+	ip2_tty_driver.owner		    = THIS_MODULE;
 	ip2_tty_driver.name                 = pcTty;
 #if LINUX_VERSION_CODE > KERNEL_VERSION(2,1,0)
 	ip2_tty_driver.driver_name          = pcDriver_name;
@@ -1577,7 +1578,6 @@
 	/* Setup pointer links in device and tty structures */
 	pCh->pTTY = tty;
 	tty->driver_data = pCh;
-	MOD_INC_USE_COUNT;
 
 #ifdef IP2DEBUG_OPEN
 	printk(KERN_DEBUG \
@@ -1777,14 +1777,12 @@
 #endif
 
 	if ( tty_hung_up_p ( pFile ) ) {
-		MOD_DEC_USE_COUNT;
 
 		ip2trace (CHANN, ITRC_CLOSE, 2, 1, 2 );
 
 		return;
 	}
 	if ( tty->count > 1 ) { /* not the last close */
-		MOD_DEC_USE_COUNT;
 
 		ip2trace (CHANN, ITRC_CLOSE, 2, 1, 3 );
 
@@ -1852,7 +1850,6 @@
 	DBG_CNT("ip2_close: after wakeups--");
 #endif
 
-	MOD_DEC_USE_COUNT;
 
 	ip2trace (CHANN, ITRC_CLOSE, ITRC_RETURN, 1, 1 );
 


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16                                                   ` Greg KH
@ 2003-05-07 23:16                                                     ` Greg KH
  2003-05-07 23:16                                                       ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1116, 2003/05/07 15:51:59-07:00, greg@kroah.com

TTY: changes based on tty_register_device() paramater change.


 arch/mips/au1000/common/serial.c |    8 ++++----
 drivers/char/dz.c                |    4 ++--
 drivers/char/hvc_console.c       |    2 +-
 drivers/char/ip2main.c           |    4 ++--
 drivers/char/vt.c                |    2 +-
 drivers/serial/core.c            |    2 +-
 drivers/tc/zs.c                  |    4 ++--
 drivers/usb/class/bluetty.c      |    2 +-
 drivers/usb/class/cdc-acm.c      |    2 +-
 9 files changed, 15 insertions(+), 15 deletions(-)


diff -Nru a/arch/mips/au1000/common/serial.c b/arch/mips/au1000/common/serial.c
--- a/arch/mips/au1000/common/serial.c	Wed May  7 15:59:59 2003
+++ b/arch/mips/au1000/common/serial.c	Wed May  7 15:59:59 2003
@@ -2681,8 +2681,8 @@
 		       (state->flags & ASYNC_FOURPORT) ? " FourPort" : "",
 		       state->port, state->irq,
 		       uart_config[state->type].name);
-		tty_register_device(&serial_driver, state->line);
-		tty_register_device(&callout_driver, state->line);
+		tty_register_device(&serial_driver, state->line, NULL);
+		tty_register_device(&callout_driver, state->line, NULL);
 	}
 	return 0;
 }
@@ -2769,8 +2769,8 @@
 	      state->iomem_base ? "iomem" : "port",
 	      state->iomem_base ? (unsigned long)state->iomem_base :
 	      state->port, state->irq, uart_config[state->type].name);
-	tty_register_device(&serial_driver, state->line); 
-	tty_register_device(&callout_driver, state->line);
+	tty_register_device(&serial_driver, state->line, NULL); 
+	tty_register_device(&callout_driver, state->line, NULL);
 	return state->line + SERIAL_DEV_OFFSET;
 }
 
diff -Nru a/drivers/char/dz.c b/drivers/char/dz.c
--- a/drivers/char/dz.c	Wed May  7 15:59:59 2003
+++ b/drivers/char/dz.c	Wed May  7 15:59:59 2003
@@ -1426,8 +1426,8 @@
 		printk("ttyS%02d at 0x%08x (irq = %d)\n", info->line,
 		       info->port, SERIAL);
 
-		tty_register_device(&serial_driver, info->line);
-		tty_register_device(&callout_driver, info->line);
+		tty_register_device(&serial_driver, info->line, NULL);
+		tty_register_device(&callout_driver, info->line, NULL);
 	}
 
 	/* Reset the chip */
diff -Nru a/drivers/char/hvc_console.c b/drivers/char/hvc_console.c
--- a/drivers/char/hvc_console.c	Wed May  7 15:59:59 2003
+++ b/drivers/char/hvc_console.c	Wed May  7 15:59:59 2003
@@ -283,7 +283,7 @@
 	for (i = 0; i < hvc_driver.num; i++) {
 		hvc_struct[i].lock = SPIN_LOCK_UNLOCKED;
 		hvc_struct[i].index = i;
-		tty_register_device(&hvc_driver, i);
+		tty_register_device(&hvc_driver, i, NULL);
 	}
 
 	if (tty_register_driver(&hvc_driver))
diff -Nru a/drivers/char/ip2main.c b/drivers/char/ip2main.c
--- a/drivers/char/ip2main.c	Wed May  7 15:59:59 2003
+++ b/drivers/char/ip2main.c	Wed May  7 15:59:59 2003
@@ -902,10 +902,10 @@
 				    {
 				        tty_register_device(&ip2_tty_driver,
 					    j + ABS_BIGGEST_BOX *
-						    (box+i*ABS_MAX_BOXES));
+						    (box+i*ABS_MAX_BOXES), NULL);
 				            tty_register_device(&ip2_callout_driver,
 					    j + ABS_BIGGEST_BOX *
-						    (box+i*ABS_MAX_BOXES));
+						    (box+i*ABS_MAX_BOXES), NULL);
 			    	    }
 			        }
 			    }
diff -Nru a/drivers/char/vt.c b/drivers/char/vt.c
--- a/drivers/char/vt.c	Wed May  7 15:59:59 2003
+++ b/drivers/char/vt.c	Wed May  7 15:59:59 2003
@@ -2666,7 +2666,7 @@
 	int i;
 
 	for (i = 0; i < console_driver.num; i++)
-		tty_register_device (&console_driver, i);
+		tty_register_device (&console_driver, i, NULL);
 }
 
 /*
diff -Nru a/drivers/serial/core.c b/drivers/serial/core.c
--- a/drivers/serial/core.c	Wed May  7 15:59:59 2003
+++ b/drivers/serial/core.c	Wed May  7 15:59:59 2003
@@ -2242,7 +2242,7 @@
 	 * Register the port whether it's detected or not.  This allows
 	 * setserial to be used to alter this ports parameters.
 	 */
-	tty_register_device(drv->tty_driver, port->line);
+	tty_register_device(drv->tty_driver, port->line, NULL);
 
  out:
 	up(&port_sem);
diff -Nru a/drivers/tc/zs.c b/drivers/tc/zs.c
--- a/drivers/tc/zs.c	Wed May  7 15:59:59 2003
+++ b/drivers/tc/zs.c	Wed May  7 15:59:59 2003
@@ -1971,8 +1971,8 @@
 		printk("ttyS%02d at 0x%08x (irq = %d)", info->line, 
 		       info->port, info->irq);
 		printk(" is a Z85C30 SCC\n");
-		tty_register_device(&serial_driver, info->line);
-		tty_register_device(&callout_driver, info->line);
+		tty_register_device(&serial_driver, info->line, NULL);
+		tty_register_device(&callout_driver, info->line, NULL);
 
 	}
 
diff -Nru a/drivers/usb/class/bluetty.c b/drivers/usb/class/bluetty.c
--- a/drivers/usb/class/bluetty.c	Wed May  7 15:59:59 2003
+++ b/drivers/usb/class/bluetty.c	Wed May  7 15:59:59 2003
@@ -1198,7 +1198,7 @@
 		     bluetooth, endpoint->bInterval);
 
 	/* initialize the devfs nodes for this device and let the user know what bluetooths we are bound to */
-	tty_register_device (&bluetooth_tty_driver, minor);
+	tty_register_device (&bluetooth_tty_driver, minor, &intf->dev);
 	info("Bluetooth converter now attached to ttyUB%d (or usb/ttub/%d for devfs)", minor, minor);
 
 	bluetooth_table[minor] = bluetooth;
diff -Nru a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
--- a/drivers/usb/class/cdc-acm.c	Wed May  7 15:59:59 2003
+++ b/drivers/usb/class/cdc-acm.c	Wed May  7 15:59:59 2003
@@ -653,7 +653,7 @@
 		usb_driver_claim_interface(&acm_driver, acm->iface + 0, acm);
 		usb_driver_claim_interface(&acm_driver, acm->iface + 1, acm);
 
-		tty_register_device(&acm_tty_driver, minor);
+		tty_register_device(&acm_tty_driver, minor, &intf->dev);
 
 		acm_table[minor] = acm;
 		usb_set_intfdata (intf, acm);


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16                                                     ` Greg KH
@ 2003-05-07 23:16                                                       ` Greg KH
  0 siblings, 0 replies; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1117, 2003/05/07 15:52:51-07:00, greg@kroah.com

TTY: remove usb-serial sysfs dev file as it is now redundant.


 drivers/usb/serial/bus.c |   17 +----------------
 1 files changed, 1 insertion(+), 16 deletions(-)


diff -Nru a/drivers/usb/serial/bus.c b/drivers/usb/serial/bus.c
--- a/drivers/usb/serial/bus.c	Wed May  7 15:59:54 2003
+++ b/drivers/usb/serial/bus.c	Wed May  7 15:59:54 2003
@@ -23,18 +23,6 @@
 
 #include "usb-serial.h"
 
-static ssize_t show_dev (struct device *dev, char *buf)
-{
-	struct usb_serial_port *port= to_usb_serial_port(dev);
-	dev_t base;
-
-	port = to_usb_serial_port(dev);
-
-	base = MKDEV(SERIAL_TTY_MAJOR, port->number);
-	return sprintf(buf, "%04x\n", base);
-}
-static DEVICE_ATTR(dev, S_IRUGO, show_dev, NULL);
-
 static int usb_serial_device_match (struct device *dev, struct device_driver *drv)
 {
 	struct usb_serial_device_type *driver;
@@ -88,10 +76,7 @@
 	}
 
 	minor = port->number;
-
-	tty_register_device (&usb_serial_tty_driver, minor);
-	device_create_file (dev, &dev_attr_dev);
-
+	tty_register_device (&usb_serial_tty_driver, minor, dev);
 	dev_info(&port->serial->dev->dev, 
 		 "%s converter now attached to ttyUSB%d (or usb/tts/%d for devfs)\n",
 		 driver->name, minor, minor);


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16                                           ` Greg KH
@ 2003-05-07 23:16                                             ` Greg KH
  2003-05-07 23:16                                               ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1112, 2003/05/07 15:01:52-07:00, hannal@us.ibm.com

[PATCH] macintosh/macserial  tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT


 drivers/macintosh/macserial.c |    7 +------
 1 files changed, 1 insertion(+), 6 deletions(-)


diff -Nru a/drivers/macintosh/macserial.c b/drivers/macintosh/macserial.c
--- a/drivers/macintosh/macserial.c	Wed May  7 16:00:17 2003
+++ b/drivers/macintosh/macserial.c	Wed May  7 16:00:17 2003
@@ -1932,7 +1932,6 @@
 	spin_lock_irqsave(&info->lock, flags);
 
 	if (tty_hung_up_p(filp)) {
-		MOD_DEC_USE_COUNT;
 		spin_unlock_irqrestore(&info->lock, flags);
 		return;
 	}
@@ -1956,7 +1955,6 @@
 		info->count = 0;
 	}
 	if (info->count) {
-		MOD_DEC_USE_COUNT;
 		spin_unlock_irqrestore(&info->lock, flags);
 		return;
 	}
@@ -2026,7 +2024,6 @@
 	info->flags &= ~(ZILOG_NORMAL_ACTIVE|ZILOG_CALLOUT_ACTIVE|
 			 ZILOG_CLOSING);
 	wake_up_interruptible(&info->close_wait);
-	MOD_DEC_USE_COUNT;
 }
 
 /*
@@ -2233,17 +2230,14 @@
 	int 			retval, line;
 	unsigned long		page;
 
-	MOD_INC_USE_COUNT;
 	line = tty->index;
 	if ((line < 0) || (line >= zs_channels_found)) {
-		MOD_DEC_USE_COUNT;
 		return -ENODEV;
 	}
 	info = zs_soft + line;
 
 #ifdef CONFIG_KGDB
 	if (info->kgdb_channel) {
-		MOD_DEC_USE_COUNT;
 		return -ENODEV;
 	}
 #endif
@@ -2610,6 +2604,7 @@
 
 	memset(&serial_driver, 0, sizeof(struct tty_driver));
 	serial_driver.magic = TTY_DRIVER_MAGIC;
+	serial_driver.owner = THIS_MODULE;
 	serial_driver.driver_name = "macserial";
 #ifdef CONFIG_DEVFS_FS
 	serial_driver.name = "tts/";


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16                                             ` Greg KH
@ 2003-05-07 23:16                                               ` Greg KH
  2003-05-07 23:16                                                 ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1113, 2003/05/07 15:02:02-07:00, hannal@us.ibm.com

[PATCH] isdn/capi  tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT


 drivers/isdn/capi/capi.c |    8 +-------
 1 files changed, 1 insertion(+), 7 deletions(-)


diff -Nru a/drivers/isdn/capi/capi.c b/drivers/isdn/capi/capi.c
--- a/drivers/isdn/capi/capi.c	Wed May  7 16:00:12 2003
+++ b/drivers/isdn/capi/capi.c	Wed May  7 16:00:12 2003
@@ -200,10 +200,8 @@
 	unsigned int minor = 0;
 	unsigned long flags;
   
-  	MOD_INC_USE_COUNT;
 	mp = kmalloc(sizeof(*mp), GFP_ATOMIC);
   	if (!mp) {
-  		MOD_DEC_USE_COUNT;
   		printk(KERN_ERR "capi: can't alloc capiminor\n");
 		return 0;
 	}
@@ -249,7 +247,6 @@
 	skb_queue_purge(&mp->outqueue);
 	capiminor_del_all_ack(mp);
 	kfree(mp);
-	MOD_DEC_USE_COUNT;
 }
 
 struct capiminor *capiminor_find(unsigned int minor)
@@ -1280,6 +1277,7 @@
 	
 	memset(drv, 0, sizeof(struct tty_driver));
 	drv->magic = TTY_DRIVER_MAGIC;
+	drv->owner = THIS_MODULE;
 	drv->driver_name = "capi_nc";
 	drv->name = "capi/";
 	drv->major = capi_ttymajor;
@@ -1460,7 +1458,6 @@
 	char *p;
 	char *compileinfo;
 
-	MOD_INC_USE_COUNT;
 
 	if ((p = strchr(revision, ':')) != 0 && p[1]) {
 		strncpy(rev, p + 2, sizeof(rev));
@@ -1472,7 +1469,6 @@
 
 	if (register_chrdev(capi_major, "capi20", &capi_fops)) {
 		printk(KERN_ERR "capi20: unable to get major %d\n", capi_major);
-		MOD_DEC_USE_COUNT;
 		return -EIO;
 	}
 
@@ -1484,7 +1480,6 @@
 #ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
 	if (capinc_tty_init() < 0) {
 		unregister_chrdev(capi_major, "capi20");
-		MOD_DEC_USE_COUNT;
 		return -ENOMEM;
 	}
 #endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */
@@ -1503,7 +1498,6 @@
 	printk(KERN_NOTICE "capi20: Rev %s: started up with major %d%s\n",
 				rev, capi_major, compileinfo);
 
-	MOD_DEC_USE_COUNT;
 	return 0;
 }
 


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16                                     ` Greg KH
@ 2003-05-07 23:16                                       ` Greg KH
  2003-05-07 23:16                                         ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1109, 2003/05/07 15:01:22-07:00, hannal@us.ibm.com

[PATCH] dz tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT


 drivers/char/dz.c |    1 +
 1 files changed, 1 insertion(+)


diff -Nru a/drivers/char/dz.c b/drivers/char/dz.c
--- a/drivers/char/dz.c	Wed May  7 16:00:30 2003
+++ b/drivers/char/dz.c	Wed May  7 16:00:30 2003
@@ -1332,6 +1332,7 @@
 
 	memset(&serial_driver, 0, sizeof(struct tty_driver));
 	serial_driver.magic = TTY_DRIVER_MAGIC;
+	serial_driver.owner = THIS_MODULE;
 #if (LINUX_VERSION_CODE > 0x2032D && defined(CONFIG_DEVFS_FS))
 	serial_driver.name = "ttyS";
 #else


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16                                       ` Greg KH
@ 2003-05-07 23:16                                         ` Greg KH
  2003-05-07 23:16                                           ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1110, 2003/05/07 15:01:32-07:00, hannal@us.ibm.com

[PATCH] cyclades tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT


 drivers/char/cyclades.c |    8 +-------
 1 files changed, 1 insertion(+), 7 deletions(-)


diff -Nru a/drivers/char/cyclades.c b/drivers/char/cyclades.c
--- a/drivers/char/cyclades.c	Wed May  7 16:00:25 2003
+++ b/drivers/char/cyclades.c	Wed May  7 16:00:25 2003
@@ -2579,15 +2579,12 @@
   int retval, line;
   unsigned long page;
 
-    MOD_INC_USE_COUNT;
     line = tty->index;
     if ((line < 0) || (NR_PORTS <= line)){
-	MOD_DEC_USE_COUNT;
         return -ENODEV;
     }
     info = &cy_port[line];
     if (info->line < 0){
-	MOD_DEC_USE_COUNT;
         return -ENODEV;
     }
     
@@ -2607,7 +2604,6 @@
 	    } else {
 		printk("cyc:Cyclades-Z firmware not yet loaded\n");
 	    }
-	    MOD_DEC_USE_COUNT;
 	    return -ENODEV;
 	}
 #ifdef CONFIG_CYZ_INTR
@@ -2803,7 +2799,6 @@
     CY_LOCK(info, flags);
     /* If the TTY is being hung up, nothing to do */
     if (tty_hung_up_p(filp)) {
-	MOD_DEC_USE_COUNT;
 	CY_UNLOCK(info, flags);
         return;
     }
@@ -2834,7 +2829,6 @@
         info->count = 0;
     }
     if (info->count) {
-	MOD_DEC_USE_COUNT;
 	CY_UNLOCK(info, flags);
         return;
     }
@@ -2931,7 +2925,6 @@
     printk(" cyc:cy_close done\n");
 #endif
 
-    MOD_DEC_USE_COUNT;
     CY_UNLOCK(info, flags);
     return;
 } /* cy_close */
@@ -5494,6 +5487,7 @@
     
     memset(&cy_serial_driver, 0, sizeof(struct tty_driver));
     cy_serial_driver.magic = TTY_DRIVER_MAGIC;
+    cy_serial_driver.owner = THIS_MODULE;
     cy_serial_driver.driver_name = "cyclades";
     cy_serial_driver.name = "ttyC";
     cy_serial_driver.major = CYCLADES_MAJOR;


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16                                   ` Greg KH
@ 2003-05-07 23:16                                     ` Greg KH
  2003-05-07 23:16                                       ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1108, 2003/05/07 15:01:12-07:00, hannal@us.ibm.com

[PATCH] hvc_console tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT


 drivers/char/hvc_console.c |    1 +
 1 files changed, 1 insertion(+)


diff -Nru a/drivers/char/hvc_console.c b/drivers/char/hvc_console.c
--- a/drivers/char/hvc_console.c	Wed May  7 16:00:34 2003
+++ b/drivers/char/hvc_console.c	Wed May  7 16:00:34 2003
@@ -257,6 +257,7 @@
 	memset(&hvc_driver, 0, sizeof(struct tty_driver));
 
 	hvc_driver.magic = TTY_DRIVER_MAGIC;
+	hvc_driver.owner = THIS_MODULE;
 	hvc_driver.driver_name = "hvc";
 	hvc_driver.name = "hvc/";
 	hvc_driver.major = HVC_MAJOR;


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16                                         ` Greg KH
@ 2003-05-07 23:16                                           ` Greg KH
  2003-05-07 23:16                                             ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1111, 2003/05/07 15:01:42-07:00, hannal@us.ibm.com

[PATCH] amiserial tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT


 drivers/char/amiserial.c |    7 +------
 1 files changed, 1 insertion(+), 6 deletions(-)


diff -Nru a/drivers/char/amiserial.c b/drivers/char/amiserial.c
--- a/drivers/char/amiserial.c	Wed May  7 16:00:21 2003
+++ b/drivers/char/amiserial.c	Wed May  7 16:00:21 2003
@@ -1528,7 +1528,6 @@
 
 	if (tty_hung_up_p(filp)) {
 		DBG_CNT("before DEC-hung");
-		MOD_DEC_USE_COUNT;
 		local_irq_restore(flags);
 		return;
 	}
@@ -1555,7 +1554,6 @@
 	}
 	if (state->count) {
 		DBG_CNT("before DEC-2");
-		MOD_DEC_USE_COUNT;
 		local_irq_restore(flags);
 		return;
 	}
@@ -1615,7 +1613,6 @@
 	info->flags &= ~(ASYNC_NORMAL_ACTIVE|ASYNC_CALLOUT_ACTIVE|
 			 ASYNC_CLOSING);
 	wake_up_interruptible(&info->close_wait);
-	MOD_DEC_USE_COUNT;
 	local_irq_restore(flags);
 }
 
@@ -1894,15 +1891,12 @@
 	int 			retval, line;
 	unsigned long		page;
 
-	MOD_INC_USE_COUNT;
 	line = tty->index;
 	if ((line < 0) || (line >= NR_PORTS)) {
-		MOD_DEC_USE_COUNT;
 		return -ENODEV;
 	}
 	retval = get_async_struct(line, &info);
 	if (retval) {
-		MOD_DEC_USE_COUNT;
 		return retval;
 	}
 	tty->driver_data = info;
@@ -2116,6 +2110,7 @@
 
 	memset(&serial_driver, 0, sizeof(struct tty_driver));
 	serial_driver.magic = TTY_DRIVER_MAGIC;
+	serial_driver.owner = THIS_MODULE;
 	serial_driver.driver_name = "amiserial";
 	serial_driver.name = "ttyS";
 	serial_driver.major = TTY_MAJOR;


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16                                               ` Greg KH
@ 2003-05-07 23:16                                                 ` Greg KH
  2003-05-07 23:16                                                   ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1114, 2003/05/07 15:02:12-07:00, hannal@us.ibm.com

[PATCH] vme_scc tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT


 drivers/char/vme_scc.c |    7 +------
 1 files changed, 1 insertion(+), 6 deletions(-)


diff -Nru a/drivers/char/vme_scc.c b/drivers/char/vme_scc.c
--- a/drivers/char/vme_scc.c	Wed May  7 16:00:08 2003
+++ b/drivers/char/vme_scc.c	Wed May  7 16:00:08 2003
@@ -129,6 +129,7 @@
 
 	memset(&scc_driver, 0, sizeof(scc_driver));
 	scc_driver.magic = TTY_DRIVER_MAGIC;
+	scc_driver.owner = THIS_MODULE;
 	scc_driver.driver_name = "scc";
 #ifdef CONFIG_DEVFS_FS
 	scc_driver.name = "tts/";
@@ -795,7 +796,6 @@
 {
 	scc_disable_tx_interrupts(ptr);
 	scc_disable_rx_interrupts(ptr);
-	MOD_DEC_USE_COUNT;
 }
 
 
@@ -803,7 +803,6 @@
 {
 	scc_disable_tx_interrupts(ptr);
 	scc_disable_rx_interrupts(ptr);
-	MOD_DEC_USE_COUNT;
 }
 
 
@@ -938,13 +937,9 @@
 		return retval;
 	}
 	port->gs.flags |= GS_ACTIVE;
-	if (port->gs.count == 1) {
-		MOD_INC_USE_COUNT;
-	}
 	retval = gs_block_til_ready(port, filp);
 
 	if (retval) {
-		MOD_DEC_USE_COUNT;
 		port->gs.count--;
 		return retval;
 	}


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

* Re: [PATCH] TTY changes for 2.5.69
  2003-05-07 23:16                                                 ` Greg KH
@ 2003-05-07 23:16                                                   ` Greg KH
  2003-05-07 23:16                                                     ` Greg KH
  0 siblings, 1 reply; 29+ messages in thread
From: Greg KH @ 2003-05-07 23:16 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1115, 2003/05/07 15:51:02-07:00, greg@kroah.com

TTY: add tty class support for all tty devices.


 drivers/char/tty_io.c |  146 +++++++++++++++++++++++++++++++++++++++++---------
 include/linux/tty.h   |    3 -
 2 files changed, 122 insertions(+), 27 deletions(-)


diff -Nru a/drivers/char/tty_io.c b/drivers/char/tty_io.c
--- a/drivers/char/tty_io.c	Wed May  7 16:00:04 2003
+++ b/drivers/char/tty_io.c	Wed May  7 16:00:04 2003
@@ -2088,22 +2088,6 @@
 }
 
 #ifdef CONFIG_DEVFS_FS
-static void tty_register_devfs(struct tty_driver *driver, unsigned index)
-{
-	dev_t dev = MKDEV(driver->major, driver->minor_start) + index;
-	char buf[32];
-
-	if (index >= driver->num) {
-		printk(KERN_ERR "Attempt to register invalid tty line number "
-		       "with devfs (%d).\n", index);
-		return;
-	}
-
-	tty_line_name(driver, index, buf);
-	devfs_register(NULL, buf, 0, MAJOR(dev), MINOR(dev),
-		S_IFCHR | S_IRUSR | S_IWUSR, &tty_fops, NULL);
-}
-
 static void tty_unregister_devfs(struct tty_driver *driver, int index)
 {
 	char path[64];
@@ -2111,21 +2095,131 @@
 	devfs_remove(path);
 }
 #else
-# define tty_register_devfs(driver, index)	do { } while (0)
 # define tty_unregister_devfs(driver, index)	do { } while (0)
 #endif /* CONFIG_DEVFS_FS */
 
-/*
- * Register a tty device described by <driver>, with minor number <minor>.
+static struct class tty_class = {
+	.name	= "tty",
+};
+
+struct tty_dev {
+	struct list_head node;
+	dev_t dev;
+	struct class_device class_dev;
+};
+#define to_tty_dev(d) container_of(d, struct tty_dev, class_dev)
+
+static LIST_HEAD(tty_dev_list);
+
+static ssize_t show_dev(struct class_device *class_dev, char *buf)
+{
+	struct tty_dev *tty_dev = to_tty_dev(class_dev);
+	return sprintf(buf, "%04x\n", tty_dev->dev);
+}
+static CLASS_DEVICE_ATTR(dev, S_IRUGO, show_dev, NULL);
+
+static void tty_add_class_device(char *name, dev_t dev, struct device *device)
+{
+	struct tty_dev *tty_dev = NULL;
+	char *temp;
+	int retval;
+
+	tty_dev = kmalloc(sizeof(*tty_dev), GFP_KERNEL);
+	if (!tty_dev)
+		return;
+	memset(tty_dev, 0x00, sizeof(*tty_dev));
+
+	/* stupid '/' in tty name strings... */
+	temp = strchr(name, '/');
+	if (temp && (temp[1] != 0x00))
+		++temp;
+	else
+		temp = name;
+
+	tty_dev->class_dev.dev = device;
+	tty_dev->class_dev.class = &tty_class;
+	snprintf(tty_dev->class_dev.class_id, BUS_ID_SIZE, "%s", temp);
+	retval = class_device_register(&tty_dev->class_dev);
+	if (retval)
+		goto error;
+	class_device_create_file (&tty_dev->class_dev, &class_device_attr_dev);
+	tty_dev->dev = dev;
+	list_add(&tty_dev->node, &tty_dev_list);
+	return;
+error:
+	kfree(tty_dev);
+}
+
+void tty_remove_class_device(dev_t dev)
+{
+	struct tty_dev *tty_dev = NULL;
+	struct list_head *tmp;
+	int found = 0;
+
+	list_for_each (tmp, &tty_dev_list) {
+		tty_dev = list_entry(tmp, struct tty_dev, node);
+		if ((MAJOR(tty_dev->dev) == MAJOR(dev)) &&
+		    (MINOR(tty_dev->dev) == MINOR(dev))) {
+			found = 1;
+			break;
+		}
+	}
+	if (found) {
+		list_del(&tty_dev->node);
+		class_device_unregister(&tty_dev->class_dev);
+		kfree(tty_dev);
+	}
+}
+
+/**
+ * tty_register_device - register a tty device
+ * @driver: the tty driver that describes the tty device
+ * @index: the index in the tty driver for this tty device
+ * @device: a struct device that is associated with this tty device.
+ *	This field is optional, if there is no known struct device for this
+ *	tty device it can be set to NULL safely.
+ *
+ * This call is required to be made to register an individual tty device if
+ * the tty driver's flags have the TTY_DRIVER_NO_DEVFS bit set.  If that
+ * bit is not set, this function should not be called.
  */
-void tty_register_device(struct tty_driver *driver, unsigned index)
+void tty_register_device(struct tty_driver *driver, unsigned index,
+			 struct device *device)
 {
-	tty_register_devfs(driver, index);
+	dev_t dev = MKDEV(driver->major, driver->minor_start) + index;
+	char name[64];
+
+	if (index >= driver->num) {
+		printk(KERN_ERR "Attempt to register invalid tty line number "
+		       " (%d).\n", index);
+		return;
+	}
+
+	tty_line_name(driver, index, name);
+	devfs_register(NULL, name, 0, MAJOR(dev), MINOR(dev),
+		S_IFCHR | S_IRUSR | S_IWUSR, &tty_fops, NULL);
+
+	/* stupid console driver devfs names... change vc/X into ttyX */
+	if (driver->type == TTY_DRIVER_TYPE_CONSOLE)
+		sprintf(name, "tty%d", MINOR(dev));
+
+	/* we don't care about the ptys */
+	if (driver->type != TTY_DRIVER_TYPE_PTY)
+		tty_add_class_device (name, dev, device);
 }
 
+/**
+ * tty_unregister_device - unregister a tty device
+ * @driver: the tty driver that describes the tty device
+ * @index: the index in the tty driver for this tty device
+ *
+ * If a tty device is registered with a call to tty_register_device() then
+ * this function must be made when the tty device is gone.
+ */
 void tty_unregister_device(struct tty_driver *driver, unsigned index)
 {
 	tty_unregister_devfs(driver, index);
+	tty_remove_class_device(MKDEV(driver->major, driver->minor_start) + index);
 }
 
 EXPORT_SYMBOL(tty_register_device);
@@ -2207,7 +2301,7 @@
 	
 	if ( !(driver->flags & TTY_DRIVER_NO_DEVFS) ) {
 		for(i = 0; i < driver->num; i++)
-		    tty_register_device(driver, i);
+		    tty_register_device(driver, i, NULL);
 	}
 	proc_tty_register_driver(driver);
 	return error;
@@ -2288,10 +2382,6 @@
 extern int vty_init(void);
 #endif
 
-static struct class tty_class = {
-	.name	= "tty",
-};
-
 static int __init tty_class_init(void)
 {
 	return class_register(&tty_class);
@@ -2311,6 +2401,7 @@
 
 	devfs_register (NULL, "tty", 0, TTYAUX_MAJOR, 0,
 			S_IFCHR | S_IRUGO | S_IWUGO, &tty_fops, NULL);
+	tty_add_class_device ("tty", MKDEV(TTYAUX_MAJOR, 0), NULL);
 
 	if (register_chrdev_region(TTYAUX_MAJOR, 1, 1,
 				   "/dev/console", &tty_fops) < 0)
@@ -2318,6 +2409,7 @@
 
 	devfs_register (NULL, "console", 0, TTYAUX_MAJOR, 1,
 			S_IFCHR | S_IRUSR | S_IWUSR, &tty_fops, NULL);
+	tty_add_class_device ("console", MKDEV(TTYAUX_MAJOR, 1), NULL);
 
 #ifdef CONFIG_UNIX98_PTYS
 	if (register_chrdev_region(TTYAUX_MAJOR, 2, 1,
@@ -2326,6 +2418,7 @@
 
 	devfs_register (NULL, "ptmx", 0, TTYAUX_MAJOR, 2,
 			S_IFCHR | S_IRUGO | S_IWUGO, &tty_fops, NULL);
+	tty_add_class_device ("ptmx", MKDEV(TTYAUX_MAJOR, 2), NULL);
 #endif
 	
 #ifdef CONFIG_VT
@@ -2335,6 +2428,7 @@
 
 	devfs_register (NULL, "vc/0", 0, TTY_MAJOR, 0,
 			S_IFCHR | S_IRUSR | S_IWUSR, &tty_fops, NULL);
+	tty_add_class_device ("tty0", MKDEV(TTY_MAJOR, 0), NULL);
 
 	vty_init();
 #endif
diff -Nru a/include/linux/tty.h b/include/linux/tty.h
--- a/include/linux/tty.h	Wed May  7 16:00:04 2003
+++ b/include/linux/tty.h	Wed May  7 16:00:04 2003
@@ -243,6 +243,7 @@
 #define L_PENDIN(tty)	_L_FLAG((tty),PENDIN)
 #define L_IEXTEN(tty)	_L_FLAG((tty),IEXTEN)
 
+struct device;
 /*
  * Where all of the state associated with a tty is kept while the tty
  * is open.  Since the termios state should be kept even if the tty
@@ -380,7 +381,7 @@
 extern int tty_register_ldisc(int disc, struct tty_ldisc *new_ldisc);
 extern int tty_register_driver(struct tty_driver *driver);
 extern int tty_unregister_driver(struct tty_driver *driver);
-extern void tty_register_device(struct tty_driver *driver, unsigned index);
+extern void tty_register_device(struct tty_driver *driver, unsigned index, struct device *dev);
 extern void tty_unregister_device(struct tty_driver *driver, unsigned index);
 extern int tty_read_raw_data(struct tty_struct *tty, unsigned char *bufp,
 			     int buflen);


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

end of thread, other threads:[~2003-05-07 23:37 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-05-07 23:15 [BK PATCH] TTY changes for 2.5.69 Greg KH
2003-05-07 23:16 ` [PATCH] " Greg KH
2003-05-07 23:16   ` Greg KH
2003-05-07 23:16     ` Greg KH
2003-05-07 23:16       ` Greg KH
2003-05-07 23:16         ` Greg KH
2003-05-07 23:16           ` Greg KH
2003-05-07 23:16             ` Greg KH
2003-05-07 23:16               ` Greg KH
2003-05-07 23:16                 ` Greg KH
2003-05-07 23:16                   ` Greg KH
2003-05-07 23:16                     ` Greg KH
2003-05-07 23:16                       ` Greg KH
2003-05-07 23:16                         ` Greg KH
2003-05-07 23:16                           ` Greg KH
2003-05-07 23:16                             ` Greg KH
2003-05-07 23:16                               ` Greg KH
2003-05-07 23:16                                 ` Greg KH
2003-05-07 23:16                                   ` Greg KH
2003-05-07 23:16                                     ` Greg KH
2003-05-07 23:16                                       ` Greg KH
2003-05-07 23:16                                         ` Greg KH
2003-05-07 23:16                                           ` Greg KH
2003-05-07 23:16                                             ` Greg KH
2003-05-07 23:16                                               ` Greg KH
2003-05-07 23:16                                                 ` Greg KH
2003-05-07 23:16                                                   ` Greg KH
2003-05-07 23:16                                                     ` Greg KH
2003-05-07 23:16                                                       ` Greg KH

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).