> And with i2cdetect -q busnum, I see error on driver side which enable > I2C_FUNC_SMBUS_EMUL and not disable I2C_FUNC_SMBUS_QUICK, I think > it means we don't support zero-length transfer if I understand correctly. At least, not currently. Sometimes the driver just needs updates, sometimes the HW simply cannot do it. If it is a software issue, we can fix it incrementally. > static u32 ljca_i2c_func(struct i2c_adapter *adap) > { > return I2C_FUNC_I2C | (I2C_FUNC_SMBUS_EMUL & ~I2C_FUNC_SMBUS_QUICK); > } Yes. > static const struct i2c_adapter_quirks ljca_i2c_quirks = { > .flags = I2C_AQ_NO_ZERO_LEN, > .max_read_len = LJCA_I2C_MAX_XFER_SIZE, > .max_write_len = LJCA_I2C_MAX_XFER_SIZE, > }; Yes. I think the I2C driver is good then.
Attachment:
signature.asc
Description: PGP signature