mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* Re: [PATCH 60/80] tty: extract the pty init time special cases
@ 2009-01-22  2:16 bmckinlay
  2009-01-22 12:40 ` Alan Cox
  0 siblings, 1 reply; 8+ messages in thread
From: bmckinlay @ 2009-01-22  2:16 UTC (permalink / raw)
  To: linux-kernel

My question/comment is in regards to the following patch indicated below 
that was posted on October 13, 2008.
 
>  From Alan Cox <>
> Subject       [PATCH 60/80] tty: extract the pty init time special cases
> Date  Mon, 13 Oct 2008 10:42:39 +0100
>
> From: Alan Cox <alan@redhat.com>
> 
> The majority of the remaining init_dev code is pty special cases. We 
> refactor this code into the driver->install method.
> 
> Signed-off-by: Alan Cox <alan@redhat.com>
> ---
>  drivers/char/pty.c    |  126 ++++++++++++++++++++++++++++---
>  drivers/char/tty_io.c |  198 
+++++++++++++++++--------------------------------
>  include/linux/tty.h   |    5 +
>  3 files changed, 187 insertions(+), 142 deletions(-)
> 

This patch seems to break any other pseudo tty drivers, (ie driver->type 
==TTY_DRIVER_TYPE_PTY) since not all the tty functions needed for the 
driver's new driver->install method are exported from tty_io.c.  The 
function symbols that need to be exported from /drivers/char/tty_io.c are 
the following:

   EXPORT_SYMBOL_GPL(alloc_tty_struct);
   EXPORT_SYMBOL_GPL(free_tty_struct);
   EXPORT_SYMBOL_GPL(tty_init_termios);
   EXPORT_SYMBOL_GPL(initialize_tty_struct);

I've added these lines and recompiled a 2.6.28 kernel along with adding 
new driver->install methods to my master and slave pseudo tty driver and 
it seems to work fine now.

Before I go ahead and post a patch, does anyone see any problems with 
this?





^ permalink raw reply	[flat|nested] 8+ messages in thread
* [PATCH 00/80] TTY updates for 2.6.28
@ 2008-10-13  9:31 Alan Cox
  2008-10-13  9:42 ` [PATCH 60/80] tty: extract the pty init time special cases Alan Cox
  0 siblings, 1 reply; 8+ messages in thread
From: Alan Cox @ 2008-10-13  9:31 UTC (permalink / raw)
  To: torvalds, linux-kernel

The big thrust of this is krefs. The tty and tty drivers are now kref accounted
and this allows some of the locking to be simplified. The pty special casing
has been mostly pushed into the pty layer and the open paths simplified so we
are close to disposing of the BKL on open/close.

Also fix a pile of bugs found in the tty layer during this process and in
driver code.

Finally we add the basics of termiox (the standard Unix termios extension) as
bits of it are now needed by people wanting things like non-standard handshake.

Resynched against the current git tree as of this morning.

Signed-off-by: Alan Cox <alan@redhat.com>


---

Adrian Bunk (1):
      coldfire: scheduled SERIAL_COLDFIRE removal

Akinobu Mita (1):
      ip2: avoid add_timer with pending timer

Alan Cox (46):
      tty: rename the remaining oddly named n_tty functions
      fs3270: Correct error returns
      fs3270: remove extra locks
      applicom: Fix an unchecked user ioctl range and an error return
      tty: Minor tidyups and document fixes for n_tty
      tty: Remove lots of NULL checks
      tty: fix up gigaset a bit
      tty: some ICANON magic is in the wrong places
      tty: simplify ktermios allocation
      pty: simplify unix98 allocation
      pty: Fix allocation failure double free
      pty: Coding style and polish
      tty: extract the pty init time special cases
      tty: Finish fixing up the init_dev interface to use ERR_PTR
      tty: More driver operations
      tty: kref the tty driver object
      tty: Clean up the tty_init_dev changes further
      tty: Remove more special casing and out of place code
      tty: shutdown method
      vt: remove bogus lock dropping
      pty: If the administrator creates a device for a ptmx slave we should not error
      tty: Fix abusers of current->sighand->tty
      tty: Redo current tty locking
      tty: the vhangup syscall is racy
      mxser: Switch to kref tty
      stallion: Use krefs
      tty: kref usage for isicom and moxa
      tty: usb-serial krefs
      tty: Move tty_write_message out of kernel/printk
      tty: Make get_current_tty use a kref
      tty: compare the tty winsize
      tty: Termios locking - sort out real_tty confusions and lock reads
      tty: Add termiox
      tty: ipw need reworking
      tty: Cris has a nice RS485 ioctl so we should steal it
      tty: use krefs to protect driver module counts
      tty: Add a kref count
      pps: Reserve a line discipline number for PPS
      tty: Split tty_port into its own file
      tty: split the buffering from tty_io
      uml: small cleanups and note bugs to be dealt with by uml authors...
      tty: move tioclinux from a special case
      serial_8250: pci_enable_device fail is not fully handled
      ftdi: A few errors are err() that should be debug which causes much spewage
      nozomi: Fix close on error
      epca: call tty_port_init

