tty,serial: Unify UPF_* and ASYNC_* flag definitions
authorPeter Hurley <peter@hurleysoftware.com>
Thu, 16 Oct 2014 20:54:21 +0000 (16:54 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 6 Nov 2014 02:53:54 +0000 (18:53 -0800)
commit904326ecac022ebaeb39cdfb206fd3b6551cdfca
treebd1a7fffee63994925c233dfc3409bfc68566467
parent7c8ab967e3cd1513cd79fd5edc404fb43c7f3a96
tty,serial: Unify UPF_* and ASYNC_* flag definitions

The userspace-defined ASYNC_* flags in include/uapi/linux/tty_flags.h
are the authoritative bit definitions for the serial_struct flags,
and thus for any derivative values or fields.

Although the serial core provides the TIOCSSERIAL and TIOCGSERIAL
ioctls to set and retrieve these flags from userspace, it defines these
bits independently, as UPF_* macros.

Define the UPF_* macros which are userspace-modifiable directly from
the ASYNC_* symbolic constants. Add compile-time test to ensure the
bits changeable by TIOCSSERIAL match the defined range in the uapi
header.

Add ASYNCB_MAGIC_MULTIPLIER to the uapi header since this bit is
programmable by userspace.

Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
include/linux/serial_core.h
include/uapi/linux/tty_flags.h