STRUCT SCMI_SYSPOWER_CONF(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ struct scmi_syspower_conf πŸŽ€

okay bestie, welcome to the Kernel API Manual page for struct scmi_syspower_conf(9) πŸ’– this one's literally the common configuration struct, and honestly? she's giving backstage-pass energy πŸ‘‘


✨ NAME ✨

struct scmi_syspower_conf β€” Common configuration 🌸


πŸ¦‹ SYNOPSIS πŸ¦‹

struct scmi_syspower_conf {
    struct device *dev;
    enum scmi_syspower_state state;
    struct mutex state_mtx;
    enum scmi_system_events required_transition;
    struct notifier_block userspace_nb;
    struct notifier_block reboot_nb;
    struct delayed_work forceful_work;
    struct work_struct suspend_work;
 };

no cap, that's the whole shape of her πŸ’…


🫢 MEMBERS 🫢

  • dev β€” A reference device. literally just a pointer to the device she's attached to πŸŽ€
  • state β€” Current SystemPower state ✨ like, what's the vibe right now
  • state_mtx β€” state related mutex πŸ”’ (yes bestie, she locks, we love a thread-safe icon)
  • required_transition β€” The requested transition as described in the received SCMI SystemPower notification πŸ“© iykyk, it's exactly what the notification asked for
  • userspace_nb β€” The notifier_block registered against the SCMI SystemPower notification to start the needed userspace interactions 🫢 so userspace gets the memo
  • reboot_nb β€” A notifier_block optionally used to track reboot progress πŸ”₯ optional! she doesn't have to be there, but when she is, she's tracking
  • forceful_work β€” A worker used to trigger a forceful transition once a graceful has timed out 😭 dramatic? yes. necessary? also yes. graceful had her moment, time's up periodt
  • suspend_work β€” A worker used to trigger system suspend πŸ’€

🌈 SEE ALSO 🌈


bestie reminder: every single field up there is real and load-bearing β€” don't go renaming anything, the kernel will notice πŸ’€

and that's the page!! source/source path is ./drivers/firmware/arm_scmi, date October 2026 🌸 catch you in the next manpage, mwah πŸ’œπŸ§šβ€β™€οΈ

πŸ“¦ where this page comes from