->set_termios() callchains input old ktermios (mainly used as fallback and feature compares). It is discarded right after returning from the calls and should therefore not be modified by drivers because any such change will get lost (instead, the changes must be applied to the new ktermios). While doing this patchset, I found a few such issues that were fixed earlier. Now enforce old ktermios constness. Another goodie is that "get" named functions in tty_baudrate.c that previously mucked with the old ktermios can no longer have such side-effects. I found out that the ktermios adjustments made were dead-code for all in-tree archs anyway. Ilpo Järvinen (8): tty: Remove baudrate dead code & make ktermios params const tty: Fix comment style in tty_termios_input_baud_rate() serial: dz: Assume previous baudrate is valid tty: Make tty_termios_copy_hw() old ktermios const tty: Make ldisc ->set_termios() old ktermios const serial: Make ->set_termios() old ktermios const usb: serial: Make ->set_termios() old ktermios const tty: Make ->set_termios() old ktermios const drivers/char/pcmcia/synclink_cs.c | 3 ++- drivers/ipack/devices/ipoctal.c | 2 +- drivers/mmc/core/sdio_uart.c | 4 ++-- drivers/net/usb/hso.c | 3 ++- drivers/s390/char/tty3270.c | 2 +- drivers/staging/fwserial/fwserial.c | 3 ++- drivers/staging/greybus/uart.c | 2 +- drivers/tty/amiserial.c | 6 ++--- drivers/tty/moxa.c | 9 +++---- drivers/tty/mxser.c | 6 +++-- drivers/tty/n_gsm.c | 3 ++- drivers/tty/n_tty.c | 2 +- drivers/tty/pty.c | 2 +- drivers/tty/serial/21285.c | 2 +- drivers/tty/serial/8250/8250_bcm7271.c | 2 +- drivers/tty/serial/8250/8250_dw.c | 2 +- drivers/tty/serial/8250/8250_dwlib.c | 3 ++- drivers/tty/serial/8250/8250_dwlib.h | 2 +- drivers/tty/serial/8250/8250_fintek.c | 2 +- drivers/tty/serial/8250/8250_lpss.c | 2 +- drivers/tty/serial/8250/8250_mid.c | 5 ++-- drivers/tty/serial/8250/8250_mtk.c | 2 +- drivers/tty/serial/8250/8250_omap.c | 2 +- drivers/tty/serial/8250/8250_port.c | 6 ++--- drivers/tty/serial/altera_jtaguart.c | 4 ++-- drivers/tty/serial/altera_uart.c | 2 +- drivers/tty/serial/amba-pl010.c | 2 +- drivers/tty/serial/amba-pl011.c | 4 ++-- drivers/tty/serial/apbuart.c | 2 +- drivers/tty/serial/ar933x_uart.c | 2 +- drivers/tty/serial/arc_uart.c | 2 +- drivers/tty/serial/atmel_serial.c | 5 ++-- drivers/tty/serial/bcm63xx_uart.c | 5 ++-- drivers/tty/serial/clps711x.c | 2 +- drivers/tty/serial/cpm_uart/cpm_uart_core.c | 2 +- drivers/tty/serial/digicolor-usart.c | 2 +- drivers/tty/serial/dz.c | 11 +++++---- drivers/tty/serial/fsl_linflexuart.c | 2 +- drivers/tty/serial/fsl_lpuart.c | 4 ++-- drivers/tty/serial/icom.c | 5 ++-- drivers/tty/serial/imx.c | 2 +- drivers/tty/serial/ip22zilog.c | 2 +- drivers/tty/serial/jsm/jsm_tty.c | 4 ++-- drivers/tty/serial/lantiq.c | 4 ++-- drivers/tty/serial/liteuart.c | 2 +- drivers/tty/serial/lpc32xx_hs.c | 2 +- drivers/tty/serial/max3100.c | 2 +- drivers/tty/serial/max310x.c | 2 +- drivers/tty/serial/mcf.c | 2 +- drivers/tty/serial/men_z135_uart.c | 4 ++-- drivers/tty/serial/meson_uart.c | 2 +- drivers/tty/serial/milbeaut_usio.c | 3 ++- drivers/tty/serial/mpc52xx_uart.c | 12 +++++----- drivers/tty/serial/mps2-uart.c | 2 +- drivers/tty/serial/msm_serial.c | 2 +- drivers/tty/serial/mux.c | 2 +- drivers/tty/serial/mvebu-uart.c | 2 +- drivers/tty/serial/mxs-auart.c | 2 +- drivers/tty/serial/omap-serial.c | 2 +- drivers/tty/serial/owl-uart.c | 2 +- drivers/tty/serial/pch_uart.c | 3 ++- drivers/tty/serial/pic32_uart.c | 2 +- drivers/tty/serial/pmac_zilog.c | 4 ++-- drivers/tty/serial/pxa.c | 2 +- drivers/tty/serial/qcom_geni_serial.c | 3 ++- drivers/tty/serial/rda-uart.c | 2 +- drivers/tty/serial/rp2.c | 5 ++-- drivers/tty/serial/sa1100.c | 2 +- drivers/tty/serial/samsung_tty.c | 2 +- drivers/tty/serial/sb1250-duart.c | 2 +- drivers/tty/serial/sc16is7xx.c | 2 +- drivers/tty/serial/sccnxp.c | 3 ++- drivers/tty/serial/serial-tegra.c | 3 ++- drivers/tty/serial/serial_core.c | 8 +++---- drivers/tty/serial/serial_txx9.c | 2 +- drivers/tty/serial/sh-sci.c | 2 +- drivers/tty/serial/sifive.c | 2 +- drivers/tty/serial/sprd_serial.c | 5 ++-- drivers/tty/serial/st-asc.c | 2 +- drivers/tty/serial/stm32-usart.c | 2 +- drivers/tty/serial/sunhv.c | 2 +- drivers/tty/serial/sunplus-uart.c | 2 +- drivers/tty/serial/sunsab.c | 2 +- drivers/tty/serial/sunsu.c | 2 +- drivers/tty/serial/sunzilog.c | 2 +- drivers/tty/serial/tegra-tcu.c | 2 +- drivers/tty/serial/timbuart.c | 4 ++-- drivers/tty/serial/uartlite.c | 5 ++-- drivers/tty/serial/ucc_uart.c | 3 ++- drivers/tty/serial/vt8500_serial.c | 2 +- drivers/tty/serial/xilinx_uartps.c | 3 ++- drivers/tty/serial/zs.c | 2 +- drivers/tty/synclink_gt.c | 3 ++- drivers/tty/tty.h | 2 +- drivers/tty/tty_baudrate.c | 26 +++++++-------------- drivers/tty/tty_ioctl.c | 4 ++-- drivers/usb/class/cdc-acm.c | 4 ++-- drivers/usb/serial/ark3116.c | 2 +- drivers/usb/serial/belkin_sa.c | 6 +++-- drivers/usb/serial/ch341.c | 5 ++-- drivers/usb/serial/cp210x.c | 13 +++++++---- drivers/usb/serial/cypress_m8.c | 6 +++-- drivers/usb/serial/digi_acceleport.c | 6 +++-- drivers/usb/serial/f81232.c | 3 ++- drivers/usb/serial/f81534.c | 4 ++-- drivers/usb/serial/ftdi_sio.c | 6 +++-- drivers/usb/serial/io_edgeport.c | 7 +++--- drivers/usb/serial/io_ti.c | 8 ++++--- drivers/usb/serial/ir-usb.c | 6 +++-- drivers/usb/serial/iuu_phoenix.c | 3 ++- drivers/usb/serial/keyspan.c | 3 ++- drivers/usb/serial/keyspan_pda.c | 3 ++- drivers/usb/serial/kl5kusb105.c | 5 ++-- drivers/usb/serial/kobil_sct.c | 6 +++-- drivers/usb/serial/mct_u232.c | 5 ++-- drivers/usb/serial/mos7720.c | 5 ++-- drivers/usb/serial/mos7840.c | 5 ++-- drivers/usb/serial/mxuport.c | 4 ++-- drivers/usb/serial/oti6858.c | 6 +++-- drivers/usb/serial/pl2303.c | 3 ++- drivers/usb/serial/quatech2.c | 4 ++-- drivers/usb/serial/spcp8x5.c | 3 ++- drivers/usb/serial/ssu100.c | 4 ++-- drivers/usb/serial/ti_usb_3410_5052.c | 6 +++-- drivers/usb/serial/upd78f0730.c | 4 ++-- drivers/usb/serial/usb-serial.c | 3 ++- drivers/usb/serial/whiteheat.c | 6 +++-- drivers/usb/serial/xr_serial.c | 20 +++++++++------- include/linux/serial_8250.h | 4 ++-- include/linux/serial_core.h | 6 ++--- include/linux/tty.h | 4 ++-- include/linux/tty_driver.h | 4 ++-- include/linux/tty_ldisc.h | 4 ++-- include/linux/usb/serial.h | 4 ++-- net/bluetooth/rfcomm/tty.c | 3 ++- 135 files changed, 283 insertions(+), 234 deletions(-) -- 2.30.2