Merge branch 'for-3.9/drivers' of git://git.kernel.dk/linux-block
[firefly-linux-kernel-4.4.55.git] / Documentation / serial / driver
index 0a25a919186407a013f61dd97e282367bab5e77d..067c47d4691747757b9b0a36efc37d95e79df1e3 100644 (file)
@@ -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.
@@ -242,9 +252,8 @@ hardware.
 
   pm(port,state,oldstate)
        Perform any power management related activities on the specified
-       port.  State indicates the new state (defined by ACPI D0-D3),
-       oldstate indicates the previous state.  Essentially, D0 means
-       fully on, D3 means powered down.
+       port.  State indicates the new state (defined by
+       enum uart_pm_state), oldstate indicates the previous state.
 
        This function should not be used to grab any resources.
 
@@ -255,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
@@ -307,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
 ---------------