Lines Matching refs:port
24 #define uart_console(port) \ argument
25 ((port)->cons && (port)->cons->index == (port)->line)
27 #define uart_console(port) ({ (void)port; 0; }) argument
130 int (*startup)(struct uart_port *port);
131 void (*shutdown)(struct uart_port *port);
132 void (*throttle)(struct uart_port *port);
133 void (*unthrottle)(struct uart_port *port);
296 struct tty_port port; member
351 void uart_write_wakeup(struct uart_port *port);
356 void uart_update_timeout(struct uart_port *port, unsigned int cflag,
358 unsigned int uart_get_baud_rate(struct uart_port *port, struct ktermios *termios,
361 unsigned int uart_get_divisor(struct uart_port *port, unsigned int baud);
364 static inline int uart_poll_timeout(struct uart_port *port) in uart_poll_timeout() argument
366 int timeout = port->timeout; in uart_poll_timeout()
376 struct uart_port port; member
419 static inline bool uart_console_enabled(struct uart_port *port) in uart_console_enabled() argument
421 return uart_console(port) && (port->cons->flags & CON_ENABLED); in uart_console_enabled()
430 int uart_set_options(struct uart_port *port, struct console *co, int baud,
433 void uart_console_write(struct uart_port *port, const char *s,
442 int uart_add_one_port(struct uart_driver *reg, struct uart_port *port);
443 int uart_remove_one_port(struct uart_driver *reg, struct uart_port *port);
450 int uart_suspend_port(struct uart_driver *reg, struct uart_port *port);
451 int uart_resume_port(struct uart_driver *reg, struct uart_port *port);
462 static inline int uart_tx_stopped(struct uart_port *port) in uart_tx_stopped() argument
464 struct tty_struct *tty = port->state->port.tty; in uart_tx_stopped()
465 if ((tty && tty->flow.stopped) || port->hw_stopped) in uart_tx_stopped()
491 extern void uart_insert_char(struct uart_port *port, unsigned int status,
499 bool uart_try_toggle_sysrq(struct uart_port *port, unsigned int ch);
501 static inline int uart_handle_sysrq_char(struct uart_port *port, unsigned int ch) in uart_handle_sysrq_char() argument
503 if (!port->sysrq) in uart_handle_sysrq_char()
506 if (ch && time_before(jiffies, port->sysrq)) { in uart_handle_sysrq_char()
509 port->sysrq = 0; in uart_handle_sysrq_char()
512 if (uart_try_toggle_sysrq(port, ch)) in uart_handle_sysrq_char()
515 port->sysrq = 0; in uart_handle_sysrq_char()
520 static inline int uart_prepare_sysrq_char(struct uart_port *port, unsigned int ch) in uart_prepare_sysrq_char() argument
522 if (!port->sysrq) in uart_prepare_sysrq_char()
525 if (ch && time_before(jiffies, port->sysrq)) { in uart_prepare_sysrq_char()
527 port->sysrq_ch = ch; in uart_prepare_sysrq_char()
528 port->sysrq = 0; in uart_prepare_sysrq_char()
531 if (uart_try_toggle_sysrq(port, ch)) in uart_prepare_sysrq_char()
534 port->sysrq = 0; in uart_prepare_sysrq_char()
539 static inline void uart_unlock_and_check_sysrq(struct uart_port *port) in uart_unlock_and_check_sysrq() argument
543 if (!port->has_sysrq) { in uart_unlock_and_check_sysrq()
544 spin_unlock(&port->lock); in uart_unlock_and_check_sysrq()
548 sysrq_ch = port->sysrq_ch; in uart_unlock_and_check_sysrq()
549 port->sysrq_ch = 0; in uart_unlock_and_check_sysrq()
551 spin_unlock(&port->lock); in uart_unlock_and_check_sysrq()
557 static inline void uart_unlock_and_check_sysrq_irqrestore(struct uart_port *port, in uart_unlock_and_check_sysrq_irqrestore() argument
562 if (!port->has_sysrq) { in uart_unlock_and_check_sysrq_irqrestore()
563 spin_unlock_irqrestore(&port->lock, flags); in uart_unlock_and_check_sysrq_irqrestore()
567 sysrq_ch = port->sysrq_ch; in uart_unlock_and_check_sysrq_irqrestore()
568 port->sysrq_ch = 0; in uart_unlock_and_check_sysrq_irqrestore()
570 spin_unlock_irqrestore(&port->lock, flags); in uart_unlock_and_check_sysrq_irqrestore()
576 static inline int uart_handle_sysrq_char(struct uart_port *port, unsigned int ch) in uart_handle_sysrq_char() argument
580 static inline int uart_prepare_sysrq_char(struct uart_port *port, unsigned int ch) in uart_prepare_sysrq_char() argument
584 static inline void uart_unlock_and_check_sysrq(struct uart_port *port) in uart_unlock_and_check_sysrq() argument
586 spin_unlock(&port->lock); in uart_unlock_and_check_sysrq()
588 static inline void uart_unlock_and_check_sysrq_irqrestore(struct uart_port *port, in uart_unlock_and_check_sysrq_irqrestore() argument
591 spin_unlock_irqrestore(&port->lock, flags); in uart_unlock_and_check_sysrq_irqrestore()
598 static inline int uart_handle_break(struct uart_port *port) in uart_handle_break() argument
600 struct uart_state *state = port->state; in uart_handle_break()
602 if (port->handle_break) in uart_handle_break()
603 port->handle_break(port); in uart_handle_break()
606 if (port->has_sysrq && uart_console(port)) { in uart_handle_break()
607 if (!port->sysrq) { in uart_handle_break()
608 port->sysrq = jiffies + SYSRQ_TIMEOUT; in uart_handle_break()
611 port->sysrq = 0; in uart_handle_break()
614 if (port->flags & UPF_SAK) in uart_handle_break()
615 do_SAK(state->port.tty); in uart_handle_break()
622 #define UART_ENABLE_MS(port,cflag) ((port)->flags & UPF_HARDPPS_CD || \ argument
626 int uart_get_rs485_mode(struct uart_port *port);