ENUM I3C_ADDR_SLOT_STATUS(9)
π enum i3c_addr_slot_status(9) π
okay bestie, so this page lives in the Kernel API Manual and it's literally all about the I3C address slot status enum β like, the whole vibe is "which addresses are taken, which are free, and which ones are reserved." no cap, that's it. π
β¨ NAME β¨
enum i3c_addr_slot_status β I3C address slot status π
πΈ SYNOPSIS πΈ
enum i3c_addr_slot_status {
I3C_ADDR_SLOT_FREE ,
I3C_ADDR_SLOT_RSVD ,
I3C_ADDR_SLOT_I2C_DEV ,
I3C_ADDR_SLOT_I3C_DEV ,
I3C_ADDR_SLOT_STATUS_MASK ,
I3C_ADDR_SLOT_EXT_STATUS_MASK ,
I3C_ADDR_SLOT_EXT_DESIRED
};
like, that's the whole lineup. every single one of them matters, so let's go through them one by one π«Ά
π¦ Constants π¦
I3C_ADDR_SLOT_FREEβ this address is free, bestie β it's up for grabs β¨I3C_ADDR_SLOT_RSVDβ this address is reserved, so hands off πI3C_ADDR_SLOT_I2C_DEVβ this address is assigned to an I2C device πI3C_ADDR_SLOT_I3C_DEVβ and this one's assigned to an I3C device πI3C_ADDR_SLOT_STATUS_MASKβ it's the address slot mask, iconic πI3C_ADDR_SLOT_EXT_STATUS_MASKβ the address slot mask with extended information β yeah, she's got extra β¨I3C_ADDR_SLOT_EXT_DESIREDβ okay so this bitmask represents addresses that are preferred by some devices, like the"assigned-address"property in a device tree source. and here's the thing: on an I3C bus, addresses get assigned dynamically, so we literally have to know which addresses are free to use and which ones are already assigned. it's giving main character energy for real π₯
π Description π
addresses that get marked as reserved are the ones reserved by the I3C protocol β like the broadcast address, and so on β literally reserved by the protocol itself, not by us π
π SEE ALSO π
Kernel file ./include/linux/i3c/master.h β struct i3c_i2c_dev_desc(9), struct i2c_dev_boardinfo(9), struct i2c_dev_desc(9), struct i3c_ibi_slot(9), struct i3c_device_ibi_info(9), struct i3c_dev_boardinfo(9), struct i3c_dev_desc(9), struct i3c_device(9), enum i3c_bus_mode(9), enum i3c_open_drain_speed(9), struct i3c_bus(9), struct i3c_master_controller_ops(9), struct i3c_master_controller(9), i3c_bus_for_each_i2cdev(9), i3c_bus_for_each_i3cdev(9), struct i3c_dma(9), i3c_dev_get_master_data(9), i3c_dev_set_master_data(9), i2c_dev_get_master_data(9), i2c_dev_set_master_data(9), i3c_dev_get_master(9), i2c_dev_get_master(9), i3c_master_get_bus(9) β yeah, that's the whole friend group, go say hi π¦
aaaand that's the page, bestie π it comes from ./include/linux/i3c and it's dated October 2026, so go forth and slay your address slots πΈβ¨π
π¦ 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