diff options
author | Alan Cox <alan@lxorguk.ukuu.org.uk> | 2006-12-08 05:38:44 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-08 11:28:56 -0500 |
commit | edc6afc5496875a640bef0913604be7550c1795d (patch) | |
tree | b05cd34a9a0d71edc9d6d7487ad551f0e15887b8 /include/linux/tty_driver.h | |
parent | be90038a24c814dc98bc5a813f41855779000018 (diff) |
[PATCH] tty: switch to ktermios and new framework
This is the core of the switch to the new framework. I've split it from the
driver patches which are mostly search/replace and would encourage people to
give this one a good hard stare.
The references to BOTHER and ISHIFT are the termios values that must be
defined by a platform once it wants to turn on "new style" ioctl support. The
code patches here ensure that providing
1. The termios overlays the ktermios in memory
2. The only new kernel only fields are c_ispeed/c_ospeed (or none)
the existing behaviour is retained. This is true for the patches at this
point in time.
Future patches will define BOTHER, ISHIFT and enable newer termios structures
for each architecture, and once they are all done some of the ifdefs also
vanish.
[akpm@osdl.org: warning fix]
[akpm@osdl.org: IRDA fix]
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux/tty_driver.h')
-rw-r--r-- | include/linux/tty_driver.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/include/linux/tty_driver.h b/include/linux/tty_driver.h index 5c8473bb688..659487e3ebe 100644 --- a/include/linux/tty_driver.h +++ b/include/linux/tty_driver.h | |||
@@ -53,7 +53,7 @@ | |||
53 | * device-specific ioctl's. If the ioctl number passed in cmd | 53 | * device-specific ioctl's. If the ioctl number passed in cmd |
54 | * is not recognized by the driver, it should return ENOIOCTLCMD. | 54 | * is not recognized by the driver, it should return ENOIOCTLCMD. |
55 | * | 55 | * |
56 | * void (*set_termios)(struct tty_struct *tty, struct termios * old); | 56 | * void (*set_termios)(struct tty_struct *tty, struct ktermios * old); |
57 | * | 57 | * |
58 | * This routine allows the tty driver to be notified when | 58 | * This routine allows the tty driver to be notified when |
59 | * device's termios settings have changed. Note that a | 59 | * device's termios settings have changed. Note that a |
@@ -132,7 +132,7 @@ struct tty_operations { | |||
132 | int (*chars_in_buffer)(struct tty_struct *tty); | 132 | int (*chars_in_buffer)(struct tty_struct *tty); |
133 | int (*ioctl)(struct tty_struct *tty, struct file * file, | 133 | int (*ioctl)(struct tty_struct *tty, struct file * file, |
134 | unsigned int cmd, unsigned long arg); | 134 | unsigned int cmd, unsigned long arg); |
135 | void (*set_termios)(struct tty_struct *tty, struct termios * old); | 135 | void (*set_termios)(struct tty_struct *tty, struct ktermios * old); |
136 | void (*throttle)(struct tty_struct * tty); | 136 | void (*throttle)(struct tty_struct * tty); |
137 | void (*unthrottle)(struct tty_struct * tty); | 137 | void (*unthrottle)(struct tty_struct * tty); |
138 | void (*stop)(struct tty_struct *tty); | 138 | void (*stop)(struct tty_struct *tty); |
@@ -165,7 +165,7 @@ struct tty_driver { | |||
165 | int num; /* number of devices allocated */ | 165 | int num; /* number of devices allocated */ |
166 | short type; /* type of tty driver */ | 166 | short type; /* type of tty driver */ |
167 | short subtype; /* subtype of tty driver */ | 167 | short subtype; /* subtype of tty driver */ |
168 | struct termios init_termios; /* Initial termios */ | 168 | struct ktermios init_termios; /* Initial termios */ |
169 | int flags; /* tty driver flags */ | 169 | int flags; /* tty driver flags */ |
170 | int refcount; /* for loadable tty drivers */ | 170 | int refcount; /* for loadable tty drivers */ |
171 | struct proc_dir_entry *proc_entry; /* /proc fs entry */ | 171 | struct proc_dir_entry *proc_entry; /* /proc fs entry */ |
@@ -175,8 +175,8 @@ struct tty_driver { | |||
175 | * Pointer to the tty data structures | 175 | * Pointer to the tty data structures |
176 | */ | 176 | */ |
177 | struct tty_struct **ttys; | 177 | struct tty_struct **ttys; |
178 | struct termios **termios; | 178 | struct ktermios **termios; |
179 | struct termios **termios_locked; | 179 | struct ktermios **termios_locked; |
180 | void *driver_state; /* only used for the PTY driver */ | 180 | void *driver_state; /* only used for the PTY driver */ |
181 | 181 | ||
182 | /* | 182 | /* |
@@ -193,7 +193,7 @@ struct tty_driver { | |||
193 | int (*chars_in_buffer)(struct tty_struct *tty); | 193 | int (*chars_in_buffer)(struct tty_struct *tty); |
194 | int (*ioctl)(struct tty_struct *tty, struct file * file, | 194 | int (*ioctl)(struct tty_struct *tty, struct file * file, |
195 | unsigned int cmd, unsigned long arg); | 195 | unsigned int cmd, unsigned long arg); |
196 | void (*set_termios)(struct tty_struct *tty, struct termios * old); | 196 | void (*set_termios)(struct tty_struct *tty, struct ktermios * old); |
197 | void (*throttle)(struct tty_struct * tty); | 197 | void (*throttle)(struct tty_struct * tty); |
198 | void (*unthrottle)(struct tty_struct * tty); | 198 | void (*unthrottle)(struct tty_struct * tty); |
199 | void (*stop)(struct tty_struct *tty); | 199 | void (*stop)(struct tty_struct *tty); |