Lines Matching +full:activate +full:- +full:to +full:- +full:activate

1 /* SPDX-License-Identifier: GPL-2.0 */
17 * struct tty_port_operations -- operations on tty_port
21 * port was initialized. Do not use to free resources. Turn off the device
22 * only. Called under the port mutex to serialize against @activate and
24 * @activate: called under the port mutex from tty_port_open(), serialized using
25 * the port mutex. Supposed to turn on the device.
37 int (*activate)(struct tty_port *port, struct tty_struct *tty); member
52 * struct tty_port -- port level information
55 * @tty: back pointer to &struct tty_struct, valid only if the tty is open. Use
56 * tty_port_tty_get() to obtain it (and tty_kref_put() to release).
57 * @itty: internal back pointer to &struct tty_struct. Avoid this. It should be
59 * @ops: tty port operations (like activate, shutdown), see &struct
75 * @close_delay: delay in jiffies to wait when closing the port
76 * @closing_wait: delay in jiffies for output to be sent before closing
77 * @drain_delay: set to zero if no pure time based drain is needed else set to
79 * @kref: references counter. Reaching zero calls @ops->destruct() if non-%NULL
81 * @client_data: pointer to private data, for @client_ops
87 * The tty port has a different lifetime to the tty so must be kept apart.
88 * In addition be careful as tty -> port mappings are valid for the life
89 * of the tty object but in many cases port -> tty mappings are valid only
95 * There is a lot of helpers around &struct tty_port too. To name the most
98 * tty_port_hangup(). These call @ops->activate() and @ops->shutdown() as
126 /* tty_port::iflags bits -- use atomic bit ops */
133 * for s/w-based flow control steering and carrier detection status
166 if (port && kref_get_unless_zero(&port->kref)) in tty_port_get()
174 return test_bit(TTY_PORT_CTS_FLOW, &port->iflags); in tty_port_cts_enabled()
179 assign_bit(TTY_PORT_CTS_FLOW, &port->iflags, val); in tty_port_set_cts_flow()
184 return test_bit(TTY_PORT_ACTIVE, &port->iflags); in tty_port_active()
189 assign_bit(TTY_PORT_ACTIVE, &port->iflags, val); in tty_port_set_active()
194 return test_bit(TTY_PORT_CHECK_CD, &port->iflags); in tty_port_check_carrier()
199 assign_bit(TTY_PORT_CHECK_CD, &port->iflags, val); in tty_port_set_check_carrier()
204 return test_bit(TTY_PORT_SUSPENDED, &port->iflags); in tty_port_suspended()
209 assign_bit(TTY_PORT_SUSPENDED, &port->iflags, val); in tty_port_set_suspended()
214 return test_bit(TTY_PORT_INITIALIZED, &port->iflags); in tty_port_initialized()
219 assign_bit(TTY_PORT_INITIALIZED, &port->iflags, val); in tty_port_set_initialized()
224 return test_bit(TTY_PORT_KOPENED, &port->iflags); in tty_port_kopened()
229 assign_bit(TTY_PORT_KOPENED, &port->iflags, val); in tty_port_set_kopened()
254 return port->count + port->blocked_open; in tty_port_users()