STRUCT SCMI_VOLTAGE_PROTO_OPS(9)
π NAME π
okay so bestie, welcome to struct scmi_voltage_proto_ops β this is the Kernel API Manual, section 9, and it's literally the struct that holds all the various operations that the SCMI Voltage Protocol hands you. like, every move this protocol can make lives in here. periodt.
β¨ SYNOPSIS β¨
no cap, here's the whole thing, character for character:
struct scmi_voltage_proto_ops {
int (*num_domains_get)(const struct scmi_protocol_handle *ph);
const struct scmi_voltage_info __must_check *(*info_get) (const struct scmi_protocol_handle *ph, u32 domain_id);
int (*config_set)(const struct scmi_protocol_handle *ph, u32 domain_id, u32 config);
#define SCMI_VOLTAGE_ARCH_STATE_OFF 0x0;
#define SCMI_VOLTAGE_ARCH_STATE_ON 0x7;
int (*config_get)(const struct scmi_protocol_handle *ph, u32 domain_id, u32 *config);
int (*level_set)(const struct scmi_protocol_handle *ph, u32 domain_id, enum scmi_voltage_level_mode mode, s32 volt_uV);
int (*level_get)(const struct scmi_protocol_handle *ph, u32 domain_id, s32 *volt_uV);
};
it's giving function-pointer buffet and honestly? we ate. π
π MEMBERS π
one bullet per icon, let's go:
num_domains_getβ gets you the count of voltage domains provided by SCMI. like a headcount but for voltage domains πinfo_getβ gets the information of the specified domain. you want the tea on a domain? this is the tea.config_setβ sets the config for the specified domain. you're the main character, you decide.config_getβ gets the config of the specified domain. reading the room, essentially.level_setβ sets the voltage level for the specified domain. yes bestie, we're adjusting.level_getβ gets the voltage level of the specified domain. what's the vibe? this tells you. β¨
π¦ SEE ALSO π¦
the whole friend group, fr fr β all of these live in the kernel file ./include/linux/scmi_protocol.h:
struct scmi_base_info(9)struct scmi_clk_proto_ops(9)struct scmi_perf_proto_ops(9)struct scmi_power_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_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)
like, the entire scmi cinematic universe. iykyk π
anyway that's the whole page bestie, hope it slayed π β this one's from ./include/linux, dated October 2026, filed under struct scmi...ge_proto_ops(9) in the Kernel API Manual. mwah, go touch some hardware ππ«Ά
π¦ 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