STRUCT OPP_DEVICE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct opp_device(9) πŸ’…

okay so real talk, bestie β€” this is a page straight outta the Kernel API Manual, and it's about struct opp_device. it's short, it's sweet, and ngl it's giving "tiny but crucial supporting character" energy. let's get into it 🫢


✨ NAME ✨

struct opp_device β€” literally the devices that 'struct opp_table' is out here managing πŸ‘‘


πŸŽ€ SYNOPSIS πŸŽ€

here's the whole vibe, character for character, no edits, no notes:

struct opp_device {
    struct list_head node;
    const struct device *dev;
  #ifdef CONFIG_DEBUG_FS;
    struct dentry *dentry;
  #endif;
 };

like… look at her. she's little. she's conditional. she slays 🌸


🌼 MEMBERS 🌼

one by one, no skipping, we don't do that here:

  • node β€” the list node πŸ’« (yes, she's on a list, she's booked and busy)
  • dev β€” the device that this here struct object belongs to πŸ–‡οΈ
  • dentry β€” a debugfs dentry pointer, and it's per device bestie, per device πŸ“Œ
🚨 tiny heads up: dentry only exists when CONFIG_DEBUG_FS is defined β€” that #ifdef in the synopsis is not decorative, it's load-bearing πŸ’€

πŸ’– DESCRIPTION πŸ’–

so what is this? this is an internal data structure β€” internal, as in not your main character to poke at β€” and its whole job is maintaining the devices that are managed by 'struct opp_table'. that's it. that's the gig. and honestly? she ate. πŸ”₯


πŸ¦‹ SEE ALSO πŸ¦‹

go look at the kernel file ./drivers/opp/opp.h and then go be nosy about:

  • struct opp_config_data(9)
  • struct dev_pm_opp_icc_bw(9)
  • struct dev_pm_opp(9)
  • struct opp_table(9)

okay that's the whole page, you understood it perfectly, i'm so proud of you 😭🫢 this little love letter came to you from ./drivers/opp, version October 2026, and yes the page is still called struct opp_device(9) at both the top and the bottom because consistency is iconic πŸ’…βœ¨

πŸ“¦ where this page comes from