STRUCT IWL_DRV(9)
π struct iwl_drv β drv common data π
ok so bestie, welcome to struct iwl_drv(9), a Kernel API Manual moment. this is the "drv common data" struct β the little home base for the iwlwifi driver, and we're gonna walk through every single field together, no skipping, no cap β¨
β¨ SYNOPSIS β¨
here's the whole shape of it, copied exactly because we do not mess with struct definitions in this house π
struct iwl_drv {
struct list_head list;
struct iwl_fw fw;
struct iwl_op_mode *op_mode;
struct iwl_trans *trans;
struct device *dev;
int fw_index;
char firmware_name[64];
struct completion request_firmware_complete;
#ifdef CONFIG_IWLWIFI_DEBUGFS;
struct dentry *dbgfs_drv;
struct dentry *dbgfs_trans;
struct dentry *dbgfs_op_mode;
#endif;
};
π«Ά notice the#ifdef CONFIG_IWLWIFI_DEBUGFSblock β those threedbgfs_*members only exist when that config option is on. the semicolons after the#ifdef/#endifare literally in the source, so we keep them. periodt.
πΈ Members πΈ
okay now the fun part, field by field, let me introduce the whole cast π
listβ alist_headholding the list of drv structures that are using this opmode. the friendship group, basically πfwβ thestruct iwl_fwstructure itself. the whole firmware situation lives here.op_modeβ the running op_mode, as anstruct iwl_op_mode *. the one currently on shift πtransβ the transport layer. yes,struct iwl_trans *, the plumbing that actually moves the bytes πdevβ astruct device *, and heads up: this one is for debug prints only. don't go building your whole life on it, bestie πfw_indexβ anint, the firmware revision to try loading. which one are we attempting today π₯firmware_nameβ achar [64], the composite filename of the ucode file to load. 64 characters of pure filename energy πrequest_firmware_completeβ astruct completionthat signals the firmware has been obtained from user space. the "we got it!!" bell πdbgfs_drvβ astruct dentry *, the debugfs root directory entry. only here underCONFIG_IWLWIFI_DEBUGFSπ¦dbgfs_transβ astruct dentry *, the debugfs transport directory entry. same deal, debugfs-gated βdbgfs_op_modeβ astruct dentry *, the debugfs op_mode directory entry. third of the trio, also debugfs-gated πΈ
π friendly reminder thatdbgfs_drv,dbgfs_transanddbgfs_op_modeare all wrapped in that#ifdef CONFIG_IWLWIFI_DEBUGFSβ if the config's off, they're simply not there. don't come for me, that's how the struct is written.
π SEE ALSO π
- Kernel file
./drivers/net/wireless/intel/iwlwifi/iwl-drv.candstruct iwl_tlv_calib_data(9)
go read those next, iykyk π
and that's the page!! this came to you from ./drivers/net/wireless/intel/i... (the path got cute and truncated, we love that for it) dated October 2026, and it's struct iwl_drv(9) all the way down. mwah, stay slay, go read your kernel source π
πβ¨
π¦ 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