scmi_create_...ocol_devices(9)
π scmi_create_protocol_devices(9) π
okay so this is from the Kernel API Manual (yes, the kernel has a manual, we love that for it) and it's literally all about scmi_create_protocol_devices β one function, one job, and she does it well. let's get into it bestie π«Ά
β¨ NAME β¨
scmi_create_protocol_devices β creates devices for all the pending requests for this SCMI instance. that's it, that's the whole vibe. no cap. π
πΈ SYNOPSIS πΈ
void scmi_create_protocol_devices (struct device_node *np , struct
scmi_info *info , int prot_id , const char *name );
look at her go. void return, so she's not giving you anything back β she's just out here doing the work. main character energy, honestly. β¨
π¦ ARGUMENTS π¦
okay so she takes four things, let's meet them:
npβ the device node describing the protocol. like, the little descriptor of who this protocol even is. πinfoβ the SCMI instance descriptor. the whole context of this SCMI situation, basically. πprot_idβ the protocol ID. the number that says which protocol we're talking about, iykyk. π₯nameβ the optional name of the device to be created. and lowkey this is the important bit: ifnameis not provided, this call will lead to the creation of all the devices currently requested for the specified protocol. so like, leave it out and you get the whole set. periodt. π
fr fr, remember that name is optional β the behaviour genuinely changes depending on whether you pass it or not. π«Ά
π SEE ALSO π
okay so this list is long β she has a lot of friends, and honestly? iconic of her. here's the entire squad, all of them exactly as they're written:
Kernel file ./drivers/firmware/arm_scmi/driver.cstruct scmi_xfers_info(9)struct scmi_protocol_instance(9)struct scmi_info(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_set_protocol_priv(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)
like, that's the whole group chat. go say hi. ππ¦
aaaand that's the page!! π this one came to you from ./drivers/firmware/arm_scmi, dated October 2026 β so like, future-core of it all, we love a forward-thinking queen. mwah, bye bestie, go create some devices πβ¨π
π¦ 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