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