public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [GIT PATCH] TTY/serial driver patches for .39
@ 2011-03-16 20:57 Greg KH
       [not found] ` <1300309966-5745-1-git-send-email-gregkh@suse.de>
  0 siblings, 1 reply; 3+ messages in thread
From: Greg KH @ 2011-03-16 20:57 UTC (permalink / raw)
  To: Linus Torvalds, Andrew Morton; +Cc: linux-kernel, linux-serial

Here's the big tty/serial merge for .39

Lots of file movements, as we are depreciating a number of broken and
obsolete serial drivers that haven't been used in years by moving them
to the staging directory.  If no one speaks up in the next 6 months they
will be removed then.

Other than that, nothing major, some new drivers and some tty api
changes to try to make the api a bit more sane (removing the file handle
from the ioctl calls).  A new tty core ioctl was added to make console
controller lives easier as well.

Please pull from:
	master.kernel.org:/pub/scm/linux/kernel/git/gregkh/tty-2.6.git/ tty-next

All of these patches have been in the -mm and -next trees for a number
of weeks.

Patches will be sent to the linux-serial mailing list, if anyone wants
to see them.

thanks,

greg k-h

------------

 Documentation/serial/n_gsm.txt                     |   89 +
 MAINTAINERS                                        |   16 +-
 arch/alpha/include/asm/ioctls.h                    |    1 +
 arch/ia64/hp/sim/simserial.c                       |    3 +-
 arch/m68k/Kconfig                                  |    8 -
 arch/mips/include/asm/ioctls.h                     |    1 +
 arch/parisc/include/asm/ioctls.h                   |    1 +
 arch/powerpc/include/asm/ioctls.h                  |    1 +
 arch/sh/include/asm/ioctls.h                       |    1 +
 arch/sparc/include/asm/ioctls.h                    |    1 +
 arch/xtensa/include/asm/ioctls.h                   |    1 +
 drivers/bluetooth/hci_ath.c                        |   26 +-
 drivers/char/Kconfig                               |  540 +------
 drivers/char/Makefile                              |   24 -
 drivers/char/pcmcia/Makefile                       |    2 -
 drivers/char/pcmcia/synclink_cs.c                  |   13 +-
 drivers/char/ttyprintk.c                           |    2 +-
 drivers/isdn/capi/capi.c                           |   10 +-
 drivers/isdn/gigaset/interface.c                   |   12 +-
 drivers/isdn/gigaset/ser-gigaset.c                 |    2 +-
 drivers/isdn/i4l/isdn_tty.c                        |    7 +-
 drivers/misc/Kconfig                               |    7 +-
 drivers/misc/pch_phub.c                            |   85 +-
 drivers/mmc/card/sdio_uart.c                       |    4 +-
 drivers/net/irda/irtty-sir.c                       |    2 +-
 drivers/net/usb/hso.c                              |   10 +-
 drivers/net/wan/pc300_tty.c                        |    9 +-
 drivers/s390/char/keyboard.c                       |    4 +-
 drivers/s390/char/keyboard.h                       |    2 +-
 drivers/s390/char/tty3270.c                        |   14 +-
 drivers/staging/Kconfig                            |    4 +
 drivers/staging/Makefile                           |    2 +
 drivers/staging/generic_serial/Kconfig             |   45 +
 drivers/staging/generic_serial/Makefile            |    6 +
 drivers/staging/generic_serial/TODO                |    6 +
 .../generic_serial}/generic_serial.c               |    4 +-
 .../{char => staging/generic_serial}/rio/Makefile  |    0
 .../{char => staging/generic_serial}/rio/board.h   |    0
 .../{char => staging/generic_serial}/rio/cirrus.h  |    0
 .../{char => staging/generic_serial}/rio/cmdblk.h  |    0
 .../{char => staging/generic_serial}/rio/cmdpkt.h  |    0
 .../{char => staging/generic_serial}/rio/daemon.h  |    0
 .../{char => staging/generic_serial}/rio/errors.h  |    0
 .../{char => staging/generic_serial}/rio/func.h    |    0
 .../{char => staging/generic_serial}/rio/host.h    |    0
 .../{char => staging/generic_serial}/rio/link.h    |    0
 .../generic_serial}/rio/linux_compat.h             |    0
 drivers/{char => staging/generic_serial}/rio/map.h |    0
 .../{char => staging/generic_serial}/rio/param.h   |    0
 .../{char => staging/generic_serial}/rio/parmmap.h |    0
 drivers/{char => staging/generic_serial}/rio/pci.h |    0
 drivers/{char => staging/generic_serial}/rio/phb.h |    0
 drivers/{char => staging/generic_serial}/rio/pkt.h |    0
 .../{char => staging/generic_serial}/rio/port.h    |    0
 .../{char => staging/generic_serial}/rio/protsts.h |    0
 drivers/{char => staging/generic_serial}/rio/rio.h |    0
 .../generic_serial}/rio/rio_linux.c                |    0
 .../generic_serial}/rio/rio_linux.h                |    0
 .../generic_serial}/rio/rioboard.h                 |    0
 .../{char => staging/generic_serial}/rio/rioboot.c |    0
 .../{char => staging/generic_serial}/rio/riocmd.c  |    0
 .../{char => staging/generic_serial}/rio/rioctrl.c |    0
 .../{char => staging/generic_serial}/rio/riodrvr.h |    0
 .../{char => staging/generic_serial}/rio/rioinfo.h |    0
 .../{char => staging/generic_serial}/rio/rioinit.c |    0
 .../{char => staging/generic_serial}/rio/riointr.c |    0
 .../generic_serial}/rio/rioioctl.h                 |    0
 .../generic_serial}/rio/rioparam.c                 |    0
 .../generic_serial}/rio/rioroute.c                 |    0
 .../generic_serial}/rio/riospace.h                 |    0
 .../generic_serial}/rio/riotable.c                 |    0
 .../{char => staging/generic_serial}/rio/riotty.c  |    0
 .../{char => staging/generic_serial}/rio/route.h   |    0
 drivers/{char => staging/generic_serial}/rio/rup.h |    0
 .../{char => staging/generic_serial}/rio/unixrup.h |    0
 .../{char => staging/generic_serial}/ser_a2232.c   |    6 +-
 .../{char => staging/generic_serial}/ser_a2232.h   |    0
 .../generic_serial}/ser_a2232fw.ax                 |    0
 .../{char => staging/generic_serial}/ser_a2232fw.h |    0
 drivers/{char => staging/generic_serial}/sx.c      |    8 +-
 drivers/{char => staging/generic_serial}/sx.h      |    0
 .../{char => staging/generic_serial}/sxboards.h    |    0
 .../{char => staging/generic_serial}/sxwindow.h    |    0
 drivers/{char => staging/generic_serial}/vme_scc.c |    4 +-
 drivers/staging/quatech_usb2/quatech_usb2.c        |    6 +-
 drivers/staging/serqt_usb2/serqt_usb2.c            |   13 +-
 drivers/staging/tty/Kconfig                        |   87 +
 drivers/staging/tty/Makefile                       |    7 +
 drivers/staging/tty/TODO                           |    6 +
 drivers/{char => staging/tty}/cd1865.h             |    0
 drivers/{char => staging/tty}/digi1.h              |    0
 drivers/{char => staging/tty}/digiFep1.h           |    0
 drivers/{char => staging/tty}/digiPCI.h            |    0
 drivers/{char => staging/tty}/epca.c               |   16 +-
 drivers/{char => staging/tty}/epca.h               |    0
 drivers/{char => staging/tty}/epcaconfig.h         |    0
 drivers/{char => staging/tty}/ip2/Makefile         |    0
 drivers/{char => staging/tty}/ip2/i2cmd.c          |    0
 drivers/{char => staging/tty}/ip2/i2cmd.h          |    0
 drivers/{char => staging/tty}/ip2/i2ellis.c        |    0
 drivers/{char => staging/tty}/ip2/i2ellis.h        |    0
 drivers/{char => staging/tty}/ip2/i2hw.h           |    0
 drivers/{char => staging/tty}/ip2/i2lib.c          |    0
 drivers/{char => staging/tty}/ip2/i2lib.h          |    0
 drivers/{char => staging/tty}/ip2/i2pack.h         |    0
 drivers/{char => staging/tty}/ip2/ip2.h            |    0
 drivers/{char => staging/tty}/ip2/ip2ioctl.h       |    0
 drivers/{char => staging/tty}/ip2/ip2main.c        |   12 +-
 drivers/{char => staging/tty}/ip2/ip2trace.h       |    0
 drivers/{char => staging/tty}/ip2/ip2types.h       |    0
 drivers/{char => staging/tty}/istallion.c          |    8 +-
 drivers/{char => staging/tty}/riscom8.c            |    8 +-
 drivers/{char => staging/tty}/riscom8.h            |    0
 drivers/{char => staging/tty}/riscom8_reg.h        |    0
 drivers/{char => staging/tty}/serial167.c          |    7 +-
 drivers/{char => staging/tty}/specialix.c          |    6 +-
 drivers/{char => staging/tty}/specialix_io8.h      |    0
 drivers/{char => staging/tty}/stallion.c           |    9 +-
 drivers/tty/Kconfig                                |  321 ++++
 drivers/tty/Makefile                               |   15 +
 drivers/{char => tty}/amiserial.c                  |    8 +-
 drivers/{char => tty}/bfin_jtag_comm.c             |    0
 drivers/{char => tty}/cyclades.c                   |    6 +-
 drivers/tty/hvc/Kconfig                            |  105 ++
 drivers/tty/hvc/Makefile                           |    1 +
 drivers/tty/hvc/hvc_bfin_jtag.c                    |  105 ++
 drivers/tty/hvc/hvc_dcc.c                          |   43 +-
 drivers/tty/hvc/hvsi.c                             |    6 +-
 drivers/{char/pcmcia => tty}/ipwireless/Makefile   |    0
 drivers/{char/pcmcia => tty}/ipwireless/hardware.c |    0
 drivers/{char/pcmcia => tty}/ipwireless/hardware.h |    0
 drivers/{char/pcmcia => tty}/ipwireless/main.c     |    0
 drivers/{char/pcmcia => tty}/ipwireless/main.h     |    0
 drivers/{char/pcmcia => tty}/ipwireless/network.c  |    0
 drivers/{char/pcmcia => tty}/ipwireless/network.h  |    0
 .../pcmcia => tty}/ipwireless/setup_protocol.h     |    0
 drivers/{char/pcmcia => tty}/ipwireless/tty.c      |    8 +-
 drivers/{char/pcmcia => tty}/ipwireless/tty.h      |    0
 drivers/{char => tty}/isicom.c                     |    8 +-
 drivers/{char => tty}/moxa.c                       |   10 +-
 drivers/{char => tty}/moxa.h                       |    0
 drivers/{char => tty}/mxser.c                      |    6 +-
 drivers/{char => tty}/mxser.h                      |    0
 drivers/tty/n_gsm.c                                |    9 +-
 drivers/{char => tty}/nozomi.c                     |   10 +-
 drivers/tty/pty.c                                  |    4 +-
 drivers/{char => tty}/rocket.c                     |    8 +-
 drivers/{char => tty}/rocket.h                     |    0
 drivers/{char => tty}/rocket_int.h                 |    0
 drivers/tty/serial/68328serial.c                   |   25 +-
 drivers/tty/serial/68328serial.h                   |    1 -
 drivers/tty/serial/68360serial.c                   |    6 +-
 drivers/tty/serial/8250.c                          |   33 +-
 drivers/tty/serial/Kconfig                         |   31 +-
 drivers/tty/serial/Makefile                        |    2 +
 drivers/tty/serial/altera_jtaguart.c               |   85 +-
 drivers/tty/serial/altera_uart.c                   |   22 +-
 drivers/tty/serial/atmel_serial.c                  |   16 +
 drivers/tty/serial/bfin_sport_uart.c               |    2 +-
 drivers/tty/serial/crisv10.c                       |    7 +-
 drivers/tty/serial/ifx6x60.c                       |   68 +-
 drivers/tty/serial/ifx6x60.h                       |    6 +-
 drivers/tty/serial/mfd.c                           |   73 +-
 drivers/tty/serial/mrst_max3110.c                  |    2 +-
 drivers/tty/serial/msm_serial_hs.c                 | 1880 ++++++++++++++++++++
 drivers/tty/serial/msm_smd_tty.c                   |  236 +++
 drivers/tty/serial/of_serial.c                     |   18 +-
 drivers/tty/serial/omap-serial.c                   |   11 +-
 drivers/tty/serial/pch_uart.c                      |  329 +++-
 drivers/tty/serial/serial_core.c                   |   22 +-
 drivers/{char => tty}/synclink.c                   |   13 +-
 drivers/{char => tty}/synclink_gt.c                |   19 +-
 drivers/{char => tty}/synclinkmp.c                 |   17 +-
 drivers/tty/tty_audit.c                            |    4 +-
 drivers/tty/tty_io.c                               |   22 +-
 drivers/tty/tty_ioctl.c                            |   14 +-
 drivers/tty/tty_ldisc.c                            |   17 +-
 drivers/tty/vt/keyboard.c                          |    5 +-
 drivers/tty/vt/vc_screen.c                         |  110 +-
 drivers/tty/vt/vt.c                                |   27 +-
 drivers/tty/vt/vt_ioctl.c                          |   12 +-
 drivers/usb/class/cdc-acm.c                        |    6 +-
 drivers/usb/serial/ark3116.c                       |    6 +-
 drivers/usb/serial/belkin_sa.c                     |    8 +-
 drivers/usb/serial/ch341.c                         |    7 +-
 drivers/usb/serial/cp210x.c                        |   19 +-
 drivers/usb/serial/cypress_m8.c                    |   12 +-
 drivers/usb/serial/digi_acceleport.c               |   14 +-
 drivers/usb/serial/ftdi_sio.c                      |   12 +-
 drivers/usb/serial/io_edgeport.c                   |   12 +-
 drivers/usb/serial/io_ti.c                         |    6 +-
 drivers/usb/serial/iuu_phoenix.c                   |    4 +-
 drivers/usb/serial/keyspan.c                       |    4 +-
 drivers/usb/serial/keyspan.h                       |    5 +-
 drivers/usb/serial/keyspan_pda.c                   |    4 +-
 drivers/usb/serial/kl5kusb105.c                    |    8 +-
 drivers/usb/serial/kobil_sct.c                     |   12 +-
 drivers/usb/serial/mct_u232.c                      |    8 +-
 drivers/usb/serial/mos7720.c                       |    8 +-
 drivers/usb/serial/mos7840.c                       |    6 +-
 drivers/usb/serial/opticon.c                       |    4 +-
 drivers/usb/serial/oti6858.c                       |   12 +-
 drivers/usb/serial/pl2303.c                        |    6 +-
 drivers/usb/serial/sierra.c                        |    4 +-
 drivers/usb/serial/spcp8x5.c                       |    6 +-
 drivers/usb/serial/ssu100.c                        |    6 +-
 drivers/usb/serial/ti_usb_3410_5052.c              |   14 +-
 drivers/usb/serial/usb-serial.c                    |   12 +-
 drivers/usb/serial/usb-wwan.h                      |    6 +-
 drivers/usb/serial/usb_wwan.c                      |    6 +-
 drivers/usb/serial/whiteheat.c                     |   12 +-
 include/asm-generic/ioctls.h                       |    1 +
 include/linux/kbd_kern.h                           |    3 +-
 include/linux/kd.h                                 |    1 +
 include/linux/platform_data/msm_serial_hs.h        |   49 +
 include/linux/spi/ifx_modem.h                      |   19 +-
 include/linux/tty.h                                |    5 +-
 include/linux/tty_driver.h                         |   13 +-
 include/linux/usb/serial.h                         |    6 +-
 include/linux/vt_kern.h                            |    8 -
 include/net/irda/ircomm_tty.h                      |    6 +-
 net/bluetooth/rfcomm/tty.c                         |    6 +-
 net/irda/ircomm/ircomm_tty_ioctl.c                 |   12 +-
 223 files changed, 3974 insertions(+), 1380 deletions(-)
 create mode 100644 Documentation/serial/n_gsm.txt
 create mode 100644 drivers/staging/generic_serial/Kconfig
 create mode 100644 drivers/staging/generic_serial/Makefile
 create mode 100644 drivers/staging/generic_serial/TODO
 rename drivers/{char => staging/generic_serial}/generic_serial.c (99%)
 rename drivers/{char => staging/generic_serial}/rio/Makefile (100%)
 rename drivers/{char => staging/generic_serial}/rio/board.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/cirrus.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/cmdblk.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/cmdpkt.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/daemon.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/errors.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/func.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/host.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/link.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/linux_compat.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/map.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/param.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/parmmap.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/pci.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/phb.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/pkt.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/port.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/protsts.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/rio.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/rio_linux.c (100%)
 rename drivers/{char => staging/generic_serial}/rio/rio_linux.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/rioboard.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/rioboot.c (100%)
 rename drivers/{char => staging/generic_serial}/rio/riocmd.c (100%)
 rename drivers/{char => staging/generic_serial}/rio/rioctrl.c (100%)
 rename drivers/{char => staging/generic_serial}/rio/riodrvr.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/rioinfo.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/rioinit.c (100%)
 rename drivers/{char => staging/generic_serial}/rio/riointr.c (100%)
 rename drivers/{char => staging/generic_serial}/rio/rioioctl.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/rioparam.c (100%)
 rename drivers/{char => staging/generic_serial}/rio/rioroute.c (100%)
 rename drivers/{char => staging/generic_serial}/rio/riospace.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/riotable.c (100%)
 rename drivers/{char => staging/generic_serial}/rio/riotty.c (100%)
 rename drivers/{char => staging/generic_serial}/rio/route.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/rup.h (100%)
 rename drivers/{char => staging/generic_serial}/rio/unixrup.h (100%)
 rename drivers/{char => staging/generic_serial}/ser_a2232.c (99%)
 rename drivers/{char => staging/generic_serial}/ser_a2232.h (100%)
 rename drivers/{char => staging/generic_serial}/ser_a2232fw.ax (100%)
 rename drivers/{char => staging/generic_serial}/ser_a2232fw.h (100%)
 rename drivers/{char => staging/generic_serial}/sx.c (99%)
 rename drivers/{char => staging/generic_serial}/sx.h (100%)
 rename drivers/{char => staging/generic_serial}/sxboards.h (100%)
 rename drivers/{char => staging/generic_serial}/sxwindow.h (100%)
 rename drivers/{char => staging/generic_serial}/vme_scc.c (99%)
 create mode 100644 drivers/staging/tty/Kconfig
 create mode 100644 drivers/staging/tty/Makefile
 create mode 100644 drivers/staging/tty/TODO
 rename drivers/{char => staging/tty}/cd1865.h (100%)
 rename drivers/{char => staging/tty}/digi1.h (100%)
 rename drivers/{char => staging/tty}/digiFep1.h (100%)
 rename drivers/{char => staging/tty}/digiPCI.h (100%)
 rename drivers/{char => staging/tty}/epca.c (99%)
 rename drivers/{char => staging/tty}/epca.h (100%)
 rename drivers/{char => staging/tty}/epcaconfig.h (100%)
 rename drivers/{char => staging/tty}/ip2/Makefile (100%)
 rename drivers/{char => staging/tty}/ip2/i2cmd.c (100%)
 rename drivers/{char => staging/tty}/ip2/i2cmd.h (100%)
 rename drivers/{char => staging/tty}/ip2/i2ellis.c (100%)
 rename drivers/{char => staging/tty}/ip2/i2ellis.h (100%)
 rename drivers/{char => staging/tty}/ip2/i2hw.h (100%)
 rename drivers/{char => staging/tty}/ip2/i2lib.c (100%)
 rename drivers/{char => staging/tty}/ip2/i2lib.h (100%)
 rename drivers/{char => staging/tty}/ip2/i2pack.h (100%)
 rename drivers/{char => staging/tty}/ip2/ip2.h (100%)
 rename drivers/{char => staging/tty}/ip2/ip2ioctl.h (100%)
 rename drivers/{char => staging/tty}/ip2/ip2main.c (99%)
 rename drivers/{char => staging/tty}/ip2/ip2trace.h (100%)
 rename drivers/{char => staging/tty}/ip2/ip2types.h (100%)
 rename drivers/{char => staging/tty}/istallion.c (99%)
 rename drivers/{char => staging/tty}/riscom8.c (99%)
 rename drivers/{char => staging/tty}/riscom8.h (100%)
 rename drivers/{char => staging/tty}/riscom8_reg.h (100%)
 rename drivers/{char => staging/tty}/serial167.c (99%)
 rename drivers/{char => staging/tty}/specialix.c (99%)
 rename drivers/{char => staging/tty}/specialix_io8.h (100%)
 rename drivers/{char => staging/tty}/stallion.c (99%)
 create mode 100644 drivers/tty/Kconfig
 rename drivers/{char => tty}/amiserial.c (99%)
 rename drivers/{char => tty}/bfin_jtag_comm.c (100%)
 rename drivers/{char => tty}/cyclades.c (99%)
 create mode 100644 drivers/tty/hvc/Kconfig
 create mode 100644 drivers/tty/hvc/hvc_bfin_jtag.c
 rename drivers/{char/pcmcia => tty}/ipwireless/Makefile (100%)
 rename drivers/{char/pcmcia => tty}/ipwireless/hardware.c (100%)
 rename drivers/{char/pcmcia => tty}/ipwireless/hardware.h (100%)
 rename drivers/{char/pcmcia => tty}/ipwireless/main.c (100%)
 rename drivers/{char/pcmcia => tty}/ipwireless/main.h (100%)
 rename drivers/{char/pcmcia => tty}/ipwireless/network.c (100%)
 rename drivers/{char/pcmcia => tty}/ipwireless/network.h (100%)
 rename drivers/{char/pcmcia => tty}/ipwireless/setup_protocol.h (100%)
 rename drivers/{char/pcmcia => tty}/ipwireless/tty.c (98%)
 rename drivers/{char/pcmcia => tty}/ipwireless/tty.h (100%)
 rename drivers/{char => tty}/isicom.c (99%)
 rename drivers/{char => tty}/moxa.c (99%)
 rename drivers/{char => tty}/moxa.h (100%)
 rename drivers/{char => tty}/mxser.c (99%)
 rename drivers/{char => tty}/mxser.h (100%)
 rename drivers/{char => tty}/nozomi.c (99%)
 rename drivers/{char => tty}/rocket.c (99%)
 rename drivers/{char => tty}/rocket.h (100%)
 rename drivers/{char => tty}/rocket_int.h (100%)
 create mode 100644 drivers/tty/serial/msm_serial_hs.c
 create mode 100644 drivers/tty/serial/msm_smd_tty.c
 rename drivers/{char => tty}/synclink.c (99%)
 rename drivers/{char => tty}/synclink_gt.c (99%)
 rename drivers/{char => tty}/synclinkmp.c (99%)
 create mode 100644 include/linux/platform_data/msm_serial_hs.h

---------------

Alan Cox (6):
      tiocmget: kill off the passing of the struct file
      tiocmset: kill the file pointer argument
      tty: remove filp from the USB tty ioctls
      tty: now phase out the ioctl file pointer for good
      tty: add a helper for setting termios data from kernel side
      hci_ath: Fix the mess in this driver

Arnd Bergmann (1):
      tty: move cd1865.h to drivers/staging/tty/

Arthur Taylor (1):
      vt: Add virtual console keyboard mode OFF

Axel Lin (1):
      pcmcia: synclink_cs: fix prototype for mgslpc_ioctl()

Dan Carpenter (2):
      serial: mrst_max3110: make buffer larger
      Staging: generic_serial: fix double locking bug

Denis Turischev (1):
      pch_uart: reference clock on CM-iTC

Eric Bénard (2):
      n_gsm: add a documentation
      n_gsm: fix UIH control byte : P bit should be 0

Feng Tang (3):
      serial: mfd: remove the timeout workaround for A0
      serial: mfd: remove the TX full-empty interrupts workaround
      serial: mfd: add a module parameter for setting each port's working mode

Grant Likely (1):
      tty/serial: Relax the device_type restriction from of_serial

Greg Kroah-Hartman (8):
      tty: fix build error in vt_ioctl.c if CONFIG_COMPAT is enabled
      tty: move Kconfig entries into drivers/tty from drivers/char
      tty: move a number of tty drivers from drivers/char/ to drivers/tty/
      tty: move ipwireless driver from drivers/char/pcmcia/ to drivers/tty/
      tty: move obsolete and broken tty drivers to drivers/staging/tty/
      tty: move obsolete and broken generic_serial drivers to drivers/staging/generic_serial/
      tty: forgot to remove ipwireless from drivers/char/pcmcia/Makefile
      Staging: tty: fix build with epca.c driver

Heiko Carstens (1):
      tty: phase out of ioctl file pointer for tty3270 as well

Jarkko Nikula (1):
      serial: omap-serial: Enable the UART wake-up bits always

Jiri Olsa (3):
      tty,vcs: lseek/VC-release race fix
      tty,vcs removing con_buf/conf_buf_mtx
      tty,vt: fix VT_SETACTIVATE console switch

Joe Perches (1):
      MAINTAINERS: Update HVC file patterns

Kay Sievers (1):
      tty: add TIOCVHANGUP to allow clean tty shutdown of all ttys

Mandeep Singh Baines (1):
      TTY: use appropriate printk priority level

Mayank Rana (1):
      serial: msm_serial_hs: Add MSM high speed UART driver

Mike Frysinger (1):
      hvc: add Blackfin JTAG console support

Niranjana Vishwanathapura (1):
      tty: Add msm_smd_tty driver

Russ Gorby (7):
      serial: ifx6x60: expanded info available from platform data
      serial: ifx6x60: fixed call to tty_port_init
      serial: ifx6x60: dma_alloc_coherent must use parent dev
      serial: ifx6x60: changed internal bpw from boolean to int
      serial: ifx6x60: set SPI max_speed_hz based on platform type
      serial: ifx6x60: probe routine needs to call spi_setup
      serial: ifx6x60: minor cleanup

Stephen Boyd (3):
      hvc_dcc: Fix bad code generation by marking assembly volatile
      hvc_dcc: Simplify put_chars()/get_chars() loops
      hvc_dcc: Simplify assembly for v6 and v7 ARM

Tejun Heo (3):
      tty_ldisc: don't use flush_scheduled_work()
      68328serial: remove unsed m68k_serial->tqueue_hangup
      nozomi: don't use flush_scheduled_work()

Thomas Weber (1):
      OMAP: Enable Magic SysRq on serial console ttyOx

Tobias Klauser (7):
      tty: serial: altera_uart: Handle pdev->id == -1 in altera_uart_remove
      tty: serial: altera_uart: Use port->regshift to store bus shift
      MAINTAINERS: Add myself as a maintainer for altera_uart/altera_jtaguart
      tty: serial: altera_jtaguart: Don't use plain integer as NULL pointer
      tty: serial: altera_jtaguart: Remove unused function early_altera_jtaguart_setup
      tty: serial: altera_jtaguart: Support getting mapbase and IRQ from resources
      tty: serial: altera_jtaguart: Fixup type usage of port flags

Tomoya MORINAGA (11):
      serial: pch_uart: support new device ML7213
      serial: pch_uart: revert Kconfig for non-DMA mode
      pch_uart: add multi-scatter processing
      pch_uart: add spin_lock_init
      pch_uart : Reduce memcpy
      pch_uart : Use dev_xxx not pr_xxx
      pch_uart: fix uart clock setting issue
      pch_uart: fix auto flow control miss-setting issue
      pch_uart: fix exclusive access issue
      pch_uart: Fix DMA channel miss-setting issue.
      pch_phub: add new device ML7213

Tony Luck (1):
      tty: simserial: now phase out the ioctl file pointer for good

Vasiliy Kulikov (1):
      tty: serial: bfin_sport_uart: fix signedness error

Viktar Palstsiuk (1):
      atmel_serial: enable PPS support

Xiaotian Feng (1):
      tty_audit: fix tty_audit_add_data live lock on audit disabled

Yin Kangkai (3):
      serial-core: reset the console speed on resume
      serial: also set the uartclk value in resume after goes to highspeed
      serial: change the divisor latch only when prescalar actually changed


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

* [PATCH 26/76] serial: also set the uartclk value in resume after goes to highspeed
       [not found] ` <1300309966-5745-1-git-send-email-gregkh@suse.de>
