minor TTY changes for 2.5.53
Subsystems (7)
PATCH 1/1 minor TTY changes for 2.5.53
Here are some minor tty patches. They change the name of tty_*register_devfs() to tty_*register_device() which makes more sense as to what the call is doing. They also get rid of flag that was unused by everyone but the pty driver for this call. Also, a tty_devclass was created, and the usb-serial core changed to use it. Both of these patches were posted to lkml previously with no comments.
I also removed some usages of MIN and MAX while I was messing around with the core tty files, as I couldn't help myself :)
Please pull from:
bk://kernel.bkbits.net/gregkh/linux/tty-2.5
thanks,
greg k-h
arch/mips/au1000/common/serial.c | 12 +++++----- drivers/char/dz.c | 4 +-- drivers/char/hvc_console.c | 2 - drivers/char/ip2main.c | 8 +++---- drivers/char/n_tty.c | 17 +++++++-------- drivers/char/pty.c | 7 ++---- drivers/char/tty_io.c | 43 ++++++++++++++++++++++++--------------- drivers/char/vt.c | 2 - drivers/serial/core.c | 12 ++++------ drivers/tc/zs.c | 4 +-- drivers/usb/class/bluetty.c | 10 ++++----- drivers/usb/class/cdc-acm.c | 12 +++++----- drivers/usb/serial/bus.c | 17 ++++++++------- include/linux/tty.h | 5 +--- include/linux/tty_driver.h | 2 + 15 files changed, 83 insertions(+), 74 deletions(-)
-----
[email protected], 2002-12-30 00:03:48-08:00, [email protected]
Merge kroah.com:/home/linux/linux/BK/bleeding-2.5 into kroah.com:/home/linux/linux/BK/tty-2.5
drivers/serial/core.c | 8 +++----- drivers/usb/class/bluetty.c | 6 +++--- drivers/usb/class/cdc-acm.c | 6 +++--- drivers/usb/serial/bus.c | 12 ++++++------ 4 files changed, 15 insertions(+), 17 deletions(-)
------
[email protected], 2002-12-29 23:59:37-08:00, [email protected]
TTY: replace MIN and MAX macro usages with min() and max()
drivers/char/n_tty.c | 17 ++++++++--------- drivers/char/pty.c | 4 +--- drivers/char/tty_io.c | 9 +-------- 3 files changed, 10 insertions(+), 20 deletions(-)
------
[email protected], 2002-12-29 23:42:02-08:00, [email protected]
TTY: Use the tty_devclass for all usb-serial devices.
drivers/usb/serial/bus.c | 1 + 1 files changed, 1 insertion(+)
------
[email protected], 2002-12-29 23:34:36-08:00, [email protected]
TTY: add tty_devclass to the tty core.
drivers/char/tty_io.c | 8 ++++++++ include/linux/tty_driver.h | 2 ++ 2 files changed, 10 insertions(+)
------
[email protected], 2002-12-29 23:21:18-08:00, [email protected]
TTY: Change tty_*register_devfs() to tty_*register_device()
Also got rid of the unused flag paramater.
arch/mips/au1000/common/serial.c | 12 ++++++------ drivers/char/dz.c | 4 ++-- drivers/char/hvc_console.c | 2 +- drivers/char/ip2main.c | 8 ++++---- drivers/char/pty.c | 3 ++- drivers/char/tty_io.c | 26 ++++++++++++++++++-------- drivers/char/vt.c | 2 +- drivers/serial/core.c | 4 ++-- drivers/tc/zs.c | 4 ++-- drivers/usb/class/bluetty.c | 4 ++-- drivers/usb/class/cdc-acm.c | 6 +++--- drivers/usb/serial/bus.c | 4 ++-- include/linux/tty.h | 5 ++--- 13 files changed, 47 insertions(+), 37 deletions(-)
------
PATCH 1/1 minor TTY changes for 2.5.53
ChangeSet 1.956.3.1, 2002/12/29 23:21:18-08:00, [email protected]
TTY: Change tty_*register_devfs() to tty_*register_device()
Also got rid of the unused flag paramater.
arch/mips/au1000/common/serial.c +6 -6
@@ -2682,9 +2682,9 @@ (state->flags &ASYNC_FOURPORT ) ?" FourPort" :"" , state->port, state->irq, uart_config[state->type].name); -tty_register_devfs (&serial_driver,0 , +tty_register_device (&serial_driver, serial_driver.minor_start + state->line); -tty_register_devfs (&callout_driver,0 , +tty_register_device (&callout_driver, callout_driver.minor_start + state->line); }return 0 ;
@@ -2772,9 +2772,9 @@ state->iomem_base ?"iomem" :"port" , state->iomem_base ? (unsigned long )state->iomem_base : state->port, state->irq, uart_config[state->type].name); -tty_register_devfs (&serial_driver,0 , +tty_register_device (&serial_driver, serial_driver.minor_start + state->line); -tty_register_devfs (&callout_driver,0 , +tty_register_device (&callout_driver, callout_driver.minor_start + state->line);return state->line +SERIAL_DEV_OFFSET ; }
@@ -2801,9 +2801,9 @@/* These will be hidden, because they are devices that will no longer * be available to the system. (ie, PCMCIA modems, once ejected) */ -tty_unregister_devfs (&serial_driver, +tty_unregister_device (&serial_driver, serial_driver.minor_start + state->line); -tty_unregister_devfs (&callout_driver, +tty_unregister_device (&callout_driver, callout_driver.minor_start + state->line);restore_flags (flags); }
drivers/char/dz.c +2 -2
@@ -1425,9 +1425,9 @@printk ("ttyS%02d at 0x%08x (irq = %d)\n" , info->line, info->port,SERIAL ); -tty_register_devfs (&serial_driver,0 , +tty_register_device (&serial_driver, serial_driver.minor_start + info->line); -tty_register_devfs (&callout_driver,0 , +tty_register_device (&callout_driver, callout_driver.minor_start + info->line); }
drivers/char/hvc_console.c +1 -1
@@ -279,7 +279,7 @@for (i =0 ; i < hvc_driver.num; i++) { hvc_struct[i].lock =SPIN_LOCK_UNLOCKED ; hvc_struct[i].index = i; -tty_register_devfs (&hvc_driver,0 , hvc_driver.minor_start + i); +tty_register_device (&hvc_driver, hvc_driver.minor_start + i); }if (tty_register_driver (&hvc_driver))
drivers/char/ip2main.c +4 -4
@@ -899,11 +899,11 @@ {if ( pB->i2eChannelMap[box] & (1 << j) ) { -tty_register_devfs (&ip2_tty_driver, -0 , j +ABS_BIGGEST_BOX * +tty_register_device (&ip2_tty_driver, + j +ABS_BIGGEST_BOX * (box+i*ABS_MAX_BOXES )); -tty_register_devfs (&ip2_callout_driver, -0 , j +ABS_BIGGEST_BOX * +tty_register_device (&ip2_callout_driver, + j +ABS_BIGGEST_BOX * (box+i*ABS_MAX_BOXES )); } }
drivers/char/pty.c +2 -1
@@ -97,7 +97,7 @@ } }#endif -tty_unregister_devfs (&tty->link->driver,minor (tty->device)); +tty_unregister_device (&tty->link->driver,minor (tty->device));tty_vhangup (tty->link); } }
@@ -307,6 +307,7 @@ } } +extern void tty_register_devfs (struct tty_driver *driver,unsigned int flags,unsigned minor);static int pty_open (struct tty_struct *tty,struct file * filp) {int retval;
drivers/char/tty_io.c +18 -8
@@ -1351,7 +1351,7 @@set_bit (TTY_PTY_LOCK , &tty->flags);/* LOCK THE SLAVE */ minor -= driver->minor_start;devpts_pty_new (driver->other->name_base + minor,MKDEV (driver->other->major, minor + driver->other->minor_start)); -tty_register_devfs (&pts_driver[major],DEVFS_FL_DEFAULT , +tty_register_device (&pts_driver[major], pts_driver[major].minor_start + minor); noctty =1 ; goto init_dev_done;
@@ -2038,9 +2038,6 @@ tty->driver.write (tty,0 , &ch,1 ); } -/* -* Register a tty device described by <driver>, with minor number <minor>. -*/ void tty_register_devfs (struct tty_driver *driver,unsigned int flags,unsigned minor) {#ifdef CONFIG_DEVFS_FS
@@ -2077,8 +2074,21 @@devfs_remove (driver->name, minor-driver->minor_start+driver->name_base); } -EXPORT_SYMBOL (tty_register_devfs); -EXPORT_SYMBOL (tty_unregister_devfs); +/* +* Register a tty device described by <driver>, with minor number <minor>. +*/ +void tty_register_device (struct tty_driver *driver,unsigned minor) +{ +tty_register_devfs (driver,0 , minor); +} + +void tty_unregister_device (struct tty_driver *driver,unsigned minor) +{ +tty_unregister_devfs (driver, minor); +} + +EXPORT_SYMBOL (tty_register_device); +EXPORT_SYMBOL (tty_unregister_device);/* * Called by a tty driver to register itself.
@@ -2104,7 +2114,7 @@if ( !(driver->flags &TTY_DRIVER_NO_DEVFS ) ) {for (i =0 ; i < driver->num; i++) -tty_register_devfs (driver,0 , driver->minor_start + i); +tty_register_device (driver, driver->minor_start + i); }proc_tty_register_driver (driver);return error;
@@ -2159,7 +2169,7 @@ driver->termios_locked[i] =NULL ;kfree (tp); } -tty_unregister_devfs (driver, driver->minor_start + i); +tty_unregister_device (driver, driver->minor_start + i); }proc_tty_unregister_driver (driver);return 0 ;
drivers/char/vt.c +1 -1
@@ -2646,7 +2646,7 @@int i;for (i =0 ; i < console_driver.num; i++) -tty_register_devfs (&console_driver,DEVFS_FL_DEFAULT , +tty_register_device (&console_driver, console_driver.minor_start + i); }
drivers/serial/core.c +2 -2
@@ -2098,7 +2098,7 @@* Register the port whether it's detected or not. This allows * setserial to be used to alter this ports parameters. */ -tty_register_devfs (drv->tty_driver,0 , drv->minor + port->line); +tty_register_device (drv->tty_driver, drv->minor + port->line);if (port->type !=PORT_UNKNOWN ) {unsigned long flags;
@@ -2155,7 +2155,7 @@/* * Remove the devices from devfs */ -tty_unregister_devfs (drv->tty_driver, drv->minor + port->line); +tty_unregister_device (drv->tty_driver, drv->minor + port->line);/* * Free the port IO and memory resources, if any.
drivers/tc/zs.c +2 -2
@@ -1971,9 +1971,9 @@printk ("ttyS%02d at 0x%08x (irq = %d)" , info->line, info->port, info->irq);printk (" is a Z85C30 SCC\n" ); -tty_register_devfs (&serial_driver,0 , +tty_register_device (&serial_driver, serial_driver.minor_start + info->line); -tty_register_devfs (&callout_driver,0 , +tty_register_device (&callout_driver, callout_driver.minor_start + info->line); }
drivers/usb/class/bluetty.c +2 -2
@@ -1201,7 +1201,7 @@ bluetooth, endpoint->bInterval);/* initialize the devfs nodes for this device and let the user know what bluetooths we are bound to */ -tty_register_devfs (&bluetooth_tty_driver,0 , minor); +tty_register_device (&bluetooth_tty_driver, minor);info ("Bluetooth converter now attached to ttyUB%d (or usb/ttub/%d for devfs)" , minor, minor); bluetooth_table[minor] = bluetooth;
@@ -1267,7 +1267,7 @@if (bluetooth->interrupt_in_buffer)kfree (bluetooth->interrupt_in_buffer); -tty_unregister_devfs (&bluetooth_tty_driver, bluetooth->minor); +tty_unregister_device (&bluetooth_tty_driver, bluetooth->minor);for (i =0 ; i <NUM_BULK_URBS ; ++i) {if (bluetooth->write_urb_pool[i]) {
drivers/usb/class/cdc-acm.c +3 -3
@@ -361,7 +361,7 @@usb_unlink_urb (acm->writeurb);usb_unlink_urb (acm->readurb); }else { -tty_unregister_devfs (&acm_tty_driver, acm->minor); +tty_unregister_device (&acm_tty_driver, acm->minor); acm_table[acm->minor] =NULL ;usb_free_urb (acm->ctrlurb);usb_free_urb (acm->readurb);
@@ -649,7 +649,7 @@usb_driver_claim_interface (&acm_driver, acm->iface +0 , acm);usb_driver_claim_interface (&acm_driver, acm->iface +1 , acm); -tty_register_devfs (&acm_tty_driver,0 , minor); +tty_register_device (&acm_tty_driver, minor); acm_table[minor] = acm;dev_set_drvdata (&intf->dev, acm);
@@ -681,7 +681,7 @@usb_driver_release_interface (&acm_driver, acm->iface +1 );if (!acm->used) { -tty_unregister_devfs (&acm_tty_driver, acm->minor); +tty_unregister_device (&acm_tty_driver, acm->minor); acm_table[acm->minor] =NULL ;usb_free_urb (acm->ctrlurb);usb_free_urb (acm->readurb);
drivers/usb/serial/bus.c +2 -2
@@ -78,7 +78,7 @@ minor = port->number; -tty_register_devfs (&usb_serial_tty_driver,0 , minor); +tty_register_device (&usb_serial_tty_driver, minor);info ("%s converter now attached to ttyUSB%d (or usb/tts/%d for devfs)" , driver->name, minor, minor);
@@ -110,7 +110,7 @@ } exit: minor = port->number; -tty_unregister_devfs (&usb_serial_tty_driver, minor); +tty_unregister_device (&usb_serial_tty_driver, minor);info ("%s converter now disconnected from ttyUSB%d" , driver->name, minor);
include/linux/tty.h +2 -3
@@ -379,9 +379,8 @@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_devfs (struct tty_driver *driver,unsigned int flags, -unsigned minor); -extern void tty_unregister_devfs (struct tty_driver *driver,unsigned minor); +extern void tty_register_device (struct tty_driver *driver,unsigned minor); +extern void tty_unregister_device (struct tty_driver *driver,unsigned minor);extern int tty_read_raw_data (struct tty_struct *tty,unsigned char *bufp,int buflen);extern void tty_write_message (struct tty_struct *tty,char *msg);
ChangeSet 1.956.3.2, 2002/12/29 23:34:36-08:00, [email protected]
TTY: add tty_devclass to the tty core.
drivers/char/tty_io.c +8 -0
@@ -90,6 +90,7 @@#include <linux/init.h> #include <linux/module.h> #include <linux/smp_lock.h> +#include <linux/device.h> #include <asm/uaccess.h> #include <asm/system.h>
@@ -2271,12 +2272,19 @@extern int vty_init (void );#endif +struct device_class tty_devclass = { + .name ="tty" , +}; +EXPORT_SYMBOL (tty_devclass); +/* * Ok, now we can initialize the rest of the tty devices and can count * on memory allocations, interrupts etc.. */ void __init tty_init (void ) { +devclass_register (&tty_devclass); +/* * dev_tty_driver and dev_console_driver are actually magic * devices which get redirected at open time. Nevertheless,
include/linux/tty_driver.h +2 -0
@@ -227,4 +227,6 @@#define SERIAL_TYPE_NORMAL 1#define SERIAL_TYPE_CALLOUT 2 +extern struct device_class tty_devclass; +#endif /* #ifdef _LINUX_TTY_DRIVER_H */
ChangeSet 1.956.3.3, 2002/12/29 23:42:02-08:00, [email protected]
TTY: Use the tty_devclass for all usb-serial devices.
drivers/usb/serial/bus.c +1 -0
@@ -128,6 +128,7 @@ device->driver.bus = &usb_serial_bus_type; device->driver.probe = usb_serial_device_probe; device->driver.remove = usb_serial_device_remove; + device->driver.devclass = &tty_devclass; retval =driver_register (&device->driver);
ChangeSet 1.956.3.4, 2002/12/29 23:59:37-08:00, [email protected]
TTY: replace MIN and MAX macro usages with min() and max()
drivers/char/n_tty.c +8 -9
@@ -48,10 +48,6 @@#define IS_CONSOLE_DEV (dev) (kdev_val(dev) == __mkdev(TTY_MAJOR,0))#define IS_SYSCONS_DEV (dev) (kdev_val(dev) == __mkdev(TTYAUX_MAJOR,1)) -#ifndef MIN -#define MIN (a,b) ((a) < (b) ? (a) : (b)) -#endif -/* number of characters left in xmit buffer before select has we have room */ #define WAKEUP_CHARS 256
@@ -725,16 +721,18 @@if (tty->real_raw) {spin_lock_irqsave (&tty->read_lock, cpuflags); - i =MIN (count,MIN (N_TTY_BUF_SIZE - tty->read_cnt, -N_TTY_BUF_SIZE - tty->read_head)); + i =min (N_TTY_BUF_SIZE - tty->read_cnt, +N_TTY_BUF_SIZE - tty->read_head); + i =min (count, i);memcpy (tty->read_buf + tty->read_head, cp, i); tty->read_head = (tty->read_head + i) & (N_TTY_BUF_SIZE -1 ); tty->read_cnt += i; cp += i; count -= i; - i =MIN (count,MIN (N_TTY_BUF_SIZE - tty->read_cnt, -N_TTY_BUF_SIZE - tty->read_head)); + i =min (N_TTY_BUF_SIZE - tty->read_cnt, +N_TTY_BUF_SIZE - tty->read_head); + i =min (count, i);memcpy (tty->read_buf + tty->read_head, cp, i); tty->read_head = (tty->read_head + i) & (N_TTY_BUF_SIZE -1 ); tty->read_cnt += i;
@@ -915,7 +913,8 @@ retval =0 ;spin_lock_irqsave (&tty->read_lock, flags); - n =MIN (*nr,MIN (tty->read_cnt,N_TTY_BUF_SIZE - tty->read_tail)); + n =min (tty->read_cnt,N_TTY_BUF_SIZE - tty->read_tail); + n =min ((ssize_t )*nr, n);spin_unlock_irqrestore (&tty->read_lock, flags);if (n) {mb ();
drivers/char/pty.c +1 -3
@@ -64,8 +64,6 @@static struct pty_struct ptm_state[UNIX98_NR_MAJORS ][NR_PTYS ];#endif -#define MIN (a,b) ((a) < (b) ? (a) : (b)) -static void pty_close (struct tty_struct * tty,struct file * filp) {if (!tty)
@@ -156,7 +154,7 @@ n = count;if (!n)break ; - n =MIN (n,PTY_BUF_SIZE ); + n =min (n,PTY_BUF_SIZE ); n -=copy_from_user (temp_buffer, buf, n);if (!n) {if (!c)
drivers/char/tty_io.c +1 -8
@@ -159,13 +159,6 @@extern void tx3912_rs_init (void );extern void hvc_console_init (void ); -#ifndef MIN -#define MIN (a,b) ((a) < (b) ? (a) : (b)) -#endif -#ifndef MAX -#define MAX (a,b) ((a) < (b) ? (b) : (a)) -#endif -static struct tty_struct *alloc_tty_struct (void ) {struct tty_struct *tty;
@@ -714,7 +707,7 @@unlock_kernel (); }else {for (;;) { -unsigned long size =MAX (PAGE_SIZE *2 ,16384 ); +unsigned long size =max ((unsigned long )PAGE_SIZE *2 ,16384UL );if (size > count) size = count;lock_kernel ();