STRUCT FPGA_MANAGER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ 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 whole struct 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 as enum fpga_mgr_states. this is the vibe check field fr fr ⭐
  • compat_id β€” FPGA manager id for compatibility check. a pointer to struct fpga_compat_id, keeping things compatible so nothing gets awkward 😭
  • mops β€” pointer to the struct of fpga manager ops, typed const struct fpga_manager_ops *. all the actual behaviour lives over there πŸ‘‘
  • mops_owner β€” the module containing the mops. 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 πŸŽ€) a void *, so it can be literally anything, iconic behaviour honestly 🌈
ngl, the field names are name, 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