/linux/include/linux/ |
H A D | tty.h | 34 #define INTR_CHAR(tty) ((tty)->termios.c_cc[VINTR]) argument 35 #define QUIT_CHAR(tty) ((tty)->termios.c_cc[VQUIT]) argument 36 #define ERASE_CHAR(tty) ((tty)->termios.c_cc[VERASE]) argument 37 #define KILL_CHAR(tty) ((tty)->termios.c_cc[VKILL]) argument 38 #define EOF_CHAR(tty) ((tty)->termios.c_cc[VEOF]) argument 39 #define TIME_CHAR(tty) ((tty)->termios.c_cc[VTIME]) argument 40 #define MIN_CHAR(tty) ((tty)->termios.c_cc[VMIN]) argument 41 #define SWTC_CHAR(tty) ((tty)->termios.c_cc[VSWTC]) argument 42 #define START_CHAR(tty) ((tty)->termios.c_cc[VSTART]) argument 43 #define STOP_CHAR(tty) ((tty)->termios.c_cc[VSTOP]) argument [all …]
|
H A D | tty_driver.h | 20 * struct tty_operations -- interface between driver and tty 25 * Return the tty device corresponding to @idx, %NULL if there is not 31 * @install: ``int ()(struct tty_driver *self, struct tty_struct *tty)`` 33 * Install a new @tty into the @self's internal tables. Used in 38 * @remove: ``void ()(struct tty_driver *self, struct tty_struct *tty)`` 40 * Remove a closed @tty from the @self's internal tables. Used in 45 * @open: ``int ()(struct tty_struct *tty, struct file *)`` 47 * This routine is called when a particular @tty device is opened. This 51 * Required method. Called with tty lock held. May sleep. 53 * @close: ``void ()(struct tty_struct *tty, struc [all...] |
H A D | tty_ldisc.h | 238 int (*open)(struct tty_struct *tty); 239 void (*close)(struct tty_struct *tty); 240 void (*flush_buffer)(struct tty_struct *tty); 241 ssize_t (*read)(struct tty_struct *tty, struct file *file, u8 *buf, 243 ssize_t (*write)(struct tty_struct *tty, struct file *file, 245 int (*ioctl)(struct tty_struct *tty, unsigned int cmd, 247 int (*compat_ioctl)(struct tty_struct *tty, unsigned int cmd, 249 void (*set_termios)(struct tty_struct *tty, const struct ktermios *old); 250 __poll_t (*poll)(struct tty_struct *tty, struct file *file, 252 void (*hangup)(struct tty_struct *tty); [all …]
|
/linux/drivers/tty/ |
H A D | tty_io.c | 116 # define tty_debug_hangup(tty, f, args...) tty_debug(tty, f, ##args) argument 118 # define tty_debug_hangup(tty, f, args...) do { } while (0) argument 159 static void release_tty(struct tty_struct *tty, int idx); 169 static void free_tty_struct(struct tty_struct *tty) in free_tty_struct() argument 171 tty_ldisc_deinit(tty); in free_tty_struct() 172 put_device(tty->dev); in free_tty_struct() 173 kvfree(tty->write_buf); in free_tty_struct() 174 kfree(tty); in free_tty_struct() 179 return ((struct tty_file_private *)file->private_data)->tty; in file_tty() 196 void tty_add_file(struct tty_struct *tty, struct file *file) in tty_add_file() argument [all …]
|
H A D | tty_ioctl.c | 48 unsigned int tty_chars_in_buffer(struct tty_struct *tty) in tty_chars_in_buffer() argument 50 if (tty->ops->chars_in_buffer) in tty_chars_in_buffer() 51 return tty->ops->chars_in_buffer(tty); in tty_chars_in_buffer() 66 unsigned int tty_write_room(struct tty_struct *tty) in tty_write_room() argument 68 if (tty->ops->write_room) in tty_write_room() 69 return tty->ops->write_room(tty); in tty_write_room() 82 void tty_driver_flush_buffer(struct tty_struct *tty) in tty_driver_flush_buffer() argument 84 if (tty->ops->flush_buffer) in tty_driver_flush_buffer() 85 tty->ops->flush_buffer(tty); in tty_driver_flush_buffer() 101 void tty_unthrottle(struct tty_struct *tty) in tty_unthrottle() argument [all …]
|
H A D | pty.c | 36 # define tty_debug_hangup(tty, f, args...) tty_debug(tty, f, ##args) argument 38 # define tty_debug_hangup(tty, f, args...) do {} while (0) argument 47 static void pty_close(struct tty_struct *tty, struct file *filp) in pty_close() argument 49 if (tty->driver->subtype == PTY_TYPE_MASTER) in pty_close() 50 WARN_ON(tty->count > 1); in pty_close() 52 if (tty_io_error(tty)) in pty_close() 54 if (tty->count > 2) in pty_close() 57 set_bit(TTY_IO_ERROR, &tty->flags); in pty_close() 58 wake_up_interruptible(&tty->read_wait); in pty_close() 59 wake_up_interruptible(&tty->write_wait); in pty_close() [all …]
|
H A D | tty_jobctrl.c | 33 int __tty_check_change(struct tty_struct *tty, int sig) in __tty_check_change() argument 39 if (current->signal->tty != tty) in __tty_check_change() 45 spin_lock_irqsave(&tty->ctrl.lock, flags); in __tty_check_change() 46 tty_pgrp = tty->ctrl.pgrp; in __tty_check_change() 47 spin_unlock_irqrestore(&tty->ctrl.lock, flags); in __tty_check_change() 64 tty_warn(tty, "sig=%d, tty->pgrp == NULL!\n", sig); in __tty_check_change() 69 int tty_check_change(struct tty_struct *tty) in tty_check_change() argument 71 return __tty_check_change(tty, SIGTTOU); in tty_check_change() 78 struct tty_struct *tty; in proc_clear_tty() local 81 tty = p->signal->tty; in proc_clear_tty() [all …]
|
H A D | tty.h | 9 #define tty_msg(fn, tty, f, ...) \ argument 10 fn("%s %s: " f, tty_driver_name(tty), tty_name(tty), ##__VA_ARGS__) 12 #define tty_debug(tty, f, ...) tty_msg(pr_debug, tty, f, ##__VA_ARGS__) argument 13 #define tty_notice(tty, f, ...) tty_msg(pr_notice, tty, f, ##__VA_ARGS__) argument 14 #define tty_warn(tty, f, ...) tty_msg(pr_warn, tty, f, ##__VA_ARGS__) argument 15 #define tty_err(tty, f, ...) tty_msg(pr_err, tty, f, ##__VA_ARGS__) argument 17 #define tty_info_ratelimited(tty, f, ...) \ argument 18 tty_msg(pr_info_ratelimited, tty, f, ##__VA_ARGS__) 50 static inline void __tty_set_flow_change(struct tty_struct *tty, in __tty_set_flow_change() argument 53 tty->flow_change = val; in __tty_set_flow_change() [all …]
|
H A D | tty_mutex.c | 15 void tty_lock(struct tty_struct *tty) in tty_lock() argument 17 tty_kref_get(tty); in tty_lock() 18 mutex_lock(&tty->legacy_mutex); in tty_lock() 22 int tty_lock_interruptible(struct tty_struct *tty) in tty_lock_interruptible() argument 26 tty_kref_get(tty); in tty_lock_interruptible() 27 ret = mutex_lock_interruptible(&tty->legacy_mutex); in tty_lock_interruptible() 29 tty_kref_put(tty); in tty_lock_interruptible() 33 void tty_unlock(struct tty_struct *tty) in tty_unlock() argument 35 mutex_unlock(&tty->legacy_mutex); in tty_unlock() 36 tty_kref_put(tty); in tty_unlock() [all …]
|
H A D | tty_port.c | 26 struct tty_struct *tty; in tty_port_default_receive_buf() local 29 tty = READ_ONCE(port->itty); in tty_port_default_receive_buf() 30 if (!tty) in tty_port_default_receive_buf() 33 ld = tty_ldisc_ref(tty); in tty_port_default_receive_buf() 47 struct tty_struct *tty; in tty_port_default_lookahead_buf() local 50 tty = READ_ONCE(port->itty); in tty_port_default_lookahead_buf() 51 if (!tty) in tty_port_default_lookahead_buf() 54 ld = tty_ldisc_ref(tty); in tty_port_default_lookahead_buf() 59 ld->ops->lookahead_buf(ld->tty, p, f, count); in tty_port_default_lookahead_buf() 66 struct tty_struct *tty = tty_port_tty_get(port); in tty_port_default_wakeup() local [all …]
|
H A D | amiserial.c | 96 static void change_speed(struct tty_struct *tty, struct serial_state *info, 98 static void rs_wait_until_sent(struct tty_struct *tty, int timeout); 133 static void rs_stop(struct tty_struct *tty) in rs_stop() argument 135 struct serial_state *info = tty->driver_data; in rs_stop() 150 static void rs_start(struct tty_struct *tty) in rs_start() argument 152 struct serial_state *info = tty->driver_data; in rs_start() 243 do_SAK(info->tport.tty); in receive_chars() 275 || info->tport.tty->flow.stopped in transmit_chars() 276 || info->tport.tty->hw_stopped) { in transmit_chars() 291 tty_wakeup(info->tport.tty); in transmit_chars() [all …]
|
H A D | n_hdlc.c | 159 static void flush_rx_queue(struct tty_struct *tty) in flush_rx_queue() argument 161 struct n_hdlc *n_hdlc = tty->disc_data; in flush_rx_queue() 168 static void flush_tx_queue(struct tty_struct *tty) in flush_tx_queue() argument 170 struct n_hdlc *n_hdlc = tty->disc_data; in flush_tx_queue() 194 static void n_hdlc_tty_close(struct tty_struct *tty) in n_hdlc_tty_close() argument 196 struct n_hdlc *n_hdlc = tty->disc_data; in n_hdlc_tty_close() 199 clear_bit(TTY_NO_WRITE_SPLIT, &tty->flags); in n_hdlc_tty_close() 201 tty->disc_data = NULL; in n_hdlc_tty_close() 204 wake_up_interruptible(&tty->read_wait); in n_hdlc_tty_close() 205 wake_up_interruptible(&tty->write_wait); in n_hdlc_tty_close() [all …]
|
H A D | vcc.c | 27 struct tty_struct *tty; /* only populated while dev is open */ member 277 static int vcc_rx_check(struct tty_struct *tty, int size) in vcc_rx_check() argument 279 if (WARN_ON(!tty || !tty->port)) in vcc_rx_check() 285 if (test_bit(TTY_THROTTLED, &tty->flags) || in vcc_rx_check() 286 (tty_buffer_request_room(tty->port, VCC_BUFF_LEN) < VCC_BUFF_LEN)) in vcc_rx_check() 292 static int vcc_rx(struct tty_struct *tty, char *buf, int size) in vcc_rx() argument 296 if (WARN_ON(!tty || !tty->port)) in vcc_rx() 299 len = tty_insert_flip_string(tty->port, buf, size); in vcc_rx() 301 tty_flip_buffer_push(tty->port); in vcc_rx() 309 struct tty_struct *tty; in vcc_ldc_read() local [all …]
|
H A D | mxser.c | 481 static int mxser_set_baud(struct tty_struct *tty, speed_t newspd) in mxser_set_baud() argument 483 struct mxser_port *info = tty->driver_data; in mxser_set_baud() 493 tty_encode_baud_rate(tty, 134, 134); in mxser_set_baud() 499 tty_encode_baud_rate(tty, baud, baud); in mxser_set_baud() 529 if (C_BAUD(tty) == BOTHER) { in mxser_set_baud() 546 static void mxser_handle_cts(struct tty_struct *tty, struct mxser_port *info, in mxser_handle_cts() argument 551 if (tty->hw_stopped) { in mxser_handle_cts() 553 tty->hw_stopped = false; in mxser_handle_cts() 557 tty_wakeup(tty); in mxser_handle_cts() 563 tty->hw_stopped = true; in mxser_handle_cts() [all …]
|
/linux/drivers/tty/ipwireless/ |
H A D | tty.c | 90 struct ipw_tty *tty = get_tty(linux_tty->index); in ipw_open() local 92 if (!tty) in ipw_open() 95 mutex_lock(&tty->ipw_tty_mutex); in ipw_open() 96 if (tty->port.count == 0) in ipw_open() 97 tty->tx_bytes_queued = 0; in ipw_open() 99 tty->port.count++; in ipw_open() 101 tty->port.tty = linux_tty; in ipw_open() 102 linux_tty->driver_data = tty; in ipw_open() 104 if (tty->tty_type == TTYTYPE_MODEM) in ipw_open() 105 ipwireless_ppp_open(tty->network); in ipw_open() [all …]
|
/linux/drivers/tty/serdev/ |
H A D | serdev-ttyport.c | 15 struct tty_struct *tty; member 50 struct tty_struct *tty; in ttyport_write_wakeup() local 52 tty = tty_port_tty_get(port); in ttyport_write_wakeup() 53 if (!tty) in ttyport_write_wakeup() 56 if (test_and_clear_bit(TTY_DO_WRITE_WAKEUP, &tty->flags) && in ttyport_write_wakeup() 61 wake_up_interruptible(&tty->write_wait); in ttyport_write_wakeup() 63 tty_kref_put(tty); in ttyport_write_wakeup() 78 struct tty_struct *tty = serport->tty; in ttyport_write_buf() local 83 set_bit(TTY_DO_WRITE_WAKEUP, &tty->flags); in ttyport_write_buf() 84 return tty->ops->write(serport->tty, data, len); in ttyport_write_buf() [all …]
|
/linux/drivers/accessibility/speakup/ |
H A D | spk_ttyio.c | 47 static int spk_ttyio_ldisc_open(struct tty_struct *tty) in spk_ttyio_ldisc_open() argument 51 if (tty != speakup_tty) in spk_ttyio_ldisc_open() 55 if (!tty->ops->write) in spk_ttyio_ldisc_open() 64 tty->disc_data = ldisc_data; in spk_ttyio_ldisc_open() 69 static void spk_ttyio_ldisc_close(struct tty_struct *tty) in spk_ttyio_ldisc_close() argument 71 kfree(tty->disc_data); in spk_ttyio_ldisc_close() 74 static size_t spk_ttyio_receive_buf2(struct tty_struct *tty, const u8 *cp, in spk_ttyio_receive_buf2() argument 77 struct spk_ldisc_data *ldisc_data = tty->disc_data; in spk_ttyio_receive_buf2() 135 static inline void get_termios(struct tty_struct *tty, in get_termios() argument 138 down_read(&tty->termios_rwsem); in get_termios() [all …]
|
H A D | selection.c | 22 struct tty_struct *tty; member 30 struct tty_struct *tty; in __speakup_set_selection() local 39 tty = xchg(&ssw->tty, NULL); in __speakup_set_selection() 51 set_selection_kernel(&sel, tty); in __speakup_set_selection() 54 tty_kref_put(tty); in __speakup_set_selection() 62 int speakup_set_selection(struct tty_struct *tty) in speakup_set_selection() argument 70 tty_kref_get(tty); in speakup_set_selection() 71 if (cmpxchg(&speakup_sel_work.tty, NULL, tty)) { in speakup_set_selection() 72 tty_kref_put(tty); in speakup_set_selection() 94 struct tty_struct *tty; in speakup_cancel_selection() local [all …]
|
/linux/net/nfc/nci/ |
H A D | uart.c | 74 struct tty_struct *tty = nu->tty; in nci_uart_write_work() local 86 set_bit(TTY_DO_WRITE_WAKEUP, &tty->flags); in nci_uart_write_work() 87 len = tty->ops->write(tty, skb->data, skb->len); in nci_uart_write_work() 105 static int nci_uart_set_driver(struct tty_struct *tty, unsigned int driver) in nci_uart_set_driver() argument 121 nu->tty = tty; in nci_uart_set_driver() 122 tty->disc_data = nu; in nci_uart_set_driver() 129 tty->disc_data = NULL; in nci_uart_set_driver() 133 tty->disc_data = NULL; in nci_uart_set_driver() 151 static int nci_uart_tty_open(struct tty_struct *tty) in nci_uart_tty_open() argument 156 if (!tty->ops->write) in nci_uart_tty_open() [all …]
|
/linux/drivers/input/serio/ |
H A D | serport.c | 32 struct tty_struct *tty; member 47 return -(serport->tty->ops->write(serport->tty, &data, 1) != 1); in serport_serio_write() 74 static int serport_ldisc_open(struct tty_struct *tty) in serport_ldisc_open() argument 85 serport->tty = tty; in serport_ldisc_open() 89 tty->disc_data = serport; in serport_ldisc_open() 90 tty->receive_room = 256; in serport_ldisc_open() 91 set_bit(TTY_DO_WRITE_WAKEUP, &tty->flags); in serport_ldisc_open() 100 static void serport_ldisc_close(struct tty_struct *tty) in serport_ldisc_close() argument 102 struct serport *serport = tty->disc_data; in serport_ldisc_close() 113 static void serport_ldisc_receive(struct tty_struct *tty, const u8 *cp, in serport_ldisc_receive() argument [all …]
|
/linux/drivers/bluetooth/ |
H A D | hci_ldisc.c | 148 struct tty_struct *tty = hu->tty; in hci_uart_write_work() local 162 set_bit(TTY_DO_WRITE_WAKEUP, &tty->flags); in hci_uart_write_work() 163 len = tty->ops->write(tty, skb->data, skb->len); in hci_uart_write_work() 228 struct tty_struct *tty = hu->tty; in hci_uart_flush() local 230 BT_DBG("hdev %p tty %p", hdev, tty); in hci_uart_flush() 237 tty_ldisc_flush(tty); in hci_uart_flush() 238 tty_driver_flush_buffer(tty); in hci_uart_flush() 301 if (hu->tty->driver->ops->tiocmget && hu->tty->driver->ops->tiocmset) in hci_uart_has_flow_control() 310 struct tty_struct *tty = hu->tty; in hci_uart_set_flow_control() local 324 ktermios = tty->termios; in hci_uart_set_flow_control() [all …]
|
/linux/drivers/usb/serial/ |
H A D | upd78f0730.c | 183 static int upd78f0730_tiocmget(struct tty_struct *tty) in upd78f0730_tiocmget() argument 186 struct usb_serial_port *port = tty->driver_data; in upd78f0730_tiocmget() 204 static int upd78f0730_tiocmset(struct tty_struct *tty, in upd78f0730_tiocmset() argument 207 struct usb_serial_port *port = tty->driver_data; in upd78f0730_tiocmset() 241 static int upd78f0730_break_ctl(struct tty_struct *tty, int break_state) in upd78f0730_break_ctl() argument 244 struct usb_serial_port *port = tty->driver_data; in upd78f0730_break_ctl() 270 struct tty_struct *tty = port->port.tty; in upd78f0730_dtr_rts() local 279 upd78f0730_tiocmset(tty, set, clear); in upd78f0730_dtr_rts() 282 static speed_t upd78f0730_get_baud_rate(struct tty_struct *tty) in upd78f0730_get_baud_rate() argument 284 const speed_t baud_rate = tty_get_baud_rate(tty); in upd78f0730_get_baud_rate() [all …]
|
/linux/drivers/net/hamradio/ |
H A D | 6pack.c | 85 struct tty_struct *tty; /* ptr to TTY structure */ member 144 sp->tty->ops->write(sp->tty, &sp->led_state, 1); in sp_xmit_on_air() 146 actual = sp->tty->ops->write(sp->tty, sp->xbuff, sp->status2); in sp_xmit_on_air() 150 sp->tty->ops->write(sp->tty, &sp->led_state, 1); in sp_xmit_on_air() 185 set_bit(TTY_DO_WRITE_WAKEUP, &sp->tty->flags); in sp_encaps() 211 sp->tty->ops->write(sp->tty, &sp->led_state, 1); in sp_encaps() 213 actual = sp->tty->ops->write(sp->tty, sp->xbuff, count); in sp_encaps() 217 sp->tty->ops->write(sp->tty, &sp->led_state, 1); in sp_encaps() 259 if (sp->tty == NULL) in sp_open_dev() 270 if (sp->tty) { in sp_close() [all …]
|
/linux/sound/soc/codecs/ |
H A D | cx20442.c | 25 struct tty_struct *tty; member 164 if (!cx20442->tty || !cx20442->tty->ops->write) in cx20442_write() 193 if (cx20442->tty->ops->write(cx20442->tty, buf, len) != len) in cx20442_write() 212 static int v253_open(struct tty_struct *tty) in v253_open() argument 217 if (!tty->ops->write) in v253_open() 221 if (!tty->disc_data) in v253_open() 224 tty->receive_room = 16; in v253_open() 225 if (tty->ops->write(tty, v253_init, len) != len) { in v253_open() 232 tty->disc_data = NULL; in v253_open() 237 static void v253_close(struct tty_struct *tty) in v253_close() argument [all …]
|
/linux/drivers/mmc/core/ |
H A D | sdio_uart.c | 411 struct tty_struct *tty; in sdio_uart_transmit_chars() local 422 tty = tty_port_tty_get(&port->port); in sdio_uart_transmit_chars() 424 if (tty == NULL || !kfifo_len(xmit) || in sdio_uart_transmit_chars() 425 tty->flow.stopped || tty->hw_stopped) { in sdio_uart_transmit_chars() 427 tty_kref_put(tty); in sdio_uart_transmit_chars() 439 tty_wakeup(tty); in sdio_uart_transmit_chars() 443 tty_kref_put(tty); in sdio_uart_transmit_chars() 448 struct tty_struct *tty; in sdio_uart_check_modem_status() local 472 tty = tty_port_tty_get(&port->port); in sdio_uart_check_modem_status() 473 if (tty && C_CRTSCTS(tty)) { in sdio_uart_check_modem_status() [all …]
|