Merge tag 'tty-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
[linux-2.6-microblaze.git] / drivers / tty / synclink_gt.c
index 3e3b887..a9acd93 100644 (file)
@@ -3647,7 +3647,7 @@ static void slgt_cleanup(void)
                for (info=slgt_device_list ; info != NULL ; info=info->next_device)
                        tty_unregister_device(serial_driver, info->line);
                tty_unregister_driver(serial_driver);
-               put_tty_driver(serial_driver);
+               tty_driver_kref_put(serial_driver);
        }
 
        /* reset devices */
@@ -3686,10 +3686,11 @@ static int __init slgt_init(void)
 
        printk(KERN_INFO "%s\n", driver_name);
 
-       serial_driver = alloc_tty_driver(MAX_DEVICES);
-       if (!serial_driver) {
+       serial_driver = tty_alloc_driver(MAX_DEVICES, TTY_DRIVER_REAL_RAW |
+                       TTY_DRIVER_DYNAMIC_DEV);
+       if (IS_ERR(serial_driver)) {
                printk("%s can't allocate tty driver\n", driver_name);
-               return -ENOMEM;
+               return PTR_ERR(serial_driver);
        }
 
        /* Initialize the tty_driver structure */
@@ -3705,11 +3706,10 @@ static int __init slgt_init(void)
                B9600 | CS8 | CREAD | HUPCL | CLOCAL;
        serial_driver->init_termios.c_ispeed = 9600;
        serial_driver->init_termios.c_ospeed = 9600;
-       serial_driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV;
        tty_set_operations(serial_driver, &ops);
        if ((rc = tty_register_driver(serial_driver)) < 0) {
                DBGERR(("%s can't register serial driver\n", driver_name));
-               put_tty_driver(serial_driver);
+               tty_driver_kref_put(serial_driver);
                serial_driver = NULL;
                goto error;
        }