Hi,
Any write operation? I wonder then why nobody noticed before?
The standard I2C communication should look like this:
Read:
device_addr + w, reg_addr, device_addr + r, data;
Write:
device_addr + w, reg_addr, data;
But without this patch, it looks like this:
Read:
device_addr + w, reg_addr, device_addr + r, data;
Write:
device_addr + w, reg_addr, device_addr + w, data;
This is clearly not correct.
Thanks for the additional information! I understand now. I added a bit of this to the commit message of v2 to explain the situation.