public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/41] TTY buffer in tty_port -- prep no. 4
@ 2012-08-07 19:47 Jiri Slaby
  2012-08-07 19:47 ` [PATCH 01/41] TTY: pty, stop passing NULL to free_tty_struct Jiri Slaby
                   ` (41 more replies)
  0 siblings, 42 replies; 55+ messages in thread
From: Jiri Slaby @ 2012-08-07 19:47 UTC (permalink / raw)
  To: gregkh; +Cc: alan, linux-kernel, jirislaby

Hi,

this is the fourth, and hopefully the last, series of patches which
allow tty buffers to be moved from tty_struct (present from open to
close/hangup) to tty_port (present as long as the device). This will
allow us to get rid of the tty refcounting in the interrupt service
routines and other hot paths after we are done. This is because we
will not need to handle races among ISRs, timers, hangups and others,
because tty_port lives as long as an interrupt/timer tick may occur.
Unlike tty_struct.

In this series, the fourth batch of drivers is converted to use
tty_port. Last time I promised that all drivers have a tty_port. It
was not really true. Now it should be. Here we also continued
assigning tty_port to tty_struct->port. And we should be done with
that here too. I.e. for all in-kernel drivers we have tty->port set
after driver->ops->install returns. So the TTY layer now finally has
an access to a tty_port in all of the drivers.

Now we can start moving tty buffers to tty_port and get rid of all the
refcounting as was mentioned above.

As usual, standard x86 stuff was runtime-tested. The rest is only
checked to be compilation-errors free.

Jiri Slaby (41):
  TTY: pty, stop passing NULL to free_tty_struct
  TTY: 68328serial, fix compilation
  TTY: n_gsm, use tty_port_install
  misc: pti, add const to pci_device_id table
  misc: pti, pci drvdata cannot be NULL in ->remove
  misc: pti, stop using iomap's unmap on ioremap space
  misc: pti, move ->remove to the PCI code
  misc: pti, do the opposite of ->probe in ->remove
  misc: pti, fix fail paths
  misc: pti, fix tty_port count
  misc: pti, use tty_port_register_device
  mxser: allow overlapping vector
  TTY: ttyprintk, unregister tty driver on failure
  TTY: ttyprintk, don't touch behind tty->write_buf
  TTY: ttyprintk, initialize tty_port earlier
  TTY: tty3270, free tty driver properly
  TTY: pass flags to alloc_tty_driver
  TTY: pty, switch to tty_alloc_driver
  TTY: move allocations to tty_alloc_driver
  TTY: add support for unnumbered device nodes
  TTY: move cdev_add to tty_register_device
  TTY: use tty_port_register_device
  TTY: automatically create nodes for some drivers
  TTY: tty_port, add some documentation
  TTY: add tty_port_link_device
  TTY: use tty_port_link_device
  TTY: synclink_cs, sanitize fail paths
  TTY: synclink_cs, use dynamic tty devices
  TTY: synclink_cs, final cleanup in synclink_cs_init
  TTY: moxa, convert to dynamic device
  TTY: nfcon, add tty_port and link it
  TTY: con3215, unset raw3215[line]
  TTY: con3215, add tty install
  TTY: i4l, add tty install
  TTY: synclink, add tty install
  TTY: synclinkmp, add tty install
  TTY: ircomm_tty, add tty install
  TTY: tty3270, add tty install
  TTY: hvc_console, add tty install
  TTY: hvcs, clean hvcs_open a bit
  TTY: hvcs, add tty install

 arch/alpha/kernel/srmcons.c             |    1 +
 arch/ia64/hp/sim/simserial.c            |    1 +
 arch/m68k/emu/nfcon.c                   |    4 +
 arch/parisc/kernel/pdc_cons.c           |    1 +
 arch/um/drivers/line.c                  |    3 +-
 arch/xtensa/platforms/iss/console.c     |    1 +
 drivers/char/pcmcia/synclink_cs.c       |  105 ++++++++++-----------
 drivers/char/ttyprintk.c                |   29 +++---
 drivers/isdn/capi/capi.c                |    3 +-
 drivers/isdn/gigaset/interface.c        |    3 +-
 drivers/isdn/i4l/isdn_tty.c             |   25 +++--
 drivers/misc/pti.c                      |  128 ++++++++++++-------------
 drivers/mmc/card/sdio_uart.c            |    4 +-
 drivers/net/usb/hso.c                   |    7 +-
 drivers/s390/char/con3215.c             |   28 ++++--
 drivers/s390/char/sclp_tty.c            |    1 +
 drivers/s390/char/sclp_vt220.c          |    1 +
 drivers/s390/char/tty3270.c             |   34 +++++--
 drivers/staging/ipack/devices/ipoctal.c |    2 +-
 drivers/tty/amiserial.c                 |    9 +-
 drivers/tty/bfin_jtag_comm.c            |    1 +
 drivers/tty/cyclades.c                  |   16 ++--
 drivers/tty/ehv_bytechan.c              |    9 +-
 drivers/tty/hvc/hvc_console.c           |   31 +++++--
 drivers/tty/hvc/hvcs.c                  |   82 +++++++++-------
 drivers/tty/hvc/hvsi.c                  |    2 +
 drivers/tty/ipwireless/tty.c            |    2 +-
 drivers/tty/isicom.c                    |    3 +-
 drivers/tty/moxa.c                      |   24 ++++-
 drivers/tty/mxser.c                     |   41 ++++++--
 drivers/tty/n_gsm.c                     |   30 ++++--
 drivers/tty/nozomi.c                    |    4 +-
 drivers/tty/pty.c                       |   36 +++++---
 drivers/tty/rocket.c                    |    4 +-
 drivers/tty/serial/68328serial.c        |   23 +++--
 drivers/tty/serial/crisv10.c            |   11 ++-
 drivers/tty/serial/ifx6x60.c            |    4 +-
 drivers/tty/serial/msm_smd_tty.c        |    8 +-
 drivers/tty/serial/serial_core.c        |    3 +-
 drivers/tty/synclink.c                  |   44 +++++----
 drivers/tty/synclink_gt.c               |    7 +-
 drivers/tty/synclinkmp.c                |   28 ++++--
 drivers/tty/tty_io.c                    |  154 ++++++++++++++++++++-----------
 drivers/tty/tty_port.c                  |   43 ++++++++-
 drivers/usb/class/cdc-acm.c             |    3 +-
 drivers/usb/gadget/u_serial.c           |    3 +-
 include/linux/tty.h                     |    2 +
 include/linux/tty_driver.h              |   35 ++++++-
 net/bluetooth/rfcomm/tty.c              |    4 +-
 net/irda/ircomm/ircomm_tty.c            |   41 ++++----
 50 files changed, 692 insertions(+), 396 deletions(-)

