Lines Matching full:tty

18 #include <linux/tty.h>
107 static void xr21v141x_set_line_settings(struct tty_struct *tty,
137 void (*set_line_settings)(struct tty_struct *tty,
438 static int xr_tiocmget(struct tty_struct *tty) in xr_tiocmget() argument
440 struct usb_serial_port *port = tty->driver_data; in xr_tiocmget()
492 static int xr_tiocmset(struct tty_struct *tty, in xr_tiocmset() argument
495 struct usb_serial_port *port = tty->driver_data; in xr_tiocmset()
508 static int xr_break_ctl(struct tty_struct *tty, int break_state) in xr_break_ctl() argument
510 struct usb_serial_port *port = tty->driver_data; in xr_break_ctl()
561 static int xr21v141x_set_baudrate(struct tty_struct *tty, struct usb_serial_port *port) in xr21v141x_set_baudrate() argument
567 baud = tty->termios.c_ospeed; in xr21v141x_set_baudrate()
622 tty_encode_baud_rate(tty, baud, baud); in xr21v141x_set_baudrate()
627 static void xr_set_flow_mode(struct tty_struct *tty, in xr_set_flow_mode() argument
661 if (C_CRTSCTS(tty) && C_BAUD(tty) != B0 && !rs485_enabled) { in xr_set_flow_mode()
665 } else if (I_IXON(tty)) { in xr_set_flow_mode()
666 u8 start_char = START_CHAR(tty); in xr_set_flow_mode()
667 u8 stop_char = STOP_CHAR(tty); in xr_set_flow_mode()
684 if (C_BAUD(tty) == B0) in xr_set_flow_mode()
690 static void xr21v141x_set_line_settings(struct tty_struct *tty, in xr21v141x_set_line_settings() argument
694 struct ktermios *termios = &tty->termios; in xr21v141x_set_line_settings()
698 if (!old_termios || (tty->termios.c_ospeed != old_termios->c_ospeed)) in xr21v141x_set_line_settings()
699 xr21v141x_set_baudrate(tty, port); in xr21v141x_set_line_settings()
701 switch (C_CSIZE(tty)) { in xr21v141x_set_line_settings()
711 if (C_CSIZE(tty) == CS7) in xr21v141x_set_line_settings()
725 if (C_PARENB(tty)) { in xr21v141x_set_line_settings()
726 if (C_CMSPAR(tty)) { in xr21v141x_set_line_settings()
727 if (C_PARODD(tty)) in xr21v141x_set_line_settings()
732 if (C_PARODD(tty)) in xr21v141x_set_line_settings()
739 if (C_CSTOPB(tty)) in xr21v141x_set_line_settings()
749 static void xr_cdc_set_line_coding(struct tty_struct *tty, in xr_cdc_set_line_coding() argument
763 if (tty->termios.c_ospeed) in xr_cdc_set_line_coding()
764 lc->dwDTERate = cpu_to_le32(tty->termios.c_ospeed); in xr_cdc_set_line_coding()
768 if (C_CSTOPB(tty)) in xr_cdc_set_line_coding()
773 if (C_PARENB(tty)) { in xr_cdc_set_line_coding()
774 if (C_CMSPAR(tty)) { in xr_cdc_set_line_coding()
775 if (C_PARODD(tty)) in xr_cdc_set_line_coding()
780 if (C_PARODD(tty)) in xr_cdc_set_line_coding()
790 (C_CSIZE(tty) == CS5 || C_CSIZE(tty) == CS6)) { in xr_cdc_set_line_coding()
791 tty->termios.c_cflag &= ~CSIZE; in xr_cdc_set_line_coding()
793 tty->termios.c_cflag |= old_termios->c_cflag & CSIZE; in xr_cdc_set_line_coding()
795 tty->termios.c_cflag |= CS8; in xr_cdc_set_line_coding()
798 switch (C_CSIZE(tty)) { in xr_cdc_set_line_coding()
846 static int xr_get_rs485_config(struct tty_struct *tty, in xr_get_rs485_config() argument
849 struct usb_serial_port *port = tty->driver_data; in xr_get_rs485_config()
852 down_read(&tty->termios_rwsem); in xr_get_rs485_config()
854 up_read(&tty->termios_rwsem); in xr_get_rs485_config()
857 up_read(&tty->termios_rwsem); in xr_get_rs485_config()
862 static int xr_set_rs485_config(struct tty_struct *tty, in xr_set_rs485_config() argument
865 struct usb_serial_port *port = tty->driver_data; in xr_set_rs485_config()
873 down_write(&tty->termios_rwsem); in xr_set_rs485_config()
875 xr_set_flow_mode(tty, port, NULL); in xr_set_rs485_config()
876 up_write(&tty->termios_rwsem); in xr_set_rs485_config()
884 static int xr_ioctl(struct tty_struct *tty, unsigned int cmd, unsigned long arg) in xr_ioctl() argument
890 return xr_get_rs485_config(tty, argp); in xr_ioctl()
892 return xr_set_rs485_config(tty, argp); in xr_ioctl()
898 static void xr_set_termios(struct tty_struct *tty, in xr_set_termios() argument
909 data->type->set_line_settings(tty, port, old_termios); in xr_set_termios()
911 xr_cdc_set_line_coding(tty, port, old_termios); in xr_set_termios()
913 xr_set_flow_mode(tty, port, old_termios); in xr_set_termios()
916 static int xr_open(struct tty_struct *tty, struct usb_serial_port *port) in xr_open() argument
931 if (tty) in xr_open()
932 xr_set_termios(tty, port, NULL); in xr_open()
934 ret = usb_serial_generic_open(tty, port); in xr_open()