Skip to content

Commit

Permalink
tty: move tioclinux from a special case
Browse files Browse the repository at this point in the history
Right now we have ifdefs and hooks in the core ioctl handler for TIOCLINUX
and then test if its a console. This is brain dead. Instead call the
tioclinux helper from the relevant driver ioctl methods.

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Alan Cox authored and Linus Torvalds committed Oct 13, 2008
1 parent b70ac77 commit e688510
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 6 deletions.
4 changes: 0 additions & 4 deletions drivers/char/tty_io.c
Original file line number Diff line number Diff line change
Expand Up @@ -3026,10 +3026,6 @@ long tty_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
return put_user(tty->ldisc.ops->num, (int __user *)p);
case TIOCSETD:
return tiocsetd(tty, p);
#ifdef CONFIG_VT
case TIOCLINUX:
return tioclinux(tty, arg);
#endif
/*
* Break handling
*/
Expand Down
2 changes: 0 additions & 2 deletions drivers/char/vt.c
Original file line number Diff line number Diff line change
Expand Up @@ -2583,8 +2583,6 @@ int tioclinux(struct tty_struct *tty, unsigned long arg)
int lines;
int ret;

if (tty->driver->type != TTY_DRIVER_TYPE_CONSOLE)
return -EINVAL;
if (current->signal->tty != tty && !capable(CAP_SYS_ADMIN))
return -EPERM;
if (get_user(type, p))
Expand Down
2 changes: 2 additions & 0 deletions drivers/char/vt_ioctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -395,6 +395,8 @@ int vt_ioctl(struct tty_struct *tty, struct file * file,

kbd = kbd_table + console;
switch (cmd) {
case TIOCLINUX:
return tioclinux(tty, arg);
case KIOCSOUND:
if (!perm)
goto eperm;
Expand Down

0 comments on commit e688510

Please sign in to comment.