Lines Matching refs:tty_drv
234 struct tty_driver *tty_drv; in bcm_vk_tty_init() local
237 tty_drv = tty_alloc_driver in bcm_vk_tty_init()
240 if (IS_ERR(tty_drv)) in bcm_vk_tty_init()
241 return PTR_ERR(tty_drv); in bcm_vk_tty_init()
244 vk->tty_drv = tty_drv; in bcm_vk_tty_init()
247 tty_drv->driver_name = KBUILD_MODNAME; in bcm_vk_tty_init()
248 tty_drv->name = kstrdup(name, GFP_KERNEL); in bcm_vk_tty_init()
249 if (!tty_drv->name) { in bcm_vk_tty_init()
253 tty_drv->type = TTY_DRIVER_TYPE_SERIAL; in bcm_vk_tty_init()
254 tty_drv->subtype = SERIAL_TYPE_NORMAL; in bcm_vk_tty_init()
255 tty_drv->init_termios = tty_std_termios; in bcm_vk_tty_init()
256 tty_set_operations(tty_drv, &serial_ops); in bcm_vk_tty_init()
259 err = tty_register_driver(tty_drv); in bcm_vk_tty_init()
270 tty_drv, i, dev, vk, in bcm_vk_tty_init()
290 tty_port_unregister_device(&vk->tty[i].port, tty_drv, i); in bcm_vk_tty_init()
291 tty_unregister_driver(tty_drv); in bcm_vk_tty_init()
294 kfree(tty_drv->name); in bcm_vk_tty_init()
295 tty_drv->name = NULL; in bcm_vk_tty_init()
298 tty_driver_kref_put(tty_drv); in bcm_vk_tty_init()
310 vk->tty_drv, in bcm_vk_tty_exit()
314 tty_unregister_driver(vk->tty_drv); in bcm_vk_tty_exit()
316 kfree(vk->tty_drv->name); in bcm_vk_tty_exit()
317 vk->tty_drv->name = NULL; in bcm_vk_tty_exit()
319 tty_driver_kref_put(vk->tty_drv); in bcm_vk_tty_exit()