mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-19 21:21:09 +00:00
tty: Define ASYNC_ replacement bits
Prepare for relocating kernel private state bits out of tty_port::flags field; tty_port::flags field is not atomic and can become corrupted by concurrent updates. It also suffers from the complication of sharing in a userspace-visible field which must be masked. Define new tty_port::iflags field and new, substitute bit definitions for the former ASYNC_* flags. Signed-off-by: Peter Hurley <peter@hurleysoftware.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
97ef38b821
commit
e4d38f334a
2 changed files with 23 additions and 2 deletions
|
@ -228,7 +228,8 @@ struct tty_port {
|
|||
int count; /* Usage count */
|
||||
wait_queue_head_t open_wait; /* Open waiters */
|
||||
wait_queue_head_t delta_msr_wait; /* Modem status change */
|
||||
unsigned long flags; /* TTY flags ASY_*/
|
||||
unsigned long flags; /* User TTY flags ASYNC_ */
|
||||
unsigned long iflags; /* Internal flags TTY_PORT_ */
|
||||
unsigned char console:1, /* port is a console */
|
||||
low_latency:1; /* optional: tune for latency */
|
||||
struct mutex mutex; /* Locking */
|
||||
|
@ -242,6 +243,19 @@ struct tty_port {
|
|||
struct kref kref; /* Ref counter */
|
||||
};
|
||||
|
||||
/* tty_port::iflags bits -- use atomic bit ops */
|
||||
#define TTY_PORT_INITIALIZED 0 /* device is initialized */
|
||||
#define TTY_PORT_SUSPENDED 1 /* device is suspended */
|
||||
#define TTY_PORT_ACTIVE 2 /* device is open */
|
||||
|
||||
/*
|
||||
* uart drivers: use the uart_port::status field and the UPSTAT_* defines
|
||||
* for s/w-based flow control steering and carrier detection status
|
||||
*/
|
||||
#define TTY_PORT_CTS_FLOW 3 /* h/w flow control enabled */
|
||||
#define TTY_PORT_CHECK_CD 4 /* carrier detect enabled */
|
||||
|
||||
|
||||
/*
|
||||
* Where all of the state associated with a tty is kept while the tty
|
||||
* is open. Since the termios state should be kept even if the tty
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue