STRUCT TB(9)
πΈ NAME πΈ
Okay so, bestie, this is the struct tb(9) page from the Kernel API Manual β and it's literally the main thunderbolt bus structure. Main character energy, no cap. π
π¦ SYNOPSIS π¦
Here's the whole struct in all its glory, fr fr β every field accounted for and copied exactly:
struct tb {
struct device dev;
struct mutex lock;
struct tb_nhi *nhi;
struct tb_ctl *ctl;
struct workqueue_struct *wq;
struct tb_switch *root_switch;
const struct tb_cm_ops *cm_ops;
int index;
enum tb_security_level security_level;
size_t nboot_acl;
unsigned long privdata[];
};
π Members π
Now let's do a vibe check on each member, because every single one matters:
devβ domain device. It's giving core device representation, periodt.lockβ the Big lock. Must be held when accessing anystruct tb_switch/struct tb_port. Respect the lock, bestie. πnhiβ pointer to the NHI structure.ctlβ control channel for this domain.wqβ ordered workqueue for all domain specific work.root_switchβ root switch of this domain.cm_opsβ connection manager specific operations vector.indexβ Linux assigned domain number.security_levelβ current security level.nboot_aclβ number of boot ACLs the domain supports.privdataβ private connection manager specific data.
π SEE ALSO π
Go be nosy in these, bestie β Kernel file ./include/linux/thunderbolt.h and all these cross-refs:
enum tb_security_level(9)struct tb_property_dir(9)struct tb_property(9)enum tb_link_width(9)struct tb_xdomain(9)struct tb_protocol_handler(9)struct tb_service(9)struct tb_service_driver(9)struct tb_nhi(9)struct tb_ring(9)enum ring_desc_flags(9)struct ring_frame(9)tb_ring_rx(9)tb_ring_tx(9)tb_ring_dma_device(9)
Source/version: ./include/linux Β· date: October 2026 β that's the footer, and we're closing it out with a little sparkle. Bye bestie, go hold that lock πβ¨
π¦ 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