STRUCT FPGA_MANAGER(9)
π¦ struct fpga_manager β the glow-up page π¦
okay so like, welcome to the struct fpga_manager(9) page from the Kernel API Manual β yes, that's a section 9 manpage, we're in kernel-internals territory bestie, put your hair up π
This is the struct that holds everything about an FPGA manager. It's giving main character energy in ./include/linux/fpga/fpga-mgr.h and honestly? Obsessed. π
β¨ SYNOPSIS β¨
struct fpga_manager {
const char *name;
struct device dev;
struct mutex ref_mutex;
enum fpga_mgr_states state;
struct fpga_compat_id *compat_id;
const struct fpga_manager_ops *mops;
struct module *mops_owner;
void *priv;
};
like, that's the whole blueprint. every field, exactly as it is, no cap π₯
πΈ Members πΈ
nameβ the name of the low level fpga manager. it's literally just a string, but it's her string, yk? πdevβ the fpga manager device. the wholestruct device, living here rent free π«Άref_mutexβ a mutex that only lets one reference to the fpga manager exist at a time. one (1) reference. no plus-ones, no situationships πstateβ the state of the fpga manager, typed asenum fpga_mgr_states. this is the vibe check field fr fr βcompat_idβ FPGA manager id for compatibility check. a pointer tostruct fpga_compat_id, keeping things compatible so nothing gets awkward πmopsβ pointer to the struct of fpga manager ops, typedconst struct fpga_manager_ops *. all the actual behaviour lives over there πmops_ownerβ the module containing themops. gotta know who owns the ops, iykyk πprivβ low level driver private date. (yes, the manpage says "date" β we do not correct the manpage, we respect the manpage π) avoid *, so it can be literally anything, iconic behaviour honestly π
ngl, the field names arename,dev,ref_mutex,state,compat_id,mops,mops_owner,privβ use them exactly, character for character, or the compiler will simply not hear you π§
π SEE ALSO π
- Kernel file
./include/linux/fpga/fpga-mgr.hβ go read it, it's right there π enum fpga_mgr_states(9)FPGA Manager flags(9)struct fpga_image_info(9)struct fpga_compat_id(9)struct fpga_manager_info(9)struct fpga_manager_ops(9)
all of these are linked from ./include/linux/fpga and honestly they're all besties, read them in order, it's a whole saga π
and that's the page!! πΈ this one came from the source path ./include/linux/fpga, stamped October 2026, in the classic struct fpga_manager(9) / Kernel API Manual tradition β mwah, kisses, go write a driver π«Άβ¨
π¦ 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