mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +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
|
@ -32,7 +32,12 @@
|
|||
#define ASYNCB_MAGIC_MULTIPLIER 16 /* Use special CLK or divisor */
|
||||
#define ASYNCB_LAST_USER 16
|
||||
|
||||
/* Internal flags used only by kernel */
|
||||
/*
|
||||
* Internal flags used only by kernel (read-only)
|
||||
*
|
||||
* WARNING: These flags are no longer used and have been superceded by the
|
||||
* TTY_PORT_ flags in the iflags field (and not userspace-visible)
|
||||
*/
|
||||
#define ASYNCB_INITIALIZED 31 /* Serial port was initialized */
|
||||
#define ASYNCB_SUSPENDED 30 /* Serial port is suspended */
|
||||
#define ASYNCB_NORMAL_ACTIVE 29 /* Normal device is active */
|
||||
|
@ -44,6 +49,7 @@
|
|||
#define ASYNCB_CONS_FLOW 23 /* flow control for console */
|
||||
#define ASYNCB_FIRST_KERNEL 22
|
||||
|
||||
/* Masks */
|
||||
#define ASYNC_HUP_NOTIFY (1U << ASYNCB_HUP_NOTIFY)
|
||||
#define ASYNC_SUSPENDED (1U << ASYNCB_SUSPENDED)
|
||||
#define ASYNC_FOURPORT (1U << ASYNCB_FOURPORT)
|
||||
|
@ -72,6 +78,7 @@
|
|||
#define ASYNC_SPD_WARP (ASYNC_SPD_HI|ASYNC_SPD_SHI)
|
||||
#define ASYNC_SPD_MASK (ASYNC_SPD_HI|ASYNC_SPD_VHI|ASYNC_SPD_SHI)
|
||||
|
||||
/* These flags are no longer used (and were always masked from userspace) */
|
||||
#define ASYNC_INITIALIZED (1U << ASYNCB_INITIALIZED)
|
||||
#define ASYNC_NORMAL_ACTIVE (1U << ASYNCB_NORMAL_ACTIVE)
|
||||
#define ASYNC_BOOT_AUTOCONF (1U << ASYNCB_BOOT_AUTOCONF)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue