This reverts commit 3aec66abd43440bc7dd4c6bbe84734adb6d82851.
---
 drivers/tty/pty.c | 100 ++++++++----------------------------------------------
 1 file changed, 15 insertions(+), 85 deletions(-)

diff --git a/drivers/tty/pty.c b/drivers/tty/pty.c
index 56c0a21e246d..bd17a459af67 100644
--- a/drivers/tty/pty.c
+++ b/drivers/tty/pty.c
@@ -820,62 +820,25 @@ err_file:
 
 static struct file_operations ptmx_fops;
 
-static void __unix98_unregister_ptmx(void)
-{
-       unregister_chrdev_region(MKDEV(TTYAUX_MAJOR, 2), 1);
-       cdev_del(&ptmx_cdev);
-}
-
-static int __unix98_register_ptmx(void)
- {
-       int err;
-
-       cdev_init(&ptmx_cdev, &ptmx_fops);
-       err = cdev_add(&ptmx_cdev, MKDEV(TTYAUX_MAJOR, 2), 1);
-       if (err) {
-               printk(KERN_ERR "Couldn't add /dev/ptmx device");
-               return err;
-       }
-       err = register_chrdev_region(MKDEV(TTYAUX_MAJOR, 2), 1, "/dev/ptmx");
-       if (err < 0) {
-               printk(KERN_ERR "Couldn't register /dev/ptmx driver");
-               goto err_ptmx_register;
-       }
-       return 0;
-
-err_ptmx_register:
-       cdev_del(&ptmx_cdev);
-       return err;
-}
-
-static int __unix98_pty_init(struct tty_driver **ptm_driver_p,
-                                       struct tty_driver **pts_driver_p)
+static void __init unix98_pty_init(void)
 {
-       struct tty_driver *ptm_driver, *pts_driver;
-       int err;
-       struct device *dev;
-
        ptm_driver = tty_alloc_driver(NR_UNIX98_PTY_MAX,
                        TTY_DRIVER_RESET_TERMIOS |
                        TTY_DRIVER_REAL_RAW |
                        TTY_DRIVER_DYNAMIC_DEV |
                        TTY_DRIVER_DEVPTS_MEM |
                        TTY_DRIVER_DYNAMIC_ALLOC);
-       if (IS_ERR(ptm_driver)) {
-               printk(KERN_ERR "Couldn't allocate Unix98 ptm driver");
-               return PTR_ERR(ptm_driver);
-       }
+       if (IS_ERR(ptm_driver))
+               panic("Couldn't allocate Unix98 ptm driver");
        pts_driver = tty_alloc_driver(NR_UNIX98_PTY_MAX,
                        TTY_DRIVER_RESET_TERMIOS |
                        TTY_DRIVER_REAL_RAW |
                        TTY_DRIVER_DYNAMIC_DEV |
                        TTY_DRIVER_DEVPTS_MEM |
                        TTY_DRIVER_DYNAMIC_ALLOC);
-       if (IS_ERR(pts_driver)) {
-               printk(KERN_ERR "Couldn't allocate Unix98 pts driver");
-               err = PTR_ERR(pts_driver);
-               goto err_pts_alloc;
-       }
+       if (IS_ERR(pts_driver))
+               panic("Couldn't allocate Unix98 pts driver");
+
        ptm_driver->driver_name = "pty_master";
        ptm_driver->name = "ptm";
        ptm_driver->major = UNIX98_PTY_MASTER_MAJOR;
@@ -905,53 +868,20 @@ static int __unix98_pty_init(struct tty_driver 
**ptm_driver_p,
        pts_driver->other = ptm_driver;
        tty_set_operations(pts_driver, &pty_unix98_ops);
 
-       err = tty_register_driver(ptm_driver);
-       if (err) {
-               printk(KERN_ERR "Couldn't register Unix98 ptm driver");
-               goto err_ptm_register;
-       }
-       err = tty_register_driver(pts_driver);
-       if (err) {
-               printk(KERN_ERR "Couldn't register Unix98 pts driver");
-               goto err_pts_register;
-       }
+       if (tty_register_driver(ptm_driver))
+               panic("Couldn't register Unix98 ptm driver");
+       if (tty_register_driver(pts_driver))
+               panic("Couldn't register Unix98 pts driver");
 
        /* Now create the /dev/ptmx special device */
        tty_default_fops(&ptmx_fops);
        ptmx_fops.open = ptmx_open;
 
-       err = __unix98_register_ptmx();
-       if (err)
-               goto err_ptmx_register;
-
-       dev = device_create(tty_class, NULL, MKDEV(TTYAUX_MAJOR, 2), NULL, 
"ptmx");
-       if (IS_ERR(dev)) {
-               err = PTR_ERR(dev);
-               goto err_ptmx_create;
-       }
-
-       *ptm_driver_p = ptm_driver;
-       *pts_driver_p = pts_driver;
-
-       return 0;
-
-err_ptmx_create:
-       __unix98_unregister_ptmx();
-err_ptmx_register:
-       tty_unregister_driver(pts_driver);
-err_pts_register:
-       tty_unregister_driver(ptm_driver);
-err_ptm_register:
-       put_tty_driver(pts_driver);
-err_pts_alloc:
-       put_tty_driver(ptm_driver);
-       return err;
-}
-
-static void __init unix98_pty_init(void)
-{
-       if (__unix98_pty_init(&ptm_driver, &pts_driver))
-               panic("Failed to init legacy ptys");
+       cdev_init(&ptmx_cdev, &ptmx_fops);
+       if (cdev_add(&ptmx_cdev, MKDEV(TTYAUX_MAJOR, 2), 1) ||
+           register_chrdev_region(MKDEV(TTYAUX_MAJOR, 2), 1, "/dev/ptmx") < 0)
+               panic("Couldn't register /dev/ptmx driver");
+       device_create(tty_class, NULL, MKDEV(TTYAUX_MAJOR, 2), NULL, "ptmx");
 }
 
 #else
-- 
2.1.4

_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to