drivers: i3c: i3c_dw: dynamically attach I2C devices on transfer

The maximum number of attached devices is limited by the maximum
number of entries in the device address table. For I3C devices
these have to by allocated permanently when devices are attached
but for I2C devices we can dynamically allocate an entry in the
table on a I2C transfer and free it after the transfer is completed.
This allows the maximum number of I2C + I3C devices on a bus to be
larger than the address table size as long as the number of I3C
devices is maxdevs - 1.

Signed-off-by: Corey Wharton <xodus7@cwharton.com>
1 file changed