-- 
1.7.10.4



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

end of thread, other threads:[~2012-08-13  8:18 UTC | newest]

Thread overview: 55+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-07 19:47 [PATCH 00/41] TTY buffer in tty_port -- prep no. 4 Jiri Slaby
2012-08-07 19:47 ` [PATCH 01/41] TTY: pty, stop passing NULL to free_tty_struct Jiri Slaby
2012-08-07 19:47 ` [PATCH 02/41] TTY: 68328serial, fix compilation Jiri Slaby
2012-08-08 15:24   ` Alan Cox
2012-08-08 19:33     ` Jiri Slaby
2012-08-07 19:47 ` [PATCH 03/41] TTY: n_gsm, use tty_port_install Jiri Slaby
2012-08-07 19:47 ` [PATCH 04/41] misc: pti, add const to pci_device_id table Jiri Slaby
2012-08-07 19:47 ` [PATCH 05/41] misc: pti, pci drvdata cannot be NULL in ->remove Jiri Slaby
2012-08-07 19:47 ` [PATCH 06/41] misc: pti, stop using iomap's unmap on ioremap space Jiri Slaby
2012-08-07 19:47 ` [PATCH 07/41] misc: pti, move ->remove to the PCI code Jiri Slaby
2012-08-07 19:47 ` [PATCH 08/41] misc: pti, do the opposite of ->probe in ->remove Jiri Slaby
2012-08-07 19:47 ` [PATCH 09/41] misc: pti, fix fail paths Jiri Slaby
2012-08-07 19:47 ` [PATCH 10/41] misc: pti, fix tty_port count Jiri Slaby
2012-08-07 19:47 ` [PATCH 11/41] misc: pti, use tty_port_register_device Jiri Slaby
2012-08-07 19:47 ` [PATCH 12/41] mxser: allow overlapping vector Jiri Slaby
2012-08-13  1:50   ` Rusty Russell
2012-08-13  7:23     ` Jiri Slaby
2012-08-13  8:16       ` [PATCH] TTY: mxser, fix invalid module_parm permissions Jiri Slaby
2012-08-13  8:18       ` Jiri Slaby
2012-08-07 19:47 ` [PATCH 13/41] TTY: ttyprintk, unregister tty driver on failure Jiri Slaby
2012-08-07 19:47 ` [PATCH 14/41] TTY: ttyprintk, don't touch behind tty->write_buf Jiri Slaby
2012-08-07 19:47 ` [PATCH 15/41] TTY: ttyprintk, initialize tty_port earlier Jiri Slaby
2012-08-07 19:47 ` [PATCH 16/41] TTY: tty3270, free tty driver properly Jiri Slaby
2012-08-07 19:47 ` [PATCH 17/41] TTY: pass flags to alloc_tty_driver Jiri Slaby
2012-08-07 19:47 ` [PATCH 18/41] TTY: pty, switch to tty_alloc_driver Jiri Slaby
2012-08-08 15:37   ` Alan Cox
2012-08-08 20:11     ` Jiri Slaby
2012-08-08 22:19       ` Alan Cox
2012-08-07 19:47 ` [PATCH 19/41] TTY: move allocations " Jiri Slaby
2012-08-07 19:47 ` [PATCH 20/41] TTY: add support for unnumbered device nodes Jiri Slaby
2012-08-07 19:47 ` [PATCH 21/41] TTY: move cdev_add to tty_register_device Jiri Slaby
2012-08-07 19:47 ` [PATCH 22/41] TTY: use tty_port_register_device Jiri Slaby
2012-08-07 19:47 ` [PATCH 23/41] TTY: automatically create nodes for some drivers Jiri Slaby
2012-08-07 19:47 ` [PATCH 24/41] TTY: tty_port, add some documentation Jiri Slaby
2012-08-07 19:47 ` [PATCH 25/41] TTY: add tty_port_link_device Jiri Slaby
2012-08-07 19:47 ` [PATCH 26/41] TTY: use tty_port_link_device Jiri Slaby
2012-08-07 19:47 ` [PATCH 27/41] TTY: synclink_cs, sanitize fail paths Jiri Slaby
2012-08-07 19:47 ` [PATCH 28/41] TTY: synclink_cs, use dynamic tty devices Jiri Slaby
2012-08-07 19:47 ` [PATCH 29/41] TTY: synclink_cs, final cleanup in synclink_cs_init Jiri Slaby
2012-08-07 19:47 ` [PATCH 30/41] TTY: moxa, convert to dynamic device Jiri Slaby
2012-08-07 19:47 ` [PATCH 31/41] TTY: nfcon, add tty_port and link it Jiri Slaby
2012-08-07 19:47 ` [PATCH 32/41] TTY: con3215, unset raw3215[line] Jiri Slaby
2012-08-07 19:47 ` [PATCH 33/41] TTY: con3215, add tty install Jiri Slaby
2012-08-07 19:47 ` [PATCH 34/41] TTY: i4l, " Jiri Slaby
2012-08-07 19:48 ` [PATCH 35/41] TTY: synclink, " Jiri Slaby
2012-08-07 19:48 ` [PATCH 36/41] TTY: synclinkmp, " Jiri Slaby
2012-08-07 19:48 ` [PATCH 37/41] TTY: ircomm_tty, " Jiri Slaby
2012-08-07 19:48 ` [PATCH 38/41] TTY: tty3270, " Jiri Slaby
2012-08-07 19:48 ` [PATCH 39/41] TTY: hvc_console, " Jiri Slaby
2012-08-07 19:48 ` [PATCH 40/41] TTY: hvcs, clean hvcs_open a bit Jiri Slaby
2012-08-07 19:48 ` [PATCH 41/41] TTY: hvcs, add tty install Jiri Slaby
2012-08-08 20:26 ` [PATCH v2 18/41] TTY: pty, switch to tty_alloc_driver Jiri Slaby
2012-08-08 20:26   ` [PATCH v2 19/41] TTY: move allocations " Jiri Slaby
2012-08-08 20:26   ` [PATCH v2 20/41] TTY: add support for unnumbered device nodes Jiri Slaby
2012-08-08 20:26   ` [PATCH v2 21/41] TTY: move cdev_add to tty_register_device Jiri Slaby

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox