linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / Documentation / serial / driver
index 88ad615..42ef997 100644 (file)
@@ -3,11 +3,14 @@
                        --------------------
 
 
                        --------------------
 
 
+   $Id: driver,v 1.10 2002/07/22 15:27:30 rmk Exp $
+
+
 This document is meant as a brief overview of some aspects of the new serial
 driver.  It is not complete, any questions you have should be directed to
 <rmk@arm.linux.org.uk>
 
 This document is meant as a brief overview of some aspects of the new serial
 driver.  It is not complete, any questions you have should be directed to
 <rmk@arm.linux.org.uk>
 
-The reference implementation is contained within amba_pl011.c.
+The reference implementation is contained within serial_amba.c.
 
 
 
 
 
 
@@ -28,11 +31,6 @@ The serial core provides a few helper functions.  This includes identifing
 the correct port structure (via uart_get_console) and decoding command line
 arguments (uart_parse_options).
 
 the correct port structure (via uart_get_console) and decoding command line
 arguments (uart_parse_options).
 
-There is also a helper function (uart_write_console) which performs a
-character by character write, translating newlines to CRLF sequences.
-Driver writers are recommended to use this function rather than implementing
-their own version.
-
 
 Locking
 -------
 
 Locking
 -------
@@ -88,7 +86,6 @@ hardware.
                - TIOCM_DTR     DTR signal.
                - TIOCM_OUT1    OUT1 signal.
                - TIOCM_OUT2    OUT2 signal.
                - TIOCM_DTR     DTR signal.
                - TIOCM_OUT1    OUT1 signal.
                - TIOCM_OUT2    OUT2 signal.
-               - TIOCM_LOOP    Set the port into loopback mode.
        If the appropriate bit is set, the signal should be driven
        active.  If the bit is clear, the signal should be driven
        inactive.
        If the appropriate bit is set, the signal should be driven
        active.  If the bit is clear, the signal should be driven
        inactive.
@@ -144,10 +141,6 @@ hardware.
   enable_ms(port)
        Enable the modem status interrupts.
 
   enable_ms(port)
        Enable the modem status interrupts.
 
-       This method may be called multiple times.  Modem status
-       interrupts should be disabled when the shutdown method is
-       called.
-
        Locking: port->lock taken.
        Interrupts: locally disabled.
        This call must not sleep
        Locking: port->lock taken.
        Interrupts: locally disabled.
        This call must not sleep
@@ -167,8 +160,6 @@ hardware.
        state.  Enable the port for reception.  It should not activate
        RTS nor DTR; this will be done via a separate call to set_mctrl.
 
        state.  Enable the port for reception.  It should not activate
        RTS nor DTR; this will be done via a separate call to set_mctrl.
 
-       This method will only be called when the port is initially opened.
-
        Locking: port_sem taken.
        Interrupts: globally disabled.
 
        Locking: port_sem taken.
        Interrupts: globally disabled.
 
@@ -178,11 +169,6 @@ hardware.
        RTS nor DTR; this will have already been done via a separate
        call to set_mctrl.
 
        RTS nor DTR; this will have already been done via a separate
        call to set_mctrl.
 
-       Drivers must not access port->info once this call has completed.
-
-       This method will only be called when there are no more users of
-       this port.
-
        Locking: port_sem taken.
        Interrupts: caller dependent.
 
        Locking: port_sem taken.
        Interrupts: caller dependent.
 
@@ -214,13 +200,12 @@ hardware.
        The interaction of the iflag bits is as follows (parity error
        given as an example):
        Parity error    INPCK   IGNPAR
        The interaction of the iflag bits is as follows (parity error
        given as an example):
        Parity error    INPCK   IGNPAR
-       n/a             0       n/a     character received, marked as
-                                       TTY_NORMAL
-       None            1       n/a     character received, marked as
+       None            n/a     n/a     character received
+       Yes             n/a     0       character discarded
+       Yes             0       1       character received, marked as
                                        TTY_NORMAL
                                        TTY_NORMAL
-       Yes             1       0       character received, marked as
+       Yes             1       1       character received, marked as
                                        TTY_PARITY
                                        TTY_PARITY
-       Yes             1       1       character discarded
 
        Other flags may be used (eg, xon/xoff characters) if your
        hardware supports hardware "soft" flow control.
 
        Other flags may be used (eg, xon/xoff characters) if your
        hardware supports hardware "soft" flow control.