linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/68] TTY buffer in tty_port -- prep no. 1
@ 2012-03-05 13:51 Jiri Slaby
  2012-03-05 13:51 ` [PATCH 01/68] USB: cdc-acm, use tty_standard_install Jiri Slaby
                   ` (69 more replies)
  0 siblings, 70 replies; 79+ messages in thread
From: Jiri Slaby @ 2012-03-05 13:51 UTC (permalink / raw)
  To: gregkh; +Cc: alan, linux-serial, linux-kernel, jirislaby

Hi,
								      
this is the first 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 won't 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, only first few drivers are converted to use
tty_port. The rest is to come later.

The first few patches are simple fixes/cleanups which emerged during
the code investigation here and there. Further serialP header removal
happens there. Finally, some drivers are forced to use tty_port, which
will become a necessity in the future.

Simserial (ia64) and standard x86 stuff were runtime-tested. The rest
is only checked to be compilation-errors free.

Final remark: simserial stuff depends on 4 patches sent to Tony Luck
last week. They are in hist tree and -next already.

Jiri Slaby (68):
  USB: cdc-acm, use tty_standard_install
  TTY: tty_io, remove buffer re-assignments
  TTY: let alloc_tty_driver deduce the owner automatically
  TTY: remove minor_num from tty_driver
  TTY: remove re-assignments to tty_driver members
  TTY: simplify tty_driver_lookup_tty a bit
  TTY: remove tty driver re-set from tty_reopen
  TTY: serial, simplify ASYNC_USR_MASK
  TTY: tty_driver, document tty->ops->shutdown limitation
  ALPHA: srmcons, use timer functions
  ALPHA: srmcons, fix racy singleton structure
  TTY: srmcons, convert to use tty_port
  TTY: serialP, remove DECLARE_WAITQUEUE check
  TTY: remove unneeded tty->index checks
  TTY: ipwireless, fix tty->index handling
  NET: pc300, do not zero global variables
  NET: pc300, show version info from module init
  XTENSA: iss/console, use setup_timer
  XTENSA: iss/console, fix potential deadlock
  TTY: iss/console, use tty_port
  TTY: serial, use atomic_inc_return in ioc4_serial
  TTY: serial, include pci.h in m32r_sio
  TTY: remove serialP.h inclusion from some files
  TTY: speakup, do not use serialP
  TTY: serialP, remove unused material
  TTY: amiserial, remove tasklet for tty_wakeup
  TTY: amiserial, use only one copy of async flags
  TTY: simserial, use only one copy of async flags
  TTY: simserial/amiserial, use one instance of other members
  TTY: simserial, remove support of shared interrupts
  TTY: simserial, remove IRQ_T
  TTY: amiserial, remove IRQ_ports
  TTY: serialP, merge serial_state and async_struct
  TTY: amiserial, simplify set_serial_info
  TTY: amiserial, pass tty down to functions
  TTY: simserial, pass tty down to functions
  TTY: amiserial/simserial, use tty_port
  TTY: amiserial/simserial, use close delays from tty_port
  TTY: amiserial/simserial, use count from tty_port
  TTY: amiserial/simserial, use flags from tty_port
  TTY: simserial, remove static initialization
  TTY: simserial, remove tmp_buf
  TTY: simserial, stop using serial_state->{line,icount}
  TTY: simserial no longer needs serialP
  TTY: simserial, define local tty_port pointer
  TTY: simserial, remove some tty ops
  TTY: simserial, use tty_port_close_end
  TTY: simserial, use tty_port_close_start
  TTY: simserial, properly refcount tty_port->tty
  TTY: simserial, use tty_port_open
  TTY: simserial, use tty_port_hangup
  TTY: simserial, remove useless comments
  TTY: simserial, fix includes
  TTY: simserial, reindent some code
  TTY: simserial, final cleanup
  TTY: amiserial, define local tty_port pointer
  TTY: amiserial, stop using serial_state->{irq,type,line}
  TTY: amiserial no longer needs serialP
  TTY: amiserial, provide carrier helpers
  TTY: amiserial, use tty_port_block_til_ready
  TTY: amiserial, use tty_port_close_end
  TTY: amiserial, use tty_port_close_start
  TTY: pdc_cons, fix racy tty test
  TTY: pdc_cons, fix open vs timer race
  TTY: pdc_cons, fix open vs pdc_console_tty_driver race
  TTY: pdc_cons, use tty_port
  TTY: isdn/gigaset, do not set tty->driver_data to NULL
  TTY: isdn/gigaset, use tty_port

 arch/alpha/kernel/srmcons.c         |   78 ++--
 arch/ia64/hp/sim/simserial.c        |  687 +++++++-------------------------
 arch/m68k/emu/nfcon.c               |    1 -
 arch/parisc/kernel/pdc_cons.c       |   59 ++-
 arch/xtensa/platforms/iss/console.c |   22 +-
 drivers/char/pcmcia/synclink_cs.c   |    3 +-
 drivers/char/ttyprintk.c            |    2 -
 drivers/isdn/capi/capi.c            |    4 +-
 drivers/isdn/gigaset/common.c       |    5 +-
 drivers/isdn/gigaset/gigaset.h      |    3 +-
 drivers/isdn/gigaset/interface.c    |  158 ++------
 drivers/isdn/i4l/isdn_tty.c         |    7 +-
 drivers/misc/pti.c                  |    6 +-
 drivers/mmc/card/sdio_uart.c        |    1 -
 drivers/net/usb/hso.c               |    2 -
 drivers/net/wan/pc300_drv.c         |   13 +-
 drivers/net/wan/pc300_tty.c         |   18 -
 drivers/s390/char/con3215.c         |    9 +-
 drivers/s390/char/sclp_tty.c        |    1 -
 drivers/s390/char/sclp_vt220.c      |    1 -
 drivers/s390/char/tty3270.c         |    1 -
 drivers/staging/speakup/serialio.c  |   11 +-
 drivers/staging/speakup/serialio.h  |   13 +-
 drivers/staging/speakup/spk_priv.h  |    2 +-
 drivers/staging/speakup/synth.c     |    2 +-
 drivers/tty/amiserial.c             |  730 +++++++++++------------------------
 drivers/tty/bfin_jtag_comm.c        |    1 -
 drivers/tty/cyclades.c              |    7 +-
 drivers/tty/ehv_bytechan.c          |    1 -
 drivers/tty/hvc/hvc_console.c       |    1 -
 drivers/tty/hvc/hvcs.c              |   26 +-
 drivers/tty/hvc/hvsi.c              |    6 +-
 drivers/tty/ipwireless/tty.c        |   37 +-
 drivers/tty/isicom.c                |    3 -
 drivers/tty/moxa.c                  |    1 -
 drivers/tty/mxser.c                 |    5 -
 drivers/tty/n_gsm.c                 |    1 -
 drivers/tty/nozomi.c                |    1 -
 drivers/tty/pty.c                   |    4 -
 drivers/tty/rocket.c                |    7 +-
 drivers/tty/serial/68328serial.c    |    9 +-
 drivers/tty/serial/crisv10.c        |   15 +-
 drivers/tty/serial/ifx6x60.c        |    3 -
 drivers/tty/serial/ioc4_serial.c    |    3 +-
 drivers/tty/serial/m32r_sio.c       |    1 -
 drivers/tty/serial/m32r_sio.h       |    1 +
 drivers/tty/serial/msm_smd_tty.c    |    1 -
 drivers/tty/serial/serial_core.c    |    1 -
 drivers/tty/synclink.c              |    3 +-
 drivers/tty/synclink_gt.c           |    3 +-
 drivers/tty/synclinkmp.c            |    3 +-
 drivers/tty/tty_io.c                |   12 +-
 drivers/tty/vt/vt.c                 |    2 +-
 drivers/usb/class/cdc-acm.c         |    8 +-
 drivers/usb/gadget/u_serial.c       |    4 -
 drivers/usb/serial/usb-serial.c     |    1 -
 include/linux/serial.h              |    4 +-
 include/linux/serialP.h             |  142 -------
 include/linux/tty_driver.h          |    8 +-
 net/bluetooth/rfcomm/tty.c          |    1 -
 net/irda/ircomm/ircomm_tty.c        |    7 +-
 61 files changed, 542 insertions(+), 1630 deletions(-)
 delete mode 100644 include/linux/serialP.h

