diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2006-01-21 22:50:36 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-01-21 22:50:36 +0000 |
commit | 747c8a55946ed037bf7d62454c3c599c02af2262 (patch) | |
tree | 4c20f97a7700da30efa6e6e5f88ca13fe2b8470c /include/linux/serial_core.h | |
parent | ba899dbc036d24ab6b45faf64e3648a268721cc9 (diff) | |
download | lwn-747c8a55946ed037bf7d62454c3c599c02af2262.tar.gz lwn-747c8a55946ed037bf7d62454c3c599c02af2262.zip |
[SERIAL] Make uart_info flags a bitwise type
The potential for confusing the flags is fairly high. Make
uart_info's flags a bitwise type so sparse can check that the
right flag definitions are used with the right structure.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include/linux/serial_core.h')
-rw-r--r-- | include/linux/serial_core.h | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h index b74ff34469b9..90f681789a64 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h @@ -287,6 +287,9 @@ struct uart_state { }; #define UART_XMIT_SIZE PAGE_SIZE + +typedef unsigned int __bitwise__ uif_t; + /* * This is the state information which is only valid when the port * is open; it may be freed by the core driver once the device has @@ -296,17 +299,16 @@ struct uart_state { struct uart_info { struct tty_struct *tty; struct circ_buf xmit; - unsigned int flags; + uif_t flags; /* - * These are the flags that specific to info->flags, and reflect our - * internal state. They can not be accessed via port->flags. Low - * level drivers must not change these, but may query them instead. + * Definitions for info->flags. These are _private_ to serial_core, and + * are specific to this structure. They may be queried by low level drivers. */ -#define UIF_CHECK_CD (1 << 25) -#define UIF_CTS_FLOW (1 << 26) -#define UIF_NORMAL_ACTIVE (1 << 29) -#define UIF_INITIALIZED (1 << 31) +#define UIF_CHECK_CD ((__force uif_t) (1 << 25)) +#define UIF_CTS_FLOW ((__force uif_t) (1 << 26)) +#define UIF_NORMAL_ACTIVE ((__force uif_t) (1 << 29)) +#define UIF_INITIALIZED ((__force uif_t) (1 << 31)) int blocked_open; |