i3c_master_...c_dev_locked(9)
π i3c_master_add_i3c_dev_locked β kernel API manual energy π
okay so bestie, welcome to the Kernel API Manual β¨ this one's short but she's important, and honestly the vibe is "quietly running the whole party" π«Ά
β¨ NAME β¨
i3c_master_add_i3c_dev_locked β literally the function that adds an I3C slave to the bus π
no cap, that's the whole job description.
πΈ SYNOPSIS πΈ
void i3c_master_add_i3c_dev_locked (struct i3c_master_controller *master
, u8 addr );
she's a void, she returns nothing, she simply does π the way that this function just shows up and makes a device exist? iconic.
π¦ ARGUMENTS π¦
masterβ the master controller used to send frames on the bus. think of her as the one holding the aux cord π§ every frame goes through her.addrβ the I3C slave dynamic address assigned to the device π·οΈ this is the device's little name tag at the party.
π DESCRIPTION π
so what she actually does: this function instantiates an I3C device object and adds it to the I3C device list π and the best part? all device information is automatically retrieved using standard CCC commands β¨ not me, not you, the CCC commands are doing the heavy lifting. main character energy fr fr.
π¨ IMPORTANT, like actually important: this function must be called with the bus lock held in write mode π do not skip this. the lock is not decorative. she is not a suggestion. hold the lock, in write mode, periodt.
ngl it's giving "small function, big responsibilities" π respect her.
π₯ SEE ALSO π₯
Kernel file ./drivers/i3c/master.c π« and the whole friend group:
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_get_free_addr(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_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)
like, that's a whole group chat right there and every single one of them is invited π²π
β¨ that's the whole page bestie β¨ this little gem lives in the ./drivers/i3c corner of the kernel tree π and she was dated October 2026 π go forth, hold that write lock, and add your devices with confidence π
π
π¦ 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