162306a36Sopenharmony_ci.. SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci
362306a36Sopenharmony_ci========
462306a36Sopenharmony_ciTTY Port
562306a36Sopenharmony_ci========
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci.. contents:: :local:
862306a36Sopenharmony_ci
962306a36Sopenharmony_ciThe TTY drivers are advised to use struct tty_port helpers as much as possible.
1062306a36Sopenharmony_ciIf the drivers implement :c:member:`tty_port.ops.activate()` and
1162306a36Sopenharmony_ci:c:member:`tty_port.ops.shutdown()`, they can use tty_port_open(),
1262306a36Sopenharmony_citty_port_close(), and tty_port_hangup() in respective
1362306a36Sopenharmony_ci:c:member:`tty_struct.ops` hooks.
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciThe reference and details are contained in the `TTY Port Reference`_ and `TTY
1662306a36Sopenharmony_ciPort Operations Reference`_ sections at the bottom.
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciTTY Port Functions
1962306a36Sopenharmony_ci==================
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ciInit & Destroy
2262306a36Sopenharmony_ci--------------
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci.. kernel-doc::  drivers/tty/tty_port.c
2562306a36Sopenharmony_ci   :identifiers: tty_port_init tty_port_destroy
2662306a36Sopenharmony_ci        tty_port_get tty_port_put
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ciOpen/Close/Hangup Helpers
2962306a36Sopenharmony_ci-------------------------
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci.. kernel-doc::  drivers/tty/tty_port.c
3262306a36Sopenharmony_ci   :identifiers: tty_port_install tty_port_open tty_port_block_til_ready
3362306a36Sopenharmony_ci        tty_port_close tty_port_close_start tty_port_close_end tty_port_hangup
3462306a36Sopenharmony_ci        tty_port_shutdown
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ciTTY Refcounting
3762306a36Sopenharmony_ci---------------
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci.. kernel-doc::  drivers/tty/tty_port.c
4062306a36Sopenharmony_ci   :identifiers: tty_port_tty_get tty_port_tty_set
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ciTTY Helpers
4362306a36Sopenharmony_ci-----------
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci.. kernel-doc::  drivers/tty/tty_port.c
4662306a36Sopenharmony_ci   :identifiers: tty_port_tty_hangup tty_port_tty_wakeup
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ciModem Signals
5062306a36Sopenharmony_ci-------------
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci.. kernel-doc::  drivers/tty/tty_port.c
5362306a36Sopenharmony_ci   :identifiers: tty_port_carrier_raised tty_port_raise_dtr_rts
5462306a36Sopenharmony_ci        tty_port_lower_dtr_rts
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci----
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ciTTY Port Reference
5962306a36Sopenharmony_ci==================
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci.. kernel-doc:: include/linux/tty_port.h
6262306a36Sopenharmony_ci   :identifiers: tty_port
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci----
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ciTTY Port Operations Reference
6762306a36Sopenharmony_ci=============================
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci.. kernel-doc:: include/linux/tty_port.h
7062306a36Sopenharmony_ci   :identifiers: tty_port_operations
71