Re: [PATCH] Clean up old names in tty code to current names
From: Jon Smirl
Date: Mon Jul 10 2006 - 10:06:40 EST
On 7/10/06, Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> wrote:
Ar Llu, 2006-07-10 am 09:03 -0400, ysgrifennodd Jon Smirl:
> I agree with this. I made a mistake with the pts vs pty, why not just
> help me fix the mistake instead of rejecting everything? Some the of
> the info being reported in /proc/tty/drivers is wrong (vc./0 - from
> the devfs attempt?). or missing.
What are you trying to achieve and where are you trying to get. If you
want better info for the tty layer then get the new info working in
sysfs first. Then when people are generally using sysfs you can worry
about cleaning up/removing/breaking the old stuff.
Before the change /proc/tty/drivers shows this:
[jonsmirl@jonsmirl ~]$ cat /proc/tty/drivers
/dev/tty /dev/tty 5 0 system:/dev/tty
/dev/console /dev/console 5 1 system:console
/dev/ptmx /dev/ptmx 5 2 system
/dev/vc/0 /dev/vc/0 4 0 system:vtmaster
serial /dev/ttyS 4 64-67 serial
pty_slave /dev/pts 136 0-1048575 pty:slave
pty_master /dev/ptm 128 0-1048575 pty:master
unknown /dev/tty 4 1-63 console
I changed it to this which better reflects my system.
[jonsmirl@jonsmirl ~]$ cat /proc/tty/drivers
/dev/tty /dev/tty 5 0 system:/dev/tty
/dev/console /dev/console 5 1 system:console
/dev/ptmx /dev/ptmx 5 2 system:/dev/ptmx
/dev/tty0 /dev/tty0 4 0 system:vtmaster
serial /dev/ttyS 4 64-67 serial
pty_slave /dev/pts 136 0-1048575 pty:slave
pty_master /dev/ptm 128 0-1048575 pty:master
vtconsole /dev/tty 4 1-63 vt:console
Nothing in that patch has anything to do with udev support. It is just
trying to make things match my current devices. When we got rid of
devfs /dev/vc/0 became /dev/tty0.
The ttyp change was a mistake. The patch below removes that error. Is
there anything else wrong with it? That's why we have patch reviews,
to catch dumb errors like that.
> I'm not going to solve this problem but it is something that needs to
> be discussed. Are we really going to maintain parallel naming schemes,
> one in-kernel and one out of kernel? I'm not even sure if USB will
> work without udev anymore.
It works fine, it would not suprise me if udev users were still the
minority case in fact.
If I use udev to rename my devices, the names aren't going to match
/proc/tty and what ps shows. The idea behind udev is that the kernel
only deals in device numbers and all naming happens in user space.
--
Jon Smirl
jonsmirl@xxxxxxxxx
diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c
index bfdb902..4a83e94 100644
--- a/drivers/char/tty_io.c
+++ b/drivers/char/tty_io.c
@@ -3245,7 +3245,7 @@ #endif
#ifdef CONFIG_VT
cdev_init(&vc0_cdev, &console_fops);
if (cdev_add(&vc0_cdev, MKDEV(TTY_MAJOR, 0), 1) ||
- register_chrdev_region(MKDEV(TTY_MAJOR, 0), 1, "/dev/vc/0") < 0)
+ register_chrdev_region(MKDEV(TTY_MAJOR, 0), 1, "/dev/tty0") < 0)
panic("Couldn't register /dev/tty0 driver\n");
class_device_create(tty_class, NULL, MKDEV(TTY_MAJOR, 0), NULL, "tty0");
diff --git a/drivers/char/vt.c b/drivers/char/vt.c
index da7e66a..a627e8b 100644
--- a/drivers/char/vt.c
+++ b/drivers/char/vt.c
@@ -2662,6 +2662,7 @@ int __init vty_init(void)
if (!console_driver)
panic("Couldn't allocate console driver\n");
console_driver->owner = THIS_MODULE;
+ console_driver->driver_name = "vtconsole";
console_driver->name = "tty";
console_driver->name_base = 1;
console_driver->major = TTY_MAJOR;
diff --git a/fs/proc/proc_tty.c b/fs/proc/proc_tty.c
index 15c4455..042aefe 100644
--- a/fs/proc/proc_tty.c
+++ b/fs/proc/proc_tty.c
@@ -48,7 +48,7 @@ static void show_tty_range(struct seq_fi
seq_printf(m, ":vtmaster");
break;
case TTY_DRIVER_TYPE_CONSOLE:
- seq_printf(m, "console");
+ seq_printf(m, "vt:console");
break;
case TTY_DRIVER_TYPE_SERIAL:
seq_printf(m, "serial");
@@ -84,10 +84,10 @@ static int show_tty_driver(struct seq_fi
#ifdef CONFIG_UNIX98_PTYS
seq_printf(m, "%-20s /dev/%-8s ", "/dev/ptmx", "ptmx");
seq_printf(m, "%3d %7d ", TTYAUX_MAJOR, 2);
- seq_printf(m, "system\n");
+ seq_printf(m, "system:/dev/ptmx\n");
#endif
#ifdef CONFIG_VT
- seq_printf(m, "%-20s /dev/%-8s ", "/dev/vc/0", "vc/0");
+ seq_printf(m, "%-20s /dev/%-8s ", "/dev/tty0", "tty0");
seq_printf(m, "%3d %7d ", TTY_MAJOR, 0);
seq_printf(m, "system:vtmaster\n");
#endif
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/