> 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.
signature.asc
Description: Digital signature