@ 2011-03-16 21:11   ` Greg Kroah-Hartman
  2011-03-16 21:11   ` [PATCH 27/76] serial: change the divisor latch only when prescalar actually changed Greg Kroah-Hartman
  1 sibling, 0 replies; 3+ messages in thread
From: Greg Kroah-Hartman @ 2011-03-16 21:11 UTC (permalink / raw)
  To: linux-serial
  Cc: Yin Kangkai, Greg Kroah-Hartman, David Woodhouse, linux-kernel,
	stable, Greg Kroah-Hartman

From: Yin Kangkai <kangkai.yin@linux.intel.com>

For any reason if the NS16550A was not work in high speed mode (e.g. we hold
NS16550A from going to high speed mode in autoconfig_16550a()), now we are
resume from suspend, we should also set the uartclk to the correct
value. Otherwise it is still the old 1843200 and that will bring issues.

CC: Greg Kroah-Hartman <greg@kroah.com>
CC: David Woodhouse <dwmw2@infradead.org>
CC: linux-kernel@vger.kernel.org
CC: stable@kernel.org
Signed-off-by: Yin Kangkai <kangkai.yin@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
 drivers/tty/serial/8250.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/tty/serial/8250.c b/drivers/tty/serial/8250.c
index 3975df6..c10a6a9 100644
--- a/drivers/tty/serial/8250.c
+++ b/drivers/tty/serial/8250.c
@@ -3036,6 +3036,7 @@ void serial8250_resume_port(int line)
 		serial_outp(up, 0x04, tmp);
 
 		serial_outp(up, UART_LCR, 0);
