ti_sci_cmd_dev_is_valid(9)
π ti_sci_cmd_dev_is_valid(9) β like, the Kernel API Manual page, bestie π
okay so real talk, this page is from the Kernel API Manual and it's about one (1) tiny little function that just checks if a device ID is even valid. baby function. iconic behaviour. let's get into it β¨
πΈ NAME πΈ
ti_sci_cmd_dev_is_valid β literally asking "is this device valid or not" π
π¦ SYNOPSIS π¦
int ti_sci_cmd_dev_is_valid (const struct ti_sci_handle *handle , u32 id
);
so it takes your handle, takes your id, and gives you back an int. that's the whole vibe. no cap.
β¨ ARGUMENTS β¨
handleβ a pointer to the TISCI handle, the one you got from*ti_sci_get_handle. yes bestie you have to actually get the handle first, can't just manifest it πidβ the Device Identifier. like, the ID of the device. the device's whole identity fr fr.
π RETURN π
returns 0 if everything went fine and the device ID is valid π«Ά otherwise it returns the appropriate error β so like, if it's not valid, you get an error code and you deal with it, periodt. π
π SEE ALSO π
okay this is the part where the manpage just casually drops the entire friend group π
the kernel file is ./drivers/firmware/ti_sci.c and honestly the whole squad is here:
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_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)
like I said. the whole friend group. iykyk π§
lowkey the entire page is just "is the device valid, yes or no" and honestly? relatable. sometimes you just need a yes or no from the universe. β
and that's the whole thing bestie β this one lives over in ./drivers/firmware and it's dated October 2026, so it's giving future-forward main character energy ππ mwah, go check your device IDs, ily π
π¦ 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