ti_sci_cmd_put_device(9)
π ti_sci_cmd_put_device(9) β the Kernel API Manual moment
okay so bestie, welcome to the glow-up era of the TISCI device lifecycle β¨ this one is a Kernel API Manual page (yes, the actual manual, we're fancy now), and it's all about giving a device back when you're done with it. no cap, it's short but it MATTERS. π
πΈ NAME πΈ
ti_sci_cmd_put_device β the command that releases a device managed by TISCI π«Ά
β¨ SYNOPSIS β¨
int ti_sci_cmd_put_device (const struct ti_sci_handle *handle , u32 id
);
like, that's the whole signature. short king. π
π ARGUMENTS π
handleβ pointer to the TISCI handle, the one you got back from *ti_sci_get_handleπidβ the Device Identifier. which device, bestie. you gotta say which one. π
π¦ DESCRIPTION π¦
so this is the request for the device β i.e. the release side of the whole thing. and here's the part where you gotta pay attention because it's literally in all caps in the original for a reason:
NOTE: the client MUST maintain integrity of usage count by balancingget_devicewithput_device. No refcounting is managed by driver for that purpose. π
translation, bestie: you are the refcount. the driver is not keeping score for you. every get_device needs its matching put_device or the count drifts and it's giving chaos. balance your books. periodt. π§Ύβ¨
π₯ RETURN π₯
0 if all went fine β iconic, we love a zero π β else it returns the appropriate error. so like, check it. don't just vibe past it. π
π SEE ALSO π
the whole friend group, in order, no one left out π«Ά:
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_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)ti_sci_put_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)
that's the whole page, bestie, you ate that π
this little gem lives in ./drivers/firmware, dated October 2026, and yeah β the page itself is ti_sci_cmd_put_device(9). now go balance your refcounts, 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