STRUCT TB_NVM_VENDOR(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct tb_nvm_vendor(9) πŸ’–

Hiii bestie 🫢 welcome to the Kernel API Manual, where today’s main character is literally struct tb_nvm_vendor(9). It’s giving vendor-to-&struct tb_nvm_vendor_ops mapping, and we are obsessed. ✨

🌸 NAME 🌸

struct tb_nvm_vendor β€” Vendor to &struct tb_nvm_vendor_ops mapping πŸ’…

πŸ¦‹ SYNOPSIS πŸ¦‹

Here’s the whole struct, no cap:

struct tb_nvm_vendor {
    u16 vendor;
    const struct tb_nvm_vendor_ops *vops;
 };

πŸŽ€ Members πŸŽ€

  • vendor β€” Vendor ID, periodt. πŸ†”
  • vops β€” Vendor specific NVM operations, slay. πŸ› οΈ

πŸ”₯ Description πŸ”₯

Okay so this struct maps a vendor ID to NVM vendor operations. If there is no mapping, then NVM firmware upgrade is disabled for the device. That’s the vibe check: no mapping, no upgrade. πŸ’€

πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file ./drivers/thunderbolt/nvm.c has all the lore, plus these besties:


Later, bestie 🫢 this page’s source/version is ./drivers/thunderbolt, dated October 2026, and it’s still struct tb_nvm_vendor(9) β€” iykyk. Stay slay, and don’t forget the mapping. βœ¨πŸ’–πŸŽ€

πŸ“¦ where this page comes from