diff --git a/Documentation/driver-api/serial/index.rst b/Documentation/driver-api/serial/index.rst index 8f7d7af3b90b..7eb21a695fc3 100644 --- a/Documentation/driver-api/serial/index.rst +++ b/Documentation/driver-api/serial/index.rst @@ -9,7 +9,6 @@ Support for Serial devices driver - tty Serial drivers ============== diff --git a/Documentation/driver-api/serial/tty.rst b/Documentation/tty/tty_ldisc.rst similarity index 91% rename from Documentation/driver-api/serial/tty.rst rename to Documentation/tty/tty_ldisc.rst index 65f971e3aada..8e48ab72f965 100644 --- a/Documentation/driver-api/serial/tty.rst +++ b/Documentation/tty/tty_ldisc.rst @@ -1,13 +1,10 @@ -================= -The Lockronomicon -================= +.. SPDX-License-Identifier: GPL-2.0 -Your guide to the ancient and twisted locking policies of the tty layer and -the warped logic behind them. Beware all ye who read on. +=================== +TTY Line Discipline +=================== - -Line Discipline ---------------- +.. contents:: :local: Line disciplines are registered with tty_register_ldisc() passing the discipline number and the ldisc structure. At the point of registration the @@ -33,25 +30,25 @@ counts the number of threads of execution within an ldisc method (plus those about to enter and exit although this detail matters not). Line Discipline Methods ------------------------ +======================= .. kernel-doc:: include/linux/tty_ldisc.h :identifiers: tty_ldisc_ops Driver Access -^^^^^^^^^^^^^ +============= Line discipline methods can call the methods of the underlying hardware driver. These are documented as a part of struct tty_operations. -Flags -^^^^^ +TTY Flags +========= Line discipline methods have access to :c:member:`tty_struct.flags` field. See :doc:`tty_struct`. Locking -^^^^^^^ +======= Callers to the line discipline functions from the tty layer are required to take line discipline locks. The same is true of calls from the driver side