Andrew Morton (1):
      serial-make-uart_ports-ioport-unsigned-long-fix

David Miller (2):
      serial: allow 8250 to be used on sparc
      serial: Make uart_port's ioport "unsigned long".

David S. Miller (1):
      serial: fix device name reporting when minor space is shared between drivers

Graf Yang (1):
      Blackfin Serial Driver: Fix bug - ircp fails on sir over Blackfin UART

Jason Wessel (2):
      tty: tty_io.c shadows sparse fix
      usb: fix pl2303 initialization

Jiri Slaby (6):
      ip2, init/deinit cleanup
      ip2, fix sparse warnings
      ip2, cleanup globals
      Char: merge ip2main and ip2base
      Char: sx, fix io unmapping
      Char: cyclades. remove bogus iomap

Julia Lawall (2):
      drivers/char/hvc_console.c: adjust call to put_tty_driver
      drivers/serial/crisv10.c: add missing put_tty_driver

Mike Frysinger (3):
      Blackfin Serial Driver: move common variables out of serial headers and into the serial driver
      Blackfin Serial Driver: trim trailing whitespace -- no functional changes
      Blackfin Serial Driver: use __initdata for data, not __init

Miloslav Trmac (1):
      audit: Handle embedded NUL in TTY input auditing

Scott Ashcroft (1):
      Fix oti6858 debug level

Sonic Zhang (4):
      Blackfin Serial Driver: Fix bug - request UART2/3 peripheral mapped interrupts in PIO mode
      Blackfin Serial Driver: Fix bug - Don't call tx_stop in tx_transfer.
      Blackfin Serial Driver: Remove useless stop
      Blackfin Serial Driver: Fix bug - should suspend/resume/remove all uart ports.

Stephen Rothwell (1):
      tty: Fallout from tty-move-canon-specials

Sukadev Bhattiprolu (6):
      Simplify devpts_pty_kill
      Simplify devpts_pty_new()
      Simplify devpts_get_tty()
      Add an instance parameter devpts interfaces
      Move tty lookup/reopen to caller
      tty: Move parts of tty_init_dev into new functions