+		up->port.uartclk = 921600*16;
 	}
 	uart_resume_port(&serial8250_reg, &up->port);
 }
-- 
1.7.4.1


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

* [PATCH 27/76] serial: change the divisor latch only when prescalar actually changed
       [not found] ` <1300309966-5745-1-git-send-email-gregkh@suse.de>
  2011-03-16 21:11   ` [PATCH 26/76] serial: also set the uartclk value in resume after goes to highspeed Greg Kroah-Hartman
@ 2011-03-16 21:11   ` Greg Kroah-Hartman
  1 sibling, 0 replies; 3+ messages in thread
From: Greg Kroah-Hartman @ 2011-03-16 21:11 UTC (permalink / raw)
  To: linux-serial
  Cc: Yin Kangkai, Greg Kroah-Hartman, David Woodhouse, linux-kernel,
	stable, Greg Kroah-Hartman

From: Yin Kangkai <kangkai.yin@linux.intel.com>

In 8250.c original ns16550 autoconfig code, we change the divisor latch when
we goto to high speed mode, we're assuming the previous speed is legacy. This
some times is not true.

For example in a system with both CONFIG_SERIAL_8250 and
CONFIG_SERIAL_8250_PNP set, in this case, the code (autoconfig) will be called
twice, one in serial8250_init/probe() and the other is from
serial_pnp_probe. When serial_pnp_probe calls the autoconfig for NS16550A,
it's already in high speed mode, change the divisor latch (quot << 3) in this
case will make the UART console garbled.

CC: Greg Kroah-Hartman <greg@kroah.com>
CC: David Woodhouse <dwmw2@infradead.org>
CC: linux-kernel@vger.kernel.org
CC: stable@kernel.org
Signed-off-by: Yin Kangkai <kangkai.yin@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
 drivers/tty/serial/8250.c |   32 ++++++++++++++++++++------------
 1 files changed, 20 insertions(+), 12 deletions(-)

diff --git a/drivers/tty/serial/8250.c b/drivers/tty/serial/8250.c
index c10a6a9..b3b881b 100644
--- a/drivers/tty/serial/8250.c
+++ b/drivers/tty/serial/8250.c
@@ -954,6 +954,23 @@ static int broken_efr(struct uart_8250_port *up)
 	return 0;
 }
 
+static inline int ns16550a_goto_highspeed(struct uart_8250_port *up)
+{
+	unsigned char status;
+
+	status = serial_in(up, 0x04); /* EXCR2 */
+#define PRESL(x) ((x) & 0x30)
+	if (PRESL(status) == 0x10) {
+		/* already in high speed mode */
+		return 0;
+	} else {
+		status &= ~0xB0; /* Disable LOCK, mask out PRESL[01] */
+		status |= 0x10;  /* 1.625 divisor for baud_base --> 921600 */
+		serial_outp(up, 0x04, status);
+	}
+	return 1;
+}
+
 /*
  * We know that the chip has FIFOs.  Does it have an EFR?  The
  * EFR is located in the same register position as the IIR and
@@ -1025,12 +1042,8 @@ static void autoconfig_16550a(struct uart_8250_port *up)
 			quot = serial_dl_read(up);
 			quot <<= 3;
 
-			status1 = serial_in(up, 0x04); /* EXCR2 */
-			status1 &= ~0xB0; /* Disable LOCK, mask out PRESL[01] */
-			status1 |= 0x10;  /* 1.625 divisor for baud_base --> 921600 */
-			serial_outp(up, 0x04, status1);
-
-			serial_dl_write(up, quot);
+			if (ns16550a_goto_highspeed(up))
+				serial_dl_write(up, quot);
 
 			serial_outp(up, UART_LCR, 0);
 
@@ -3025,15 +3038,10 @@ void serial8250_resume_port(int line)
 	struct uart_8250_port *up = &serial8250_ports[line];
 
 	if (up->capabilities & UART_NATSEMI) {
-		unsigned char tmp;
-
 		/* Ensure it's still in high speed mode */
 		serial_outp(up, UART_LCR, 0xE0);
 
-		tmp = serial_in(up, 0x04); /* EXCR2 */
-		tmp &= ~0xB0; /* Disable LOCK, mask out PRESL[01] */
-		tmp |= 0x10;  /* 1.625 divisor for baud_base --> 921600 */
-		serial_outp(up, 0x04, tmp);
+		ns16550a_goto_highspeed(up);
 
 		serial_outp(up, UART_LCR, 0);
 		up->port.uartclk = 921600*16;
-- 
1.7.4.1


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

end of thread, other threads:[~2011-03-16 21:14 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-16 20:57 [GIT PATCH] TTY/serial driver patches for .39 Greg KH
     [not found] ` <1300309966-5745-1-git-send-email-gregkh@suse.de>
2011-03-16 21:11   ` [PATCH 26/76] serial: also set the uartclk value in resume after goes to highspeed Greg Kroah-Hartman
2011-03-16 21:11   ` [PATCH 27/76] serial: change the divisor latch only when prescalar actually changed Greg Kroah-Hartman

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