aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/tty.h
diff options
context:
space:
mode:
authorAlan Cox <alan@redhat.com>2008-07-16 16:53:12 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-20 20:12:34 -0400
commita352def21a642133758b868c71bee12ab34ad5c5 (patch)
tree95d0f7229f9e4afccdc6fbbf11f7f5c6dd83b0fd /include/linux/tty.h
parente1e5770bb63fb9d71619a68f52cb0ba4b2ae58a6 (diff)
tty: Ldisc revamp
Move the line disciplines towards a conventional ->ops arrangement. For the moment the actual 'tty_ldisc' struct in the tty is kept as part of the tty struct but this can then be changed if it turns out that when it all settles down we want to refcount ldiscs separately to the tty. Pull the ldisc code out of /proc and put it with our ldisc code. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/tty.h')
-rw-r--r--include/linux/tty.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/include/linux/tty.h b/include/linux/tty.h
index 324a3b231d40..013711ea7385 100644
--- a/include/linux/tty.h
+++ b/include/linux/tty.h
@@ -185,6 +185,7 @@ struct tty_struct {
185 struct tty_driver *driver; 185 struct tty_driver *driver;
186 const struct tty_operations *ops; 186 const struct tty_operations *ops;
187 int index; 187 int index;
188 /* The ldisc objects are protected by tty_ldisc_lock at the moment */
188 struct tty_ldisc ldisc; 189 struct tty_ldisc ldisc;
189 struct mutex termios_mutex; 190 struct mutex termios_mutex;
190 spinlock_t ctrl_lock; 191 spinlock_t ctrl_lock;
@@ -289,7 +290,7 @@ extern void tty_wait_until_sent(struct tty_struct * tty, long timeout);
289extern int tty_check_change(struct tty_struct * tty); 290extern int tty_check_change(struct tty_struct * tty);
290extern void stop_tty(struct tty_struct * tty); 291extern void stop_tty(struct tty_struct * tty);
291extern void start_tty(struct tty_struct * tty); 292extern void start_tty(struct tty_struct * tty);
292extern int tty_register_ldisc(int disc, struct tty_ldisc *new_ldisc); 293extern int tty_register_ldisc(int disc, struct tty_ldisc_ops *new_ldisc);
293extern int tty_unregister_ldisc(int disc); 294extern int tty_unregister_ldisc(int disc);
294extern int tty_register_driver(struct tty_driver *driver); 295extern int tty_register_driver(struct tty_driver *driver);
295extern int tty_unregister_driver(struct tty_driver *driver); 296extern int tty_unregister_driver(struct tty_driver *driver);
@@ -330,9 +331,7 @@ extern int tty_termios_hw_change(struct ktermios *a, struct ktermios *b);
330extern struct tty_ldisc *tty_ldisc_ref(struct tty_struct *); 331extern struct tty_ldisc *tty_ldisc_ref(struct tty_struct *);
331extern void tty_ldisc_deref(struct tty_ldisc *); 332extern void tty_ldisc_deref(struct tty_ldisc *);
332extern struct tty_ldisc *tty_ldisc_ref_wait(struct tty_struct *); 333extern struct tty_ldisc *tty_ldisc_ref_wait(struct tty_struct *);
333 334extern const struct file_operations tty_ldiscs_proc_fops;
334extern struct tty_ldisc *tty_ldisc_get(int);
335extern void tty_ldisc_put(int);
336 335
337extern void tty_wakeup(struct tty_struct *tty); 336extern void tty_wakeup(struct tty_struct *tty);
338extern void tty_ldisc_flush(struct tty_struct *tty); 337extern void tty_ldisc_flush(struct tty_struct *tty);
@@ -354,7 +353,7 @@ extern int tty_write_lock(struct tty_struct *tty, int ndelay);
354 353
355 354
356/* n_tty.c */ 355/* n_tty.c */
357extern struct tty_ldisc tty_ldisc_N_TTY; 356extern struct tty_ldisc_ops tty_ldisc_N_TTY;
358 357
359/* tty_audit.c */ 358/* tty_audit.c */
360#ifdef CONFIG_AUDIT 359#ifdef CONFIG_AUDIT