-- 
1.7.9.2

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

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

Thread overview: 79+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-05 13:51 [PATCH 00/68] TTY buffer in tty_port -- prep no. 1 Jiri Slaby
2012-03-05 13:51 ` [PATCH 01/68] USB: cdc-acm, use tty_standard_install Jiri Slaby
2012-03-05 14:03   ` Jiri Slaby
2012-03-05 14:14     ` Oliver Neukum
2012-03-05 23:39   ` Alan Cox
2012-03-05 13:51 ` [PATCH 02/68] TTY: tty_io, remove buffer re-assignments Jiri Slaby
2012-03-05 13:51 ` [PATCH 03/68] TTY: let alloc_tty_driver deduce the owner automatically Jiri Slaby
2012-03-05 13:51 ` [PATCH 04/68] TTY: remove minor_num from tty_driver Jiri Slaby
2012-03-05 13:51 ` [PATCH 05/68] TTY: remove re-assignments to tty_driver members Jiri Slaby
2012-03-06 23:49   ` Tilman Schmidt
2012-03-05 13:51 ` [PATCH 06/68] TTY: simplify tty_driver_lookup_tty a bit Jiri Slaby
2012-03-05 13:51 ` [PATCH 07/68] TTY: remove tty driver re-set from tty_reopen Jiri Slaby
2012-03-05 13:51 ` [PATCH 08/68] TTY: serial, simplify ASYNC_USR_MASK Jiri Slaby
2012-03-05 13:51 ` [PATCH 09/68] TTY: tty_driver, document tty->ops->shutdown limitation Jiri Slaby
2012-03-05 13:51 ` [PATCH 10/68] ALPHA: srmcons, use timer functions Jiri Slaby
2012-03-05 13:51 ` [PATCH 11/68] ALPHA: srmcons, fix racy singleton structure Jiri Slaby
2012-03-05 13:51 ` [PATCH 12/68] TTY: srmcons, convert to use tty_port Jiri Slaby
2012-03-05 13:52 ` [PATCH 13/68] TTY: serialP, remove DECLARE_WAITQUEUE check Jiri Slaby
2012-03-05 13:52 ` [PATCH 14/68] TTY: remove unneeded tty->index checks Jiri Slaby
2012-03-05 13:52 ` [PATCH 15/68] TTY: ipwireless, fix tty->index handling Jiri Slaby
2012-03-05 14:03   ` Jiri Kosina
2012-03-05 13:52 ` [PATCH 16/68] NET: pc300, do not zero global variables Jiri Slaby
2012-03-05 13:52 ` [PATCH 17/68] NET: pc300, show version info from module init Jiri Slaby
2012-03-05 13:52 ` [PATCH 18/68] XTENSA: iss/console, use setup_timer Jiri Slaby
2012-03-05 13:52 ` [PATCH 19/68] XTENSA: iss/console, fix potential deadlock Jiri Slaby
2012-03-05 13:52 ` [PATCH 20/68] TTY: iss/console, use tty_port Jiri Slaby
2012-03-05 13:52 ` [PATCH 21/68] TTY: serial, use atomic_inc_return in ioc4_serial Jiri Slaby
2012-03-05 13:52 ` [PATCH 22/68] TTY: serial, include pci.h in m32r_sio Jiri Slaby
2012-03-05 13:52 ` [PATCH 23/68] TTY: remove serialP.h inclusion from some files Jiri Slaby
2012-03-05 13:52 ` [PATCH 24/68] TTY: speakup, do not use serialP Jiri Slaby
2012-03-05 13:52 ` [PATCH 25/68] TTY: serialP, remove unused material Jiri Slaby
2012-03-05 13:52 ` [PATCH 26/68] TTY: amiserial, remove tasklet for tty_wakeup Jiri Slaby
2012-03-05 13:52 ` [PATCH 27/68] TTY: amiserial, use only one copy of async flags Jiri Slaby
2012-03-05 13:52 ` [PATCH 28/68] TTY: simserial, " Jiri Slaby
2012-03-05 13:52 ` [PATCH 29/68] TTY: simserial/amiserial, use one instance of other members Jiri Slaby
2012-03-05 13:52 ` [PATCH 30/68] TTY: simserial, remove support of shared interrupts Jiri Slaby
2012-03-05 13:52 ` [PATCH 31/68] TTY: simserial, remove IRQ_T Jiri Slaby
2012-03-05 13:52 ` [PATCH 32/68] TTY: amiserial, remove IRQ_ports Jiri Slaby
2012-03-05 13:52 ` [PATCH 33/68] TTY: serialP, merge serial_state and async_struct Jiri Slaby
2012-03-05 13:52 ` [PATCH 34/68] TTY: amiserial, simplify set_serial_info Jiri Slaby
2012-03-05 13:52 ` [PATCH 35/68] TTY: amiserial, pass tty down to functions Jiri Slaby
2012-03-05 13:52 ` [PATCH 36/68] TTY: simserial, " Jiri Slaby
2012-03-05 13:52 ` [PATCH 37/68] TTY: amiserial/simserial, use tty_port Jiri Slaby
2012-03-05 13:52 ` [PATCH 38/68] TTY: amiserial/simserial, use close delays from tty_port Jiri Slaby
2012-03-05 13:52 ` [PATCH 39/68] TTY: amiserial/simserial, use count " Jiri Slaby
2012-03-05 13:52 ` [PATCH 40/68] TTY: amiserial/simserial, use flags " Jiri Slaby
2012-03-05 13:52 ` [PATCH 41/68] TTY: simserial, remove static initialization Jiri Slaby
2012-03-05 13:52 ` [PATCH 42/68] TTY: simserial, remove tmp_buf Jiri Slaby
2012-03-05 13:52 ` [PATCH 43/68] TTY: simserial, stop using serial_state->{line,icount} Jiri Slaby
2012-03-05 13:52 ` [PATCH 44/68] TTY: simserial no longer needs serialP Jiri Slaby
2012-03-05 13:52 ` [PATCH 45/68] TTY: simserial, define local tty_port pointer Jiri Slaby
2012-03-05 13:52 ` [PATCH 46/68] TTY: simserial, remove some tty ops Jiri Slaby
2012-03-05 13:52 ` [PATCH 48/68] TTY: simserial, use tty_port_close_start Jiri Slaby
2012-03-05 13:52 ` [PATCH 49/68] TTY: simserial, properly refcount tty_port->tty Jiri Slaby
2012-03-05 13:52 ` [PATCH 50/68] TTY: simserial, use tty_port_open Jiri Slaby
2012-03-05 13:52 ` [PATCH 51/68] TTY: simserial, use tty_port_hangup Jiri Slaby
2012-03-05 13:52 ` [PATCH 52/68] TTY: simserial, remove useless comments Jiri Slaby
2012-03-05 13:52 ` [PATCH 53/68] TTY: simserial, fix includes Jiri Slaby
2012-03-05 13:52 ` [PATCH 54/68] TTY: simserial, reindent some code Jiri Slaby
2012-03-05 13:52 ` [PATCH 55/68] TTY: simserial, final cleanup Jiri Slaby
2012-03-05 13:52 ` [PATCH 56/68] TTY: amiserial, define local tty_port pointer Jiri Slaby
2012-03-05 13:52 ` [PATCH 57/68] TTY: amiserial, stop using serial_state->{irq,type,line} Jiri Slaby
2012-03-05 13:52 ` [PATCH 58/68] TTY: amiserial no longer needs serialP Jiri Slaby
2012-03-05 13:52 ` [PATCH 59/68] TTY: amiserial, provide carrier helpers Jiri Slaby
2012-03-05 13:52 ` [PATCH 60/68] TTY: amiserial, use tty_port_block_til_ready Jiri Slaby
2012-03-05 13:52 ` [PATCH 61/68] TTY: amiserial, use tty_port_close_end Jiri Slaby
2012-03-05 13:52 ` [PATCH 62/68] TTY: amiserial, use tty_port_close_start Jiri Slaby
2012-03-05 13:52 ` [PATCH 63/68] TTY: pdc_cons, fix racy tty test Jiri Slaby
2012-03-05 13:52 ` [PATCH 64/68] TTY: pdc_cons, fix open vs timer race Jiri Slaby
2012-03-05 13:52 ` [PATCH 65/68] TTY: pdc_cons, fix open vs pdc_console_tty_driver race Jiri Slaby
2012-03-05 13:52 ` [PATCH 66/68] TTY: pdc_cons, use tty_port Jiri Slaby
2012-03-05 13:52 ` [PATCH 67/68] TTY: isdn/gigaset, do not set tty->driver_data to NULL Jiri Slaby
2012-03-05 17:05   ` Tilman Schmidt
2012-03-05 17:12     ` Jiri Slaby
2012-03-05 13:52 ` [PATCH 68/68] TTY: isdn/gigaset, use tty_port Jiri Slaby
2012-03-05 17:08   ` Tilman Schmidt
2012-03-08 19:50 ` [PATCH 00/68] TTY buffer in tty_port -- prep no. 1 Greg KH
2012-03-08 20:51 ` Greg KH
2012-03-18  8:56 ` Geert Uytterhoeven

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