tty_register_device_attr(9)
Ok bestie, welcome to tty_register_device_attr(9) from the Kernel API Manual β weβre registering a tty device and making it make sense. π
πΈ NAME πΈ
tty_register_device_attr β register a tty device, thatβs literally the whole gig. π
β¨ SYNOPSIS β¨
struct device * tty_register_device_attr (struct tty_driver *driver ,
unsigned index , struct device *device , void *drvdata , const struct
attribute_group **attr_grp );
π ARGUMENTS π
driverβ the tty driver that describes the tty device. Main character energy for this call. β¨indexβ the index in the tty driver for this tty device. Itβs giving βwhich one is this?β π―deviceβ astruct devicethat is associated with this tty device. This field is optional, bestie: if there is no knownstruct devicefor this tty device it can be set toNULLsafely. π«Άdrvdataβ Driver data to be set to device. Yes, thatβs the whole vibe. πattr_grpβ Attribute group to be set on device. Slay, attributes. π
π DESCRIPTION π
This call is required to be made to register an individual tty device if the tty driverβs flags have the TTY_DRIVER_DYNAMIC_DEV bit set. If that bit is not set, this function should not be called by a tty driver. No cap, thatβs the rule. π¨
Locking: ??
The manpage literally says Locking: ??, and honestly same. π Keep that caveat exactly as mysterious as it is.
π«Ά RETURN π«Ά
A pointer to the struct device for this tty device (or ERR_PTR(-EFOO) on error). On error itβs giving ERR_PTR, not βoopsie, try again.β π₯
π₯ SEE ALSO π₯
Kernel file ./drivers/tty/tty_io.c is the home base, and the full related-call squad is:
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_by_driver(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_unregister_device(9), __tty_alloc_driver(9),
tty_driver_kref_put(9), tty_register_driver(9), tty_unregister_driver(9)
Bye bestie π«Ά β this oneβs from ./drivers/tty, dated October 2026, and itβs literally tty_register_device_attr(9). π
π¦ 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