arch/x86_64/ia32/ia32_ioctl.c | 2 +- drivers/char/tty_io.c | 3 --- drivers/net/slip.c | 4 ++-- fs/proc/array.c | 2 +- include/linux/tty.h | 6 +++++- kernel/acct.c | 2 +- 6 files changed, 10 insertions(+), 9 deletions(-) diff -puN arch/x86_64/ia32/ia32_ioctl.c~KD31-tty_devnum-B5 arch/x86_64/ia32/ia32_ioctl.c --- 25/arch/x86_64/ia32/ia32_ioctl.c~KD31-tty_devnum-B5 2003-09-21 22:35:09.000000000 -0700 +++ 25-akpm/arch/x86_64/ia32/ia32_ioctl.c 2003-09-21 22:35:09.000000000 -0700 @@ -35,7 +35,7 @@ static int tiocgdev(unsigned fd, unsigne real_tty = (struct tty_struct *)file->private_data; if (!real_tty) return -EINVAL; - return put_user(real_tty->device, ptr); + return put_user(tty_devnum(real_tty), ptr); } diff -puN drivers/char/tty_io.c~KD31-tty_devnum-B5 drivers/char/tty_io.c --- 25/drivers/char/tty_io.c~KD31-tty_devnum-B5 2003-09-21 22:35:09.000000000 -0700 +++ 25-akpm/drivers/char/tty_io.c 2003-09-21 22:35:09.000000000 -0700 @@ -826,7 +826,6 @@ static int init_dev(struct tty_driver *d if(!tty) goto fail_no_mem; initialize_tty_struct(tty); - tty->device = MKDEV(driver->major, driver->minor_start) + idx; tty->driver = driver; tty->index = idx; tty_line_name(driver, idx, tty->name); @@ -854,8 +853,6 @@ static int init_dev(struct tty_driver *d if (!o_tty) goto free_mem_out; initialize_tty_struct(o_tty); - o_tty->device = MKDEV(driver->other->major, - driver->other->minor_start) + idx; o_tty->driver = driver->other; o_tty->index = idx; tty_line_name(driver->other, idx, o_tty->name); diff -puN drivers/net/slip.c~KD31-tty_devnum-B5 drivers/net/slip.c --- 25/drivers/net/slip.c~KD31-tty_devnum-B5 2003-09-21 22:35:09.000000000 -0700 +++ 25-akpm/drivers/net/slip.c 2003-09-21 22:35:09.000000000 -0700 @@ -869,12 +869,12 @@ slip_open(struct tty_struct *tty) /* OK. Find a free SLIP channel to use. */ err = -ENFILE; - if ((sl = sl_alloc(tty->device)) == NULL) + if ((sl = sl_alloc(tty_devnum(tty))) == NULL) goto err_exit; sl->tty = tty; tty->disc_data = sl; - sl->line = tty->device; + sl->line = tty_devnum(tty); sl->pid = current->pid; if (tty->driver->flush_buffer) tty->driver->flush_buffer(tty); diff -puN fs/proc/array.c~KD31-tty_devnum-B5 fs/proc/array.c --- 25/fs/proc/array.c~KD31-tty_devnum-B5 2003-09-21 22:35:09.000000000 -0700 +++ 25-akpm/fs/proc/array.c 2003-09-21 22:35:09.000000000 -0700 @@ -306,7 +306,7 @@ int proc_pid_stat(struct task_struct *ta mm = mmgrab(mm); if (task->tty) { tty_pgrp = task->tty->pgrp; - tty_nr = task->tty->device; + tty_nr = tty_devnum(task->tty); } task_unlock(task); if (mm) { diff -puN include/linux/tty.h~KD31-tty_devnum-B5 include/linux/tty.h --- 25/include/linux/tty.h~KD31-tty_devnum-B5 2003-09-21 22:35:09.000000000 -0700 +++ 25-akpm/include/linux/tty.h 2003-09-21 22:35:09.000000000 -0700 @@ -264,7 +264,6 @@ struct tty_struct { char name[64]; int pgrp; int session; - dev_t device; unsigned long flags; int count; struct winsize winsize; @@ -419,5 +418,10 @@ extern void console_print(const char *); extern int vt_ioctl(struct tty_struct *tty, struct file * file, unsigned int cmd, unsigned long arg); +static inline dev_t tty_devnum(struct tty_struct *tty) +{ + return MKDEV(tty->driver->major, tty->driver->minor_start) + tty->index; +} + #endif /* __KERNEL__ */ #endif diff -puN kernel/acct.c~KD31-tty_devnum-B5 kernel/acct.c --- 25/kernel/acct.c~KD31-tty_devnum-B5 2003-09-21 22:35:09.000000000 -0700 +++ 25-akpm/kernel/acct.c 2003-09-21 22:35:09.000000000 -0700 @@ -342,7 +342,7 @@ static void do_acct_process(long exitcod ac.ac_stime = encode_comp_t(current->stime); ac.ac_uid = current->uid; ac.ac_gid = current->gid; - ac.ac_tty = current->tty ? current->tty->device : 0; + ac.ac_tty = current->tty ? tty_devnum(current->tty) : 0; ac.ac_flag = 0; if (current->flags & PF_FORKNOEXEC) _