aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/tty.h
diff options
context:
space:
mode:
authorPeter Hurley <peter@hurleysoftware.com>2013-06-15 09:36:01 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-07-23 19:47:07 -0400
commit1fc359fc3ea72314cc3ebdfa94c60e020c152cd2 (patch)
tree302ccb5a8cd9dee3c5affe1407e1413b66e8a207 /include/linux/tty.h
parentf0f947c124e05ec977019b974b12dfe171dd7148 (diff)
tty: Compute flip buffer ptrs
The char_buf_ptr and flag_buf_ptr values are trivially derived from the .data field offset; compute values as needed. Fixes a long-standing type-mismatch with the char and flag ptrs. Signed-off-by: Peter Hurley <peter@hurleysoftware.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/tty.h')
-rw-r--r--include/linux/tty.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/include/linux/tty.h b/include/linux/tty.h
index 57a70d1d0412..87bbaa31ebf5 100644
--- a/include/linux/tty.h
+++ b/include/linux/tty.h
@@ -31,8 +31,6 @@
31 31
32struct tty_buffer { 32struct tty_buffer {
33 struct tty_buffer *next; 33 struct tty_buffer *next;
34 char *char_buf_ptr;
35 unsigned char *flag_buf_ptr;
36 int used; 34 int used;
37 int size; 35 int size;
38 int commit; 36 int commit;
@@ -41,6 +39,16 @@ struct tty_buffer {
41 unsigned long data[0]; 39 unsigned long data[0];
42}; 40};
43 41
42static inline unsigned char *char_buf_ptr(struct tty_buffer *b, int ofs)
43{
44 return ((unsigned char *)b->data) + ofs;
45}
46
47static inline char *flag_buf_ptr(struct tty_buffer *b, int ofs)
48{
49 return (char *)char_buf_ptr(b, ofs) + b->size;
50}
51
44/* 52/*
45 * We default to dicing tty buffer allocations to this many characters 53 * We default to dicing tty buffer allocations to this many characters
46 * in order to avoid multiple page allocations. We know the size of 54 * in order to avoid multiple page allocations. We know the size of