{
        int idx = tty->index;
        struct capiminor *mp = capiminor_get(idx);
-       int ret = tty_init_termios(tty);
+       int ret = tty_standard_install(driver, tty);
 
-       if (ret == 0) {
-               tty_driver_kref_get(driver);
-               tty->count++;
+       if (ret == 0)
                tty->driver_data = mp;
-               driver->ttys[idx] = tty;
-       } else
+       else
                capiminor_put(mp);
        return ret;
 }
 
 {
        int idx = tty->index;
        struct pti_tty *pti_tty_data;
-       int ret = tty_init_termios(tty);
+       int ret = tty_standard_install(driver, tty);
 
        if (ret == 0) {
-               tty_driver_kref_get(driver);
-               tty->count++;
-               driver->ttys[idx] = tty;
-
                pti_tty_data = kmalloc(sizeof(struct pti_tty), GFP_KERNEL);
                if (pti_tty_data == NULL)
                        return -ENOMEM;
 
 {
        int idx = tty->index;
        struct sdio_uart_port *port = sdio_uart_port_get(idx);
-       int ret = tty_init_termios(tty);
+       int ret = tty_standard_install(driver, tty);
 
-       if (ret == 0) {
-               tty_driver_kref_get(driver);
-               tty->count++;
+       if (ret == 0)
                /* This is the ref sdio_uart_port get provided */
                tty->driver_data = port;
-               driver->ttys[idx] = tty;
-       } else
+       else
                sdio_uart_port_put(port);
        return ret;
 }
 
        int ret;
        if (!port || !dc || dc->state != NOZOMI_STATE_READY)
                return -ENODEV;
-       ret = tty_init_termios(tty);
-       if (ret == 0) {
-               tty_driver_kref_get(driver);
-               tty->count++;
+       ret = tty_standard_install(driver, tty);
+       if (ret == 0)
                tty->driver_data = port;
-               driver->ttys[tty->index] = tty;
-       }
        return ret;
 }