Merge tag 'dt-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[linux-2.6-microblaze.git] / arch / um / drivers / line.c
index fbc623d..8febf95 100644 (file)
@@ -538,12 +538,14 @@ int register_lines(struct line_driver *line_driver,
                   const struct tty_operations *ops,
                   struct line *lines, int nlines)
 {
-       struct tty_driver *driver = alloc_tty_driver(nlines);
+       struct tty_driver *driver;
        int err;
        int i;
 
-       if (!driver)
-               return -ENOMEM;
+       driver = tty_alloc_driver(nlines, TTY_DRIVER_REAL_RAW |
+                       TTY_DRIVER_DYNAMIC_DEV);
+       if (IS_ERR(driver))
+               return PTR_ERR(driver);
 
        driver->driver_name = line_driver->name;
        driver->name = line_driver->device_name;
@@ -551,9 +553,8 @@ int register_lines(struct line_driver *line_driver,
        driver->minor_start = line_driver->minor_start;
        driver->type = line_driver->type;
        driver->subtype = line_driver->subtype;
-       driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV;
        driver->init_termios = tty_std_termios;
-       
+
        for (i = 0; i < nlines; i++) {
                tty_port_init(&lines[i].port);
                lines[i].port.ops = &line_port_ops;
@@ -567,7 +568,7 @@ int register_lines(struct line_driver *line_driver,
        if (err) {
                printk(KERN_ERR "register_lines : can't register %s driver\n",
                       line_driver->name);
-               put_tty_driver(driver);
+               tty_driver_kref_put(driver);
                for (i = 0; i < nlines; i++)
                        tty_port_destroy(&lines[i].port);
                return err;