Lines Matching refs:msgs
873 struct i2c_msg msgs[], int num)
890 if (i + 1 < num && msgs[i].addr == msgs[i + 1].addr &&
891 !(msgs[i].flags & I2C_M_RD) &&
892 (msgs[i + 1].flags & I2C_M_RD)) {
895 "bytes on %02x\n", msgs[i].len,
896 msgs[i + 1].len, msgs[i].addr);
899 buf[1] = msgs[i].len + 1;
900 buf[2] = msgs[i].addr << 1;
901 memcpy(&buf[3], msgs[i].buf, msgs[i].len);
902 buf_len = msgs[i].len + 3;
903 buf[buf_len++] = msgs[++i].len;
904 } else if (msgs[i].flags & I2C_M_RD) {
907 "bytes on %02x\n", msgs[i].len,
908 msgs[i].addr);
912 buf[2] = msgs[i].addr << 1;
913 buf[3] = msgs[i].len;
918 "bytes on %02x\n", msgs[i].len,
919 msgs[i].addr);
922 buf[1] = msgs[i].len + 1;
923 buf[2] = msgs[i].addr << 1;
924 memcpy(&buf[3], msgs[i].buf, msgs[i].len);
925 buf_len = msgs[i].len + 3;
931 if (msgs[i].flags & I2C_M_RD) {
934 msgs[i].len + 1, 1) < 0)
936 memcpy(msgs[i].buf, buf + 1, msgs[i].len);