diff options
author | Peter Hurley <peter@hurleysoftware.com> | 2013-06-15 09:36:13 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-07-23 19:47:09 -0400 |
commit | 0f56bd2f6a97d8b0eb5c8f9bc04b83a6c16d1d48 (patch) | |
tree | 70337a7fd95f71d5f39aa9d168c09be2ff3465a1 /include | |
parent | 8c1fb49ba107c7db9441ef6ec0ab5830d112cc2a (diff) |
tty: Use non-atomic state to signal flip buffer flush pending
Atomic bit ops are no longer required to indicate a flip buffer
flush is pending, as the flush_mutex is sufficient barrier.
Remove the unnecessary port .iflags field and localize flip buffer
state to struct tty_bufhead.
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/tty.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/include/linux/tty.h b/include/linux/tty.h index b8e8adf95bf3..991575fe3451 100644 --- a/include/linux/tty.h +++ b/include/linux/tty.h | |||
@@ -68,6 +68,7 @@ struct tty_bufhead { | |||
68 | struct tty_buffer *head; /* Queue head */ | 68 | struct tty_buffer *head; /* Queue head */ |
69 | struct work_struct work; | 69 | struct work_struct work; |
70 | struct mutex flush_mutex; | 70 | struct mutex flush_mutex; |
71 | unsigned int flushpending:1; | ||
71 | struct tty_buffer sentinel; | 72 | struct tty_buffer sentinel; |
72 | struct llist_head free; /* Free queue head */ | 73 | struct llist_head free; /* Free queue head */ |
73 | atomic_t memory_used; /* In-use buffers excluding free list */ | 74 | atomic_t memory_used; /* In-use buffers excluding free list */ |
@@ -212,8 +213,6 @@ struct tty_port { | |||
212 | wait_queue_head_t close_wait; /* Close waiters */ | 213 | wait_queue_head_t close_wait; /* Close waiters */ |
213 | wait_queue_head_t delta_msr_wait; /* Modem status change */ | 214 | wait_queue_head_t delta_msr_wait; /* Modem status change */ |
214 | unsigned long flags; /* TTY flags ASY_*/ | 215 | unsigned long flags; /* TTY flags ASY_*/ |
215 | unsigned long iflags; /* TTYP_ internal flags */ | ||
216 | #define TTYP_FLUSHPENDING 2 /* Queued buffer flush pending */ | ||
217 | unsigned char console:1, /* port is a console */ | 216 | unsigned char console:1, /* port is a console */ |
218 | low_latency:1; /* direct buffer flush */ | 217 | low_latency:1; /* direct buffer flush */ |
219 | struct mutex mutex; /* Locking */ | 218 | struct mutex mutex; /* Locking */ |