static int acm_tty_install(struct tty_driver *driver, struct tty_struct *tty) { struct acm *acm; int retval; dev_dbg(tty->dev, "%s\n", __func__); acm = acm_get_by_index(tty->index); if (!acm) return -ENODEV; retval = tty_init_termios(tty); if (retval) goto error_init_termios; tty->driver_data = acm; /* Final install (we use the default method) */ tty_driver_kref_get(driver); tty->count++; driver->ttys[tty->index] = tty; return 0; error_init_termios: tty_port_put(&acm->port); return retval; }
static int acm_tty_install(struct tty_driver *driver, struct tty_struct *tty) { struct acm *acm; int retval; dev_dbg(tty->dev, "%s\n", __func__); acm = acm_get_by_index(tty->index); if (!acm) return -ENODEV; retval = tty_standard_install(driver, tty); if (retval) goto error_init_termios; tty->driver_data = acm; return 0; error_init_termios: tty_port_put(&acm->port); return retval; }