> Current implementation: > -------------------- > > Everyone probably does have their own custom implementation for this. > Or some other mechanism to achieve this (may be hardware support). Do you have examples? It is easier to look at code. > /* We can also check i2c_check_functionality(adap,I2C_FUNC_PIO) */ > if (msg->flags & I2C_M_PIO) { > /* PIO mode operation */ > } else { > /* non-pio mode of operation */ > } I'd rather let the core decide. Like introduce a master_xfer_nosleep callback and let the core use the standard or the nosleep one. We'd need the same for smbus as well. This leads to the question if we need a M_FLAG or expose the *_nosleep functions directly? And I wonder about the demand for it. There are a number of SoCs with designated I2C cores for the PMIC which do automated transfers.
Attachment:
signature.asc
Description: Digital signature