> 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

Reply via email to