STRUCT SCMI_POWER_PROTO_OPS(9)
π struct scmi_power_proto_ops(9) π
okay so bestie, welcome to the Kernel API Manual entry for struct scmi_power_proto_ops β and yes, that's the whole title, we're being extra official today β¨
πΈ NAME πΈ
struct scmi_power_proto_ops β literally the struct that represents all the various operations provided by the SCMI Power Protocol π«Ά like that's its whole job and it ate
β¨ SYNOPSIS β¨
struct scmi_power_proto_ops {
int (*num_domains_get)(const struct scmi_protocol_handle *ph);
const char *(*name_get)(const struct scmi_protocol_handle *ph, u32 domain);
#define SCMI_POWER_STATE_TYPE_SHIFT 30;
#define SCMI_POWER_STATE_ID_MASK (BIT(28) - 1);
#define SCMI_POWER_STATE_PARAM(type, id) ((((type) & BIT(0)) << SCMI_POWER_STATE_TYPE_SHIFT) | ((id) & SCMI_POWER_STATE_ID_MASK));
#define SCMI_POWER_STATE_GENERIC_ON SCMI_POWER_STATE_PARAM(0, 0);
#define SCMI_POWER_STATE_GENERIC_OFF SCMI_POWER_STATE_PARAM(1, 0);
int (*state_set)(const struct scmi_protocol_handle *ph, u32 domain, u32 state);
int (*state_get)(const struct scmi_protocol_handle *ph, u32 domain, u32 *state);
};
no cap, that's the whole lineup π the function pointers are the main characters, and the #defines are the little supporting cast that make the state math work π
π Members π
num_domains_getβ get the count of power domains provided by SCMI π’ like, how many power domains are we even working with, bestiename_getβ gets the name of a power domain π·οΈ every domain deserves a name, honestly iconicstate_setβ sets the power state of a power domain π₯ you're the one in charge nowstate_getβ gets the power state of a power domain π just peeking, no touching
π¦ SEE ALSO π¦
Kernel file ./include/linux/scmi_protocol.h β and the whole friend group, fr fr:
struct scmi_base_info(9)struct scmi_clk_proto_ops(9)struct scmi_perf_proto_ops(9)struct scmi_sensor_reading(9)struct scmi_range_attrs(9)struct scmi_sensor_axis_info(9)struct scmi_sensor_intervals_info(9)struct scmi_sensor_info(9)struct scmi_sensor_proto_ops(9)struct scmi_reset_proto_ops(9)struct scmi_voltage_info(9)struct scmi_voltage_proto_ops(9)struct scmi_powercap_info(9)struct scmi_powercap_proto_ops(9)struct scmi_pinctrl_proto_ops(9)struct scmi_notify_ops(9)struct scmi_handle(9)module_scmi_driver(9)module_scmi_protocol(9)
π that's the whole page, bestie π
signing off from ./include/linux, dated October 2026, in the struct scmi_power_proto_ops(9) era π iykyk β go power-cycle something responsibly πβ
π¦ 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