xfer_get_init(9)
π¦ xfer_get_init(9) β the kernel API manual page, bestie edition β¨
okay so this is a page from the Kernel API Manual, section 9, and it's literally about xfer_get_init β the girlies who allocate and initialise one message for transmit. it's giving "setup era" π
πΈ NAME πΈ
xfer_get_init β allocate and initialise one message for transmit π«Ά
β¨ SYNOPSIS β¨
int xfer_get_init (const struct scmi_protocol_handle *ph , u8 msg_id ,
size_t tx_size , size_t rx_size , struct scmi_xfer **p );
no cap, that's the whole signature. take it in π
π ARGUMENTS π
phβ pointer to the SCMI protocol handle π«Άmsg_idβ the message identifier, iykyktx_sizeβ transmit message size π€rx_sizeβ receive message size π₯pβ pointer to the allocated and initialised message; this is where the magic lands π
π DESCRIPTION π
so what does she actually do. she allocates the message using scmi_xfer_get, and then she initialises the header. that's the whole vibe. literally it's a one-two punch: grab the message, set up the header, slay π
π₯ RETURN π₯
0 if all went fine, with p pointing to the message. otherwise, you get the corresponding error π (not every story has a happy ending, bestie).
π SEE ALSO π
the full friend group, no one left out fr fr. kernel file ./drivers/firmware/arm_scmi/driver.c plus:
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)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 I said β the whole group chat π
don't skip the cross-refs, bestie, they're there for a reason π§
and that's the page!! source is ./drivers/firmware/arm_scmi, dated October 2026, and it's xfer_get_init(9) in case you forgot already π mwah, study safe, go read your kernel source πππ
π¦ 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