\\\"Will Newton\\\ (1):
      8250: remove a few inlines of dubious value


 Documentation/feature-removal-schedule.txt         |    8 
 arch/blackfin/kernel/bfin_dma_5xx.c                |   13 
 .../mach-bf527/include/mach/bfin_serial_5xx.h      |    6 
 .../mach-bf533/include/mach/bfin_serial_5xx.h      |    4 
 .../mach-bf537/include/mach/bfin_serial_5xx.h      |    6 
 .../mach-bf548/include/mach/bfin_serial_5xx.h      |    6 
 .../mach-bf561/include/mach/bfin_serial_5xx.h      |    4 
 arch/sparc/include/asm/serial.h                    |    6 
 arch/um/drivers/line.c                             |    2 
 drivers/bluetooth/hci_ldisc.c                      |    2 
 drivers/char/Kconfig                               |    4 
 drivers/char/Makefile                              |    2 
 drivers/char/amiserial.c                           |    6 
 drivers/char/applicom.c                            |    6 
 drivers/char/cyclades.c                            |   21 
 drivers/char/epca.c                                |    5 
 drivers/char/generic_serial.c                      |   21 
 drivers/char/hvc_console.c                         |    4 
 drivers/char/ip2/Makefile                          |    2 
 drivers/char/ip2/i2ellis.c                         |   32 
 drivers/char/ip2/i2ellis.h                         |    2 
 drivers/char/ip2/ip2base.c                         |  108 -
 drivers/char/ip2/ip2main.c                         |  550 +++---
 drivers/char/isicom.c                              |   61 -
 drivers/char/istallion.c                           |  113 +
 drivers/char/moxa.c                                |   61 -
 drivers/char/mxser.c                               |  193 +-
 drivers/char/n_hdlc.c                              |    2 
 drivers/char/n_r3964.c                             |    8 
 drivers/char/n_tty.c                               |  125 +
 drivers/char/nozomi.c                              |    5 
 drivers/char/pcmcia/ipwireless/tty.c               |   19 
 drivers/char/pty.c                                 |  335 +++
 drivers/char/stallion.c                            |  139 +
 drivers/char/sx.c                                  |    4 
 drivers/char/tty_audit.c                           |    2 
 drivers/char/tty_buffer.c                          |  511 +++++
 drivers/char/tty_io.c                              | 1380 ++++----------
 drivers/char/tty_ioctl.c                           |  212 ++
 drivers/char/tty_port.c                            |   96 +
 drivers/char/vt.c                                  |   84 -
 drivers/char/vt_ioctl.c                            |    2 
 drivers/isdn/capi/capi.c                           |    2 
 drivers/isdn/gigaset/ser-gigaset.c                 |   27 
 drivers/net/wan/Kconfig                            |    2 
 drivers/s390/char/fs3270.c                         |   17 
 drivers/serial/8250.c                              |   52 -
 drivers/serial/8250_pci.c                          |    4 
 drivers/serial/Kconfig                             |   17 
 drivers/serial/Makefile                            |   16 
 drivers/serial/bfin_5xx.c                          |  123 +
 drivers/serial/crisv10.c                           |    5 
 drivers/serial/mcfserial.c                         | 1965 --------------------
 drivers/serial/mcfserial.h                         |   74 -
 drivers/serial/serial_core.c                       |   12 
 drivers/usb/serial/aircable.c                      |   15 
 drivers/usb/serial/belkin_sa.c                     |    3 
 drivers/usb/serial/console.c                       |    8 
 drivers/usb/serial/cyberjack.c                     |    3 
 drivers/usb/serial/cypress_m8.c                    |    5 
 drivers/usb/serial/digi_acceleport.c               |   19 
 drivers/usb/serial/empeg.c                         |    8 
 drivers/usb/serial/ftdi_sio.c                      |   25 
 drivers/usb/serial/garmin_gps.c                    |    3 
 drivers/usb/serial/generic.c                       |    3 
 drivers/usb/serial/io_edgeport.c                   |   43 
 drivers/usb/serial/io_ti.c                         |   26 
 drivers/usb/serial/ipaq.c                          |    3 
 drivers/usb/serial/ipw.c                           |    3 
 drivers/usb/serial/ir-usb.c                        |    3 
 drivers/usb/serial/iuu_phoenix.c                   |    3 
 drivers/usb/serial/keyspan.c                       |   77 -
 drivers/usb/serial/keyspan_pda.c                   |   16 
 drivers/usb/serial/kl5kusb105.c                    |    3 
 drivers/usb/serial/kobil_sct.c                     |    3 
 drivers/usb/serial/mct_u232.c                      |    6 
 drivers/usb/serial/mos7720.c                       |   36 
 drivers/usb/serial/mos7840.c                       |    7 
 drivers/usb/serial/navman.c                        |    3 
 drivers/usb/serial/omninet.c                       |   10 
 drivers/usb/serial/option.c                        |   18 
 drivers/usb/serial/oti6858.c                       |    7 
 drivers/usb/serial/pl2303.c                        |   15 
 drivers/usb/serial/safe_serial.c                   |   11 
 drivers/usb/serial/sierra.c                        |   16 
 drivers/usb/serial/spcp8x5.c                       |    3 
 drivers/usb/serial/ti_usb_3410_5052.c              |   44 
 drivers/usb/serial/usb-serial.c                    |   24 
 drivers/usb/serial/visor.c                         |   18 
 drivers/usb/serial/whiteheat.c                     |    8 
 fs/devpts/inode.c                                  |   66 -
 fs/dquot.c                                         |    6 
 fs/open.c                                          |    3 
 include/asm-x86/ioctls.h                           |    6 
 include/linux/devpts_fs.h                          |   31 
 include/linux/serial.h                             |   16 
 include/linux/serial_core.h                        |    2 
 include/linux/termios.h                            |   15 
 include/linux/tty.h                                |   45 
 include/linux/tty_driver.h                         |   56 +
 include/linux/vt_kern.h                            |    2 
 kernel/acct.c                                      |    2 
 kernel/auditsc.c                                   |    9 
 kernel/fork.c                                      |    5 
 kernel/printk.c                                    |   16 
 kernel/sys.c                                       |    4 
 security/selinux/hooks.c                           |    3 
 107 files changed, 2877 insertions(+), 4396 deletions(-)
 create mode 100644 arch/sparc/include/asm/serial.h
 delete mode 100644 drivers/char/ip2/ip2base.c
 create mode 100644 drivers/char/tty_buffer.c
 create mode 100644 drivers/char/tty_port.c
 delete mode 100644 drivers/serial/mcfserial.c
 delete mode 100644 drivers/serial/mcfserial.h

-- 
Signature

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

end of thread, other threads:[~2009-02-02 15:47 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-01-22  2:16 [PATCH 60/80] tty: extract the pty init time special cases bmckinlay
2009-01-22 12:40 ` Alan Cox
2009-01-28 20:36   ` bmckinlay
2009-01-28 20:47     ` Alan Cox
2009-01-29 18:30       ` bmckinlay
2009-01-29 19:34         ` Alan Cox
2009-02-02 15:42           ` bmckinlay
  -- strict thread matches above, loose matches on Subject: below --
2008-10-13  9:31 [PATCH 00/80] TTY updates for 2.6.28 Alan Cox
2008-10-13  9:42 ` [PATCH 60/80] tty: extract the pty init time special cases Alan Cox

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

all inboxes | Powered by JetHome®