Lines Matching refs:tty_drv
235 struct tty_driver *tty_drv; in bcm_vk_tty_init() local
238 tty_drv = tty_alloc_driver in bcm_vk_tty_init()
241 if (IS_ERR(tty_drv)) in bcm_vk_tty_init()
242 return PTR_ERR(tty_drv); in bcm_vk_tty_init()
245 vk->tty_drv = tty_drv; in bcm_vk_tty_init()
248 tty_drv->driver_name = KBUILD_MODNAME; in bcm_vk_tty_init()
249 tty_drv->name = kstrdup(name, GFP_KERNEL); in bcm_vk_tty_init()
250 if (!tty_drv->name) { in bcm_vk_tty_init()
254 tty_drv->type = TTY_DRIVER_TYPE_SERIAL; in bcm_vk_tty_init()
255 tty_drv->subtype = SERIAL_TYPE_NORMAL; in bcm_vk_tty_init()
256 tty_drv->init_termios = tty_std_termios; in bcm_vk_tty_init()
257 tty_set_operations(tty_drv, &serial_ops); in bcm_vk_tty_init()
260 err = tty_register_driver(tty_drv); in bcm_vk_tty_init()
271 tty_drv, i, dev, vk, in bcm_vk_tty_init()
291 tty_port_unregister_device(&vk->tty[i].port, tty_drv, i); in bcm_vk_tty_init()
292 tty_unregister_driver(tty_drv); in bcm_vk_tty_init()
295 kfree(tty_drv->name); in bcm_vk_tty_init()
296 tty_drv->name = NULL; in bcm_vk_tty_init()
299 tty_driver_kref_put(tty_drv); in bcm_vk_tty_init()
311 vk->tty_drv, in bcm_vk_tty_exit()
315 tty_unregister_driver(vk->tty_drv); in bcm_vk_tty_exit()
317 kfree(vk->tty_drv->name); in bcm_vk_tty_exit()
318 vk->tty_drv->name = NULL; in bcm_vk_tty_exit()
320 tty_driver_kref_put(vk->tty_drv); in bcm_vk_tty_exit()