Merge tag 'mtd/for-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux
[linux-2.6-microblaze.git] / drivers / tty / n_gsm.c
index e907b7a..1d92d2a 100644 (file)
@@ -3252,10 +3252,11 @@ static int __init gsm_init(void)
                return status;
        }
 
-       gsm_tty_driver = alloc_tty_driver(256);
-       if (!gsm_tty_driver) {
+       gsm_tty_driver = tty_alloc_driver(256, TTY_DRIVER_REAL_RAW |
+                       TTY_DRIVER_DYNAMIC_DEV | TTY_DRIVER_HARDWARE_BREAK);
+       if (IS_ERR(gsm_tty_driver)) {
                pr_err("gsm_init: tty allocation failed.\n");
-               status = -ENOMEM;
+               status = PTR_ERR(gsm_tty_driver);
                goto err_unreg_ldisc;
        }
        gsm_tty_driver->driver_name     = "gsmtty";
@@ -3264,8 +3265,6 @@ static int __init gsm_init(void)
        gsm_tty_driver->minor_start     = 0;
        gsm_tty_driver->type            = TTY_DRIVER_TYPE_SERIAL;
        gsm_tty_driver->subtype = SERIAL_TYPE_NORMAL;
-       gsm_tty_driver->flags   = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV
-                                               | TTY_DRIVER_HARDWARE_BREAK;
        gsm_tty_driver->init_termios    = tty_std_termios;
        /* Fixme */
        gsm_tty_driver->init_termios.c_lflag &= ~ECHO;
@@ -3280,7 +3279,7 @@ static int __init gsm_init(void)
                        gsm_tty_driver->major, gsm_tty_driver->minor_start);
        return 0;
 err_put_driver:
-       put_tty_driver(gsm_tty_driver);
+       tty_driver_kref_put(gsm_tty_driver);
 err_unreg_ldisc:
        tty_unregister_ldisc(&tty_ldisc_packet);
        return status;
@@ -3290,7 +3289,7 @@ static void __exit gsm_exit(void)
 {
        tty_unregister_ldisc(&tty_ldisc_packet);
        tty_unregister_driver(gsm_tty_driver);
-       put_tty_driver(gsm_tty_driver);
+       tty_driver_kref_put(gsm_tty_driver);
 }
 
 module_init(gsm_init);