if (legacy) {
                /* We always use new tty termios data so we can do this
                   the easy way .. */
-               retval = tty_init_termios(tty);
-               if (retval)
-                       goto err_free_tty;
-
-               retval = tty_init_termios(o_tty);
-               if (retval)
-                       goto err_free_termios;
+               tty_init_termios(tty);
+               tty_init_termios(o_tty);
 
                driver->other->ttys[idx] = o_tty;
                driver->ttys[idx] = tty;
        tty->count++;
        o_tty->count++;
        return 0;
-err_free_termios:
-       if (legacy)
-               tty_free_termios(tty);
-err_free_tty:
-       free_tty_struct(o_tty);
+
 err_put_module:
        module_put(driver->other->owner);
 err:
 
  *     Locking: none. Must be called after tty is definitely unused
  */
 
-void free_tty_struct(struct tty_struct *tty)
+static void free_tty_struct(struct tty_struct *tty)
 {
        tty_ldisc_deinit(tty);
        put_device(tty->dev);
  *     the tty_mutex currently so we can be relaxed about ordering.
  */
 
-int tty_init_termios(struct tty_struct *tty)
+void tty_init_termios(struct tty_struct *tty)
 {
        struct ktermios *tp;
        int idx = tty->index;
        /* Compatibility until drivers always set this */
        tty->termios.c_ispeed = tty_termios_input_baud_rate(&tty->termios);
        tty->termios.c_ospeed = tty_termios_baud_rate(&tty->termios);
-       return 0;
 }
 EXPORT_SYMBOL_GPL(tty_init_termios);
 
 int tty_standard_install(struct tty_driver *driver, struct tty_struct *tty)
 {
-       int ret = tty_init_termios(tty);
-       if (ret)
-               return ret;
-
+       tty_init_termios(tty);
        tty_driver_kref_get(driver);
        tty->count++;
        driver->ttys[tty->index] = tty;
        return ERR_PTR(retval);
 }
 
-void tty_free_termios(struct tty_struct *tty)
+static void tty_free_termios(struct tty_struct *tty)
 {
        struct ktermios *tp;
        int idx = tty->index;
        }
        *tp = tty->termios;
 }
-EXPORT_SYMBOL(tty_free_termios);
 
 /**
  *     tty_flush_works         -       flush all works of a tty/pty pair
 
                        kref_get(&tty->driver->kref);
                        __module_get(tty->driver->owner);
                        tty->ops = &usb_console_fake_tty_ops;
-                       if (tty_init_termios(tty)) {
-                               retval = -ENOMEM;
-                               goto put_tty;
-                       }
+                       tty_init_termios(tty);
                        tty_port_tty_set(&port->port, tty);
                }
 
 
  fail:
        tty_port_tty_set(&port->port, NULL);
- put_tty:
        tty_kref_put(tty);
  reset_open_count:
        port->port.count = 0;
 
 extern int tty_do_resize(struct tty_struct *tty, struct winsize *ws);
 extern void tty_driver_remove_tty(struct tty_driver *driver,
                                  struct tty_struct *tty);
-extern void tty_free_termios(struct tty_struct *tty);
 extern int is_current_pgrp_orphaned(void);
 extern int is_ignored(int sig);
 extern int tty_signal(int sig, struct tty_struct *tty);
 extern int tty_alloc_file(struct file *file);
 extern void tty_add_file(struct tty_struct *tty, struct file *file);
 extern void tty_free_file(struct file *file);
-extern void free_tty_struct(struct tty_struct *tty);
 extern struct tty_struct *tty_init_dev(struct tty_driver *driver, int idx);
 extern int tty_release(struct inode *inode, struct file *filp);
-extern int tty_init_termios(struct tty_struct *tty);
+extern void tty_init_termios(struct tty_struct *tty);
 extern int tty_standard_install(struct tty_driver *driver,
                struct tty_struct *tty);