STRUCT DPLL_DEVICE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct dpll_device β€” the kernel API glow-up you didn't know you needed πŸ’–

okay so bestie, this is a page from the kernel API manual (that's the 9 section vibe, iykyk ✨) and it's literally all about struct dpll_device β€” the lil' data home where a DPLL device keeps its internal stuff. no cap, it's giving "backstage pass to the DPLL subsystem" energy πŸŽ€


✨ NAME ✨

struct dpll_device β€” the struct that stores DPLL device internal data 🫢


🌸 SYNOPSIS 🌸

here's the whole struct, and yes you're gonna want to read it exactly as written, character for character, because kernel code does not do "close enough" πŸ’…

struct dpll_device {
    u32 id;
    u32 device_idx;
    u64 clock_id;
    struct module *module;
    enum dpll_type type;
    struct xarray pin_refs;
    refcount_t refcount;
    struct ref_tracker_dir refcnt_tracker;
    struct list_head registration_list;
 };

πŸ¦‹ Members πŸ¦‹

okay so let's go member by member, because every single one of these is iconic in its own way ⭐

  • id β€” the unique id number for this device, and it's handed out by the dpll subsystem itself πŸ‘‘
  • device_idx β€” the id that the dev driver gave it πŸŽ€
  • clock_id β€” the unique identifier (clock_id) of a dpll πŸ•°οΈ
  • module β€” the module of the creator 🌈
  • type β€” the type of a dpll πŸ”₯
  • pin_refs β€” this one stores the pins registered within a dpll πŸ“Œ
  • refcount β€” literally the refcount, that's it, that's the member πŸ’€
  • refcnt_tracker β€” the ref_tracker directory used for debugging reference leaks πŸ™ˆ (yes bestie, it's a whole debugging situation)
  • registration_list β€” the list of registered ops and priv data of dpll owners 🫢
lowkey a serve that refcnt_tracker exists purely to catch reference leaks β€” do not sleep on it, leaks are the villain of this story 😭

πŸ’œ SEE ALSO πŸ’œ

  • Kernel file ./drivers/dpll/dpll_core.h struct dpll_pin(9), struct dpll_pin_ref(9)

go read those too, the whole dpll family is honestly a vibe 🧚


and that's the page, bestie!! this one lives in ./drivers/dpll, it's dated October 2026, and it's filed under struct dpll_device(9) in the Kernel API Manual β€” periodt πŸ’…βœ¨πŸ“

πŸ“¦ where this page comes from