STRUCT SCMI_RESET_PROTO_OPS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct scmi_reset_proto_ops(9) β€” Kernel API Manual, but make it make sense

Okay so bestie, picture this: it's a struct in the Kernel API Manual (section 9, obviously), and its whole entire job is to hold the various operations provided by the SCMI Reset Protocol. Like, that's it. That's the vibe. It's a bundle of function pointers, and every single one of them gets handed a const struct scmi_protocol_handle *ph so it knows whose business it's minding. Iconic behavior, honestly.


✨ SYNOPSIS ✨

struct scmi_reset_proto_ops {
    int (*num_domains_get)(const struct scmi_protocol_handle *ph);
    const char *(*name_get)(const struct scmi_protocol_handle *ph, u32 domain);
    int (*latency_get)(const struct scmi_protocol_handle *ph, u32 domain);
    int (*reset)(const struct scmi_protocol_handle *ph, u32 domain);
    int (*assert)(const struct scmi_protocol_handle *ph, u32 domain);
    int (*deassert)(const struct scmi_protocol_handle *ph, u32 domain);
 };

πŸŽ€ Members (the whole squad, one by one)

  • num_domains_get β€” grab the count of reset domains that SCMI is serving up. Like a headcount before the party. πŸŽ‰
  • name_get β€” gets the name of a reset domain. Yes bestie, they have names, they're not just numbers. πŸ’–
  • latency_get β€” gets the reset latency for the specified reset domain. So you know exactly how long the dramatic pause lasts. ⏳
  • reset β€” resets the specified reset domain. Boom. Clean slate. πŸ”₯
  • assert β€” explicitly assert the reset signal of the specified reset domain. Not implied, not vibes-based β€” explicitly. πŸ’…
  • deassert β€” explicitly deassert the reset signal of the specified reset domain. The opposite of the above, and equally explicit. πŸ¦‹

🌈 SEE ALSO

Kernel file ./include/linux/scmi_protocol.h, plus the whole extended friend group:

  • 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_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)

Lowkey a whole friend group in that SEE ALSO, and you're gonna want to know all of them. No cap. πŸ‘‘

πŸ’« that's the whole page bestie, hope you slayed πŸ’«

This one came straight out of ./include/linux in the Kernel API Manual, dated October 2026 β€” mwah, periodt. πŸ«ΆπŸ’œ

πŸ“¦ where this page comes from