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