tty_open_by_driver(9)
๐ tty_open_by_driver(9) ๐
okay bestie, so this is a page from the Kernel API Manual โ yes, the Kernel API Manual, we're literally reading kernel docs together, this is our life now ๐
โจ NAME โจ
tty_open_by_driver โ open a tty device ๐ฅ๏ธโจ
๐ธ SYNOPSIS ๐ธ
struct tty_struct * tty_open_by_driver (dev_t device , struct file *filp );
like, look at her. she returns a struct tty_struct * and she takes two things. iconic signature ngl ๐ซถ
๐ฆ ARGUMENTS ๐ฆ
deviceโ thedev_tof the device you wanna open ๐filpโ the file pointer to the tty ๐
๐ DESCRIPTION ๐
so what she actually does: she performs the driver lookup, checks whether this is a reopen, or otherwise does the first-time tty initialization. all three roads, one function, main character energy fr fr ๐
and here's the tea โ she claims the global tty_mutex to serialize these three things:
- concurrent first-time tty initialization โญ
- concurrent tty driver removal w/ lookup ๐ฅ
- concurrent tty removal from driver table ๐
like no cap, that mutex is doing so much work. she's the group chat admin of concurrency here ๐
๐ RETURN ๐
the locked, initialized-or-re-opened tty_struct โ that's the whole vibe, she hands you the struct and it's locked ๐
โจ
๐ SEE ALSO ๐
kernel file ./drivers/tty/tty_io.c โ and here comes the whole friend group, brace yourself bestie ๐ญ:
free_tty_struct(9), tty_free_file(9), tty_name(9), get_tty_driver(9), tty_dev_name_to_number(9), tty_find_polling_driver(9), tty_wakeup(9), tty_release_redirect(9), __tty_hangup(9), tty_hangup(9), tty_vhangup(9), tty_vhangup_self(9), tty_vhangup_session(9), tty_hung_up_p(9), stop_tty(9), start_tty(9), tty_read(9), tty_write(9), tty_send_xchar(9), pty_line_name(9), tty_line_name(9), tty_driver_lookup_tty(9), tty_init_termios(9), tty_standard_install(9), tty_driver_install_tty(9), tty_driver_remove_tty(9), tty_reopen(9), tty_init_dev(9), tty_save_termios(9), tty_flush_works(9), release_one_tty(9), tty_kref_put(9), release_tty(9), tty_release_checks(9), tty_kclose(9), tty_release_struct(9), tty_release(9), tty_open_current_tty(9), tty_lookup_driver(9), tty_kopen_exclusive(9), tty_kopen_shared(9), tty_open(9), tty_poll(9), tiocsti(9), tiocgwinsz(9), tty_do_resize(9), tiocswinsz(9), tioccons(9), tiocsetd(9), tiocgetd(9), send_break(9), tty_get_tiocm(9), tty_tiocmget(9), tty_tiocmset(9), tty_get_icount(9), alloc_tty_struct(9), tty_put_char(9), tty_register_device(9), tty_register_device_attr(9), tty_unregister_device(9), __tty_alloc_driver(9), tty_driver_kref_put(9), tty_register_driver(9), tty_unregister_driver(9)
okay that's literally the whole roster, iykyk ๐ฎโ๐จ๐ซถ
and that's the page!! sign-off time bestie: this lil beauty lives under ./drivers/tty and it's dated October 2026 โ screenshot it, frame it, whatever, we ate ๐๐๐งโจ
๐ฆ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms