ti_sci_put_handle(9)
π ti_sci_put_handle(9) β like, the Kernel API Manual, bestie β¨
okay so listen π«Ά this one lives in the Kernel API Manual and it's literally the "k bye, thanks for the handle" function. You grabbed a handle with ti_sci_get_handle, and now you're giving it back. Balanced. At peace. The circle of life. π¦
πΈ NAME πΈ
ti_sci_put_handle β release the handle you got from ti_sci_get_handle. that's it. that's the vibe. π
β¨ SYNOPSIS β¨
int ti_sci_put_handle (const struct ti_sci_handle *handle );
like, one argument, one int back, no drama. π
π ARGUMENTS π
handleβ the handle you snagged fromti_sci_get_handle. yes, that exact one. don't get cute and pass something else, i'm begging π
β οΈ NOTE β οΈ
so here's the tea β β this function does not track individual clients of the framework. like, at all. zero bookkeeping, no little registry of who's holding what. it's expected to be maintained by the caller of the TI SCI protocol library. you. you're the caller. it's on you, bestie π«Ά
and the big one: ti_sci_put_handle must be balanced with a successful ti_sci_get_handle. get one, put one. get one, put one. it's giving choreography π not me stressing about unmatched handles π
π₯ RETURN π₯
0β successfully released, slay π- if an error pointer was passed, it returns the error value back to you. it's just handing you your own problem back, honestly iconic π
- if null was passed, it returns
-EINVAL. yeah. that's a you problem, not a me problem π
π¦ SEE ALSO π¦
the friend group is HUGE, buckle up π
- Kernel file
./drivers/firmware/ti_sci.c struct ti_sci_xfer(9)struct ti_sci_xfers_info(9)struct ti_sci_desc(9)struct ti_sci_irq(9)struct ti_sci_info(9)ti_sci_debug_show(9)ti_sci_debugfs_create(9)ti_sci_dump_header_dbg(9)ti_sci_rx_callback(9)ti_sci_get_one_xfer(9)ti_sci_put_one_xfer(9)ti_sci_do_xfer(9)ti_sci_cmd_get_revision(9)ti_sci_is_response_ack(9)ti_sci_set_device_state(9)ti_sci_get_device_state(9)ti_sci_cmd_get_device(9)ti_sci_cmd_get_device_exclusive(9)ti_sci_cmd_idle_device(9)ti_sci_cmd_idle_device_exclusive(9)ti_sci_cmd_put_device(9)ti_sci_cmd_dev_is_valid(9)ti_sci_cmd_dev_get_clcnt(9)ti_sci_cmd_dev_is_idle(9)ti_sci_cmd_dev_is_stop(9)ti_sci_cmd_dev_is_on(9)ti_sci_cmd_dev_is_trans(9)ti_sci_cmd_set_device_resets(9)ti_sci_cmd_get_device_resets(9)ti_sci_set_clock_state(9)ti_sci_cmd_get_clock_state(9)ti_sci_cmd_get_clock(9)ti_sci_cmd_idle_clock(9)ti_sci_cmd_put_clock(9)ti_sci_cmd_clk_is_auto(9)ti_sci_cmd_clk_is_on(9)ti_sci_cmd_clk_is_off(9)ti_sci_cmd_clk_set_parent(9)ti_sci_cmd_clk_get_parent(9)ti_sci_cmd_clk_get_num_parents(9)ti_sci_cmd_clk_get_match_freq(9)ti_sci_cmd_clk_set_freq(9)ti_sci_cmd_clk_get_freq(9)ti_sci_cmd_prepare_sleep(9)ti_sci_msg_cmd_query_fw_caps(9)ti_sci_cmd_set_io_isolation(9)ti_sci_msg_cmd_lpm_wake_reason(9)ti_sci_cmd_set_device_constraint(9)ti_sci_cmd_set_latency_constraint(9)ti_sci_cmd_lpm_abort(9)ti_sci_get_resource_range(9)ti_sci_cmd_get_resource_range(9)ti_sci_cmd_get_resource_range_from_shost(9)ti_sci_manage_irq(9)ti_sci_irq_hash(9)ti_sci_irq_equal(9)ti_sci_set_irq(9)ti_sci_free_irq(9)ti_sci_cmd_set_irq(9)ti_sci_cmd_set_event_map(9)ti_sci_cmd_free_irq(9)ti_sci_cmd_free_event_map(9)ti_sci_cmd_rm_ring_cfg(9)ti_sci_cmd_rm_psil_pair(9)ti_sci_cmd_rm_psil_unpair(9)ti_sci_cmd_rm_udmap_tx_ch_cfg(9)ti_sci_cmd_rm_udmap_rx_ch_cfg(9)ti_sci_cmd_rm_udmap_rx_flow_cfg(9)ti_sci_cmd_proc_request(9)ti_sci_cmd_proc_release(9)ti_sci_cmd_proc_handover(9)ti_sci_cmd_proc_set_config(9)ti_sci_cmd_proc_set_control(9)ti_sci_cmd_proc_get_status(9)ti_sci_get_handle(9)devm_ti_sci_get_handle(9)ti_sci_get_by_phandle(9)devm_ti_sci_get_by_phandle(9)ti_sci_get_free_resource(9)ti_sci_release_resource(9)ti_sci_get_num_resources(9)devm_ti_sci_get_resource_sets(9)devm_ti_sci_get_of_resource(9)devm_ti_sci_get_resource(9)
and that's the whole page, bestie π it lives over in ./drivers/firmware and this edition is dated October 2026 β mwah, go balance those handles, ily, bye π§ββοΈπ
π¦ 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