[EMAIL PROTECTED] said:
> I've got my nose stuck in tty_io.c at present - I'll fix this this
> one. 

This is the patch I've been carrying around in the UML pool since this bit me:

diff -Naur -X exclude-files orig/drivers/char/tty_io.c um/drivers/char/tty_io.c
--- orig/drivers/char/tty_io.c  Thu Feb 22 11:53:50 2001
+++ um/drivers/char/tty_io.c    Thu Feb 22 11:54:55 2001
@@ -1991,12 +1991,11 @@
 {
 #ifdef CONFIG_DEVFS_FS
        umode_t mode = S_IFCHR | S_IRUSR | S_IWUSR;
-       struct tty_struct tty;
+       kdev_t device = MKDEV (driver->major, minor);
+       int idx = minor - driver->minor_start;
        char buf[32];
 
-       tty.driver = *driver;
-       tty.device = MKDEV (driver->major, minor);
-       switch (tty.device) {
+       switch (device) {
                case TTY_DEV:
                case PTMX_DEV:
                        mode |= S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH;
@@ -2017,23 +2016,21 @@
             (driver->major < UNIX98_PTY_SLAVE_MAJOR + UNIX98_NR_MAJORS) )
                flags |= DEVFS_FL_CURRENT_OWNER;
 #  endif
-       devfs_register (NULL, tty_name (&tty, buf), flags | DEVFS_FL_DEFAULT,
+       sprintf(buf, driver->name, idx + driver->name_base);
+       devfs_register (NULL, buf, flags | DEVFS_FL_DEFAULT,
                        driver->major, minor, mode, &tty_fops, NULL);
 #endif /* CONFIG_DEVFS_FS */
 }
 
-void tty_unregister_devfs (struct tty_driver *driver, unsigned minor)
+void tty_unregister_devfs (struct tty_driver *driver, unsigned int minor)
 {
 #ifdef CONFIG_DEVFS_FS
        void * handle;
-       struct tty_struct tty;
+       int idx = minor - driver->minor_start;
        char buf[32];
 
-       tty.driver = *driver;
-       tty.device = MKDEV(driver->major, minor);
-       
-       handle = devfs_find_handle (NULL, tty_name (&tty, buf),
-                                   driver->major, minor,
+       sprintf(buf, driver->name, idx + driver->name_base);
+       handle = devfs_find_handle (NULL, buf, driver->major, minor,
                                    DEVFS_SPECIAL_CHR, 0);
        devfs_unregister (handle);
 #endif /* CONFIG_DEVFS_FS */
@@ -2192,6 +2189,9 @@
 #endif
 #ifdef CONFIG_HWC
         hwc_console_init();
+#endif
+#ifdef CONFIG_STDIO_CONSOLE
+       stdio_console_init();
 #endif
 #ifdef CONFIG_SERIAL_21285_CONSOLE
        rs285_console_init();


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to