Lines Matching refs:msgs
958 struct i2c_msg msgs[], int num) in go7007_usb_i2c_master_xfer() argument
975 if (i + 1 < num && msgs[i].addr == msgs[i + 1].addr && in go7007_usb_i2c_master_xfer()
976 !(msgs[i].flags & I2C_M_RD) && in go7007_usb_i2c_master_xfer()
977 (msgs[i + 1].flags & I2C_M_RD)) { in go7007_usb_i2c_master_xfer()
980 msgs[i].len, msgs[i + 1].len, msgs[i].addr); in go7007_usb_i2c_master_xfer()
983 buf[1] = msgs[i].len + 1; in go7007_usb_i2c_master_xfer()
984 buf[2] = msgs[i].addr << 1; in go7007_usb_i2c_master_xfer()
985 memcpy(&buf[3], msgs[i].buf, msgs[i].len); in go7007_usb_i2c_master_xfer()
986 buf_len = msgs[i].len + 3; in go7007_usb_i2c_master_xfer()
987 buf[buf_len++] = msgs[++i].len; in go7007_usb_i2c_master_xfer()
988 } else if (msgs[i].flags & I2C_M_RD) { in go7007_usb_i2c_master_xfer()
991 msgs[i].len, msgs[i].addr); in go7007_usb_i2c_master_xfer()
995 buf[2] = msgs[i].addr << 1; in go7007_usb_i2c_master_xfer()
996 buf[3] = msgs[i].len; in go7007_usb_i2c_master_xfer()
1001 msgs[i].len, msgs[i].addr); in go7007_usb_i2c_master_xfer()
1004 buf[1] = msgs[i].len + 1; in go7007_usb_i2c_master_xfer()
1005 buf[2] = msgs[i].addr << 1; in go7007_usb_i2c_master_xfer()
1006 memcpy(&buf[3], msgs[i].buf, msgs[i].len); in go7007_usb_i2c_master_xfer()
1007 buf_len = msgs[i].len + 3; in go7007_usb_i2c_master_xfer()
1013 if (msgs[i].flags & I2C_M_RD) { in go7007_usb_i2c_master_xfer()
1014 memset(buf, 0, msgs[i].len + 1); in go7007_usb_i2c_master_xfer()
1016 msgs[i].len + 1, 1) < 0) in go7007_usb_i2c_master_xfer()
1018 memcpy(msgs[i].buf, buf + 1, msgs[i].len); in go7007_usb_i2c_master_xfer()