STRUCT USB4_PORT(9)
β¨ NAME β¨
okay so bestie, gather round β this is the manual page for struct usb4_port, which is literally the USB4 port device representation. no cap, it's giving main character energy in the thunderbolt subsystem. π
π SYNOPSIS π
here's the exact struct definition, copied character for character because we do not mess with facts:
struct usb4_port {
struct device dev;
struct tb_port *port;
bool can_offline;
bool offline;
#ifdef CONFIG_USB4_DEBUGFS_MARGINING;
struct tb_margining *margining;
#endif;
};
π Members π
okay so here's the tea on each member, bestie β don't skip any:
devβ the device for the port. it's the whole reason this struct exists, honestly. π«Άportβ pointer to the lane 0 adapter. lowkey important. π¦can_offlineβ does the port have the necessary platform support to move it into offline mode and back? it's a yes/no vibe check. βofflineβ the port is currently in offline mode. periodt. πmarginingβ pointer to the margining structure if enabled.
note: this field only exists if CONFIG_USB4_DEBUGFS_MARGINING is defined, so it's conditional, bestie. don't come for me if it's not there. π
π¦ SEE ALSO π¦
so many references, omg. they're all in the kernel file ./drivers/thunderbolt/tb.h, and here's the full list β iykyk:
struct tb_nvm(9)enum tb_switch_tmu_mode(9)struct tb_switch_tmu(9)struct tb_switch(9)struct tb_bandwidth_group(9)struct tb_port(9)struct tb_retimer(9)struct tb_path_hop(9)enum tb_path_port(9)struct tb_path(9)struct tb_cm_ops(9)tb_upstream_port(9)tb_is_upstream_port(9)tb_port_has_remote(9)tb_domain_event(9)tb_switch_for_each_port(9)tb_switch_downstream_port(9)tb_switch_depth(9)tb_switch_is_icm(9)tb_switch_tmu_is_configured(9)tb_switch_tmu_is_enabled(9)tb_switch_clx_is_enabled(9)tb_port_path_direction_downstream(9)tb_for_each_port_on_path(9)tb_for_each_upstream_port_on_path(9)tb_path_for_each_hop(9)tb_downstream_route(9)tb_xdomain_downstream_port(9)usb4_switch_version(9)tb_switch_is_usb4(9)enum usb4_sb_target(9)enum usb4_margin_sw_error_counter(9)struct usb4_port_margining_params(9)
this whole thing lives in ./drivers/thunderbolt, version October 2026, and the manual page is literally called struct usb4_port(9). go off, bestie. π
β¨π
π¦ 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