i3c_master_get_free_addr(9)
π i3c_master_get_free_addr(9) β the Kernel API Manual page, bestie edition π
okay so real talk: this is a page straight out of the Kernel API Manual and it's all about i3c_master_get_free_addr β aka the little function that goes "hiii, what addresses are free on this bus?" β¨ It lives over in ./drivers/i3c and the version/date tea gets spilled at the very bottom, don't worry π«Ά
β¨ NAME β¨
i3c_master_get_free_addr β get a free address on the bus π
like, literally its whole job. find a free one. slay.
πΈ SYNOPSIS πΈ
int i3c_master_get_free_addr (struct i3c_master_controller *master , u8
start_addr );
it gives you back an int, takes a struct i3c_master_controller *master and a u8 start_addr, and honestly that's the whole vibe check π
π¦ ARGUMENTS π¦
masterβ the I3C master object π your main character, the one holding the busstart_addrβ where to start searching π like, from here onward bestie
π DESCRIPTION π
This function must be called with the bus lock held in write mode. no cap. that's not a suggestion, that's the rule π
it's giving "read the room before you touch the bus" β please hold the lock correctly or things get weird fr fr π
β RETURN β
it hands you back the first free address starting at start_addr (included) β¨ β yes, start_addr counts, it's not skipped, included means included β or, if there's genuinely no more address available, you get -ENOMEM and you just have to deal with that π₯²
π₯ SEE ALSO π₯
the whole friend group, in ./drivers/i3c/master.c π
:
i3c_bus_maintenance_lock(9)i3c_bus_maintenance_unlock(9)i3c_bus_normaluse_lock(9)i3c_bus_normaluse_unlock(9)i3c_master_queue_hotjoin(9)i3c_master_send_ccc_cmd_locked(9)i3c_master_setaasa_locked(9)i3c_master_entdaa_locked(9)i3c_master_enec_disec_locked(9)i3c_master_disec_locked(9)i3c_master_enec_locked(9)i3c_master_defslvs_locked(9)i3c_master_reattach_i3c_dev_locked(9)i3c_master_has_wakeup_enabled_devs(9)i3c_master_dma_map_single(9)i3c_master_dma_unmap_single(9)i3c_master_set_info(9)i3c_master_bus_init(9)__i3c_master_add_i3c_dev_locked(9)i3c_master_add_i3c_dev_locked(9)i3c_master_do_daa_ext(9)i3c_master_do_daa(9)i3c_master_queue_ibi(9)i3c_generic_ibi_free_pool(9)i3c_generic_ibi_alloc_pool(9)i3c_generic_ibi_get_free_slot(9)i3c_generic_ibi_recycle_slot(9)i3c_master_register(9)i3c_master_unregister(9)i3c_dev_disable_ibi_locked(9)i3c_dev_enable_ibi_locked(9)i3c_dev_request_ibi_locked(9)i3c_dev_free_ibi_locked(9)
and that's the whole page, bestie!! π§β¨ this little icon dropped in October 2026, it's filed under ./drivers/i3c, and it goes by i3c_master_get_free_addr(9) β mwah, periodt ππ
π¦ 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