STRUCT TB_NVM_VENDOR(9)
π 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:
struct tb_nvm_vendor_ops(9)tb_nvm_alloc(9)tb_nvm_read_version(9)tb_nvm_validate(9)tb_nvm_write_headers(9)tb_nvm_add_active(9)tb_nvm_write_buf(9)tb_nvm_add_non_active(9)tb_nvm_free(9)tb_nvm_read_data(9)tb_nvm_write_data(9)
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
- 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