i3c_master_r...c_dev_locked(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

okay so welcome to the Kernel API Manual, bestie β€” this page is i3c_master_r...c_dev_locked(9), and it's literally about i3c_master_reattach_i3c_dev_locked β€” reattaching an I3C device that got itself a brand new address. glow-up arc fr πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

int i3c_master_reattach_i3c_dev_locked (struct i3c_dev_desc *dev , u8
old_dyn_addr );

πŸŽ€ ARGUMENTS πŸŽ€

  • dev β€” the I3C device descriptor you're reattaching, like the little guy's whole ID card πŸͺͺ
  • old_dyn_addr β€” the device's previous dynamic address, i.e. the address it had before the glow-up πŸ‘‘

🌸 DESCRIPTION 🌸

so the way this works: this function reattaches an existing I3C device to the bus when its dynamic address has changed. it updates the bus address slot status accordingly, no cap:

  • Marks the new dynamic address as occupied by an I3C device βœ…
  • Frees the old dynamic address slot if applicable πŸ—‘οΈ
⚠️ bestie this function must be called with the bus lock held in write mode. like, not optional. that's the rule. πŸ”’

πŸ”₯ RETURN πŸ”₯

returns 0 on success πŸŽ‰ β€” or a negative error code if the reattachment fails (e.g. -EBUSY if the new address slot is not free 😭). yeah she'll tell you if the slot's taken, iconic of her honestly.


πŸ’œ SEE ALSO πŸ’œ

Kernel file ./drivers/i3c/master.c β€” go read it, iykyk πŸ“–


and that's the whole page, bestie!! 🫢 this one's from ./drivers/i3c, stamped October 2026, page i3c_master_r...c_dev_locked(9) β€” go forth and reattach those devices responsibly πŸ’–βœ¨

πŸ“¦ where this page comes from