Loading Documentation/serial/driver +39 −0 Original line number Diff line number Diff line Loading @@ -133,6 +133,16 @@ hardware. Interrupts: locally disabled. This call must not sleep send_xchar(port,ch) Transmit a high priority character, even if the port is stopped. This is used to implement XON/XOFF flow control and tcflow(). If the serial driver does not implement this function, the tty core will append the character to the circular buffer and then call start_tx() / stop_tx() to flush the data out. Locking: none. Interrupts: caller dependent. stop_rx(port) Stop receiving characters; the port is in the process of being closed. Loading Loading @@ -254,6 +264,10 @@ hardware. Locking: none. Interrupts: caller dependent. set_wake(port,state) Enable/disable power management wakeup on serial activity. Not currently implemented. type(port) Return a pointer to a string constant describing the specified port, or return NULL, in which case the string 'unknown' is Loading Loading @@ -306,6 +320,31 @@ hardware. Locking: none. Interrupts: caller dependent. poll_init(port) Called by kgdb to perform the minimal hardware initialization needed to support poll_put_char() and poll_get_char(). Unlike ->startup() this should not request interrupts. Locking: tty_mutex and tty_port->mutex taken. Interrupts: n/a. poll_put_char(port,ch) Called by kgdb to write a single character directly to the serial port. It can and should block until there is space in the TX FIFO. Locking: none. Interrupts: caller dependent. This call must not sleep poll_get_char(port) Called by kgdb to read a single character directly from the serial port. If data is available, it should be returned; otherwise the function should return NO_POLL_CHAR immediately. Locking: none. Interrupts: caller dependent. This call must not sleep Other functions --------------- Loading include/linux/serial_core.h +4 −4 Original line number Diff line number Diff line Loading @@ -37,8 +37,8 @@ struct serial_struct; struct device; /* * This structure describes all the operations that can be * done on the physical hardware. * This structure describes all the operations that can be done on the * physical hardware. See Documentation/serial/driver for details. */ struct uart_ops { unsigned int (*tx_empty)(struct uart_port *); Loading Loading
Documentation/serial/driver +39 −0 Original line number Diff line number Diff line Loading @@ -133,6 +133,16 @@ hardware. Interrupts: locally disabled. This call must not sleep send_xchar(port,ch) Transmit a high priority character, even if the port is stopped. This is used to implement XON/XOFF flow control and tcflow(). If the serial driver does not implement this function, the tty core will append the character to the circular buffer and then call start_tx() / stop_tx() to flush the data out. Locking: none. Interrupts: caller dependent. stop_rx(port) Stop receiving characters; the port is in the process of being closed. Loading Loading @@ -254,6 +264,10 @@ hardware. Locking: none. Interrupts: caller dependent. set_wake(port,state) Enable/disable power management wakeup on serial activity. Not currently implemented. type(port) Return a pointer to a string constant describing the specified port, or return NULL, in which case the string 'unknown' is Loading Loading @@ -306,6 +320,31 @@ hardware. Locking: none. Interrupts: caller dependent. poll_init(port) Called by kgdb to perform the minimal hardware initialization needed to support poll_put_char() and poll_get_char(). Unlike ->startup() this should not request interrupts. Locking: tty_mutex and tty_port->mutex taken. Interrupts: n/a. poll_put_char(port,ch) Called by kgdb to write a single character directly to the serial port. It can and should block until there is space in the TX FIFO. Locking: none. Interrupts: caller dependent. This call must not sleep poll_get_char(port) Called by kgdb to read a single character directly from the serial port. If data is available, it should be returned; otherwise the function should return NO_POLL_CHAR immediately. Locking: none. Interrupts: caller dependent. This call must not sleep Other functions --------------- Loading
include/linux/serial_core.h +4 −4 Original line number Diff line number Diff line Loading @@ -37,8 +37,8 @@ struct serial_struct; struct device; /* * This structure describes all the operations that can be * done on the physical hardware. * This structure describes all the operations that can be done on the * physical hardware. See Documentation/serial/driver for details. */ struct uart_ops { unsigned int (*tx_empty)(struct uart_port *); Loading