Commit e5d0424a authored by Jiri Slaby (SUSE)'s avatar Jiri Slaby (SUSE) Committed by Greg Kroah-Hartman

tty: convert THROTTLE constants into enum

And make an explicit constant for zero too. This allows for easier type
checking of the parameter.

Note: tty_struct::flow_change is kept as int because include/tty.h
(tty_struct) doesn't see tty/tty.h (this enum).
Signed-off-by: default avatar"Jiri Slaby (SUSE)" <jirislaby@kernel.org>
Link: https://lore.kernel.org/r/20230919085156.1578-13-jirislaby@kernel.orgSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 083cfcf3
...@@ -41,15 +41,20 @@ enum { ...@@ -41,15 +41,20 @@ enum {
}; };
/* Values for tty->flow_change */ /* Values for tty->flow_change */
#define TTY_THROTTLE_SAFE 1 enum tty_flow_change {
#define TTY_UNTHROTTLE_SAFE 2 TTY_FLOW_NO_CHANGE,
TTY_THROTTLE_SAFE,
TTY_UNTHROTTLE_SAFE,
};
static inline void __tty_set_flow_change(struct tty_struct *tty, int val) static inline void __tty_set_flow_change(struct tty_struct *tty,
enum tty_flow_change val)
{ {
tty->flow_change = val; tty->flow_change = val;
} }
static inline void tty_set_flow_change(struct tty_struct *tty, int val) static inline void tty_set_flow_change(struct tty_struct *tty,
enum tty_flow_change val)
{ {
tty->flow_change = val; tty->flow_change = val;
smp_mb(); smp_mb();
......
...@@ -104,7 +104,7 @@ void tty_unthrottle(struct tty_struct *tty) ...@@ -104,7 +104,7 @@ void tty_unthrottle(struct tty_struct *tty)
if (test_and_clear_bit(TTY_THROTTLED, &tty->flags) && if (test_and_clear_bit(TTY_THROTTLED, &tty->flags) &&
tty->ops->unthrottle) tty->ops->unthrottle)
tty->ops->unthrottle(tty); tty->ops->unthrottle(tty);
tty->flow_change = 0; tty->flow_change = TTY_FLOW_NO_CHANGE;
up_write(&tty->termios_rwsem); up_write(&tty->termios_rwsem);
} }
EXPORT_SYMBOL(tty_unthrottle); EXPORT_SYMBOL(tty_unthrottle);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment