* [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