scmi_set_protocol_priv(9)
π scmi_set_protocol_priv(9) π
okay so like, welcome to the Kernel API Manual, bestie β this page is literally about scmi_set_protocol_priv, and it's one of those tiny little functions that does exactly one thing and does it cute. no drama, no cap π
β¨ NAME β¨
scmi_set_protocol_priv β set protocol specific data at init time π
like⦠that's it. that's the whole job. it's giving "one job, doing it well" energy.
πΈ SYNOPSIS πΈ
int scmi_set_protocol_priv (const struct scmi_protocol_handle *ph , void
*priv );
two arguments, one int coming back at you. simple. iconic. periodt π¦
π« ARGUMENTS π«
phβ a reference to the protocol handle π like, it's the handle for the protocol you're working with, and you better have it on hand before you call this.privβ the private data to set π this is your stuff, your little blob of protocol-specific data, and you're handing it over.
π«Ά RETURN π«Ά
0on Success β that's it β zero means we slayed, no cap.
π SEE ALSO π
okay this list is LONG and honestly kind of the main character of the whole page π but we're not skipping a single one, because every single reference matters. here's the fam:
- Kernel file
./drivers/firmware/arm_scmi/driver.cπ (yes, the actual source file, go read it) struct scmi_xfers_info(9)struct scmi_protocol_instance(9)struct scmi_info(9)scmi_create_protocol_devices(9)scmi_xfer_token_set(9)scmi_xfer_token_clear(9)scmi_xfer_inflight_register_unlocked(9)scmi_xfer_inflight_register(9)scmi_xfer_raw_inflight_register(9)scmi_xfer_pending_set(9)scmi_xfer_get(9)scmi_xfer_raw_get(9)scmi_xfer_raw_channel_get(9)__scmi_xfer_put(9)scmi_xfer_raw_put(9)scmi_xfer_lookup_unlocked(9)scmi_bad_message_trace(9)scmi_msg_response_validate(9)scmi_xfer_state_update(9)scmi_xfer_command_acquire(9)scmi_rx_callback(9)xfer_put(9)scmi_wait_for_message_response(9)scmi_xfer_raw_wait_for_message_response(9)do_xfer(9)do_xfer_with_response(9)xfer_get_init(9)version_get(9)scmi_get_protocol_priv(9)scmi_common_extended_name_get(9)scmi_common_get_max_msg_size(9)scmi_protocol_msg_check(9)struct scmi_iterator(9)scmi_revision_area_get(9)scmi_protocol_version_negotiate(9)scmi_protocol_version_initialize(9)scmi_alloc_init_protocol_instance(9)scmi_get_protocol_instance(9)scmi_protocol_acquire(9)scmi_protocol_release(9)scmi_devm_protocol_get(9)scmi_devm_protocol_acquire(9)scmi_devm_protocol_put(9)scmi_is_transport_atomic(9)scmi_handle_get(9)scmi_handle_put(9)scmi_channels_setup(9)
iykyk, that's a whole lot of cross-referencing bestie β go click around, it's a rabbit hole and lowkey worth it π§
πΈ also note there's a scmi_get_protocol_priv(9) in that list up thereβ¦ the getter to this setter, if you will. the way that symmetry ate π
mwah, that's the page! this lil' rewrite came straight out of ./drivers/firmware/arm_scmi and is dated October 2026 β take care of her, she's doing her best πβ¨π₯
π¦ 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