> >I have noticed the following behaviour with the i2c-rcar driver > >with the following single i2c_msg structure: > > > > msg[0].addr = 0x12; > > msg[0].flags = I2C_M_RD; > > msg[0].len = 0; > > msg[0].buf = data; > > isn't this illegal? > This should lead to 50% chance of blocked bus: After sending > read-bit the slave ACK's and puts first data bit onto SDL. It is not illegal, SMBUS_QUICK is described in the SMBus specs and can bee seen as a kind of 1-bit transfer. Yet, you should only issue it for devices which require exactly this kind of transfer. Which is true for most I2C transaction types.
Attachment:
signature.asc
Description: Digital signature