Lines Matching refs:msg

158 static int dib0700_i2c_xfer_new(struct i2c_adapter *adap, struct i2c_msg *msg,  in dib0700_i2c_xfer_new()  argument
181 } else if (!(msg[i].flags & I2C_M_NOSTART)) { in dib0700_i2c_xfer_new()
194 if (msg[i].flags & I2C_M_RD) { in dib0700_i2c_xfer_new()
199 i2c_dest = (msg[i].addr << 1); in dib0700_i2c_xfer_new()
201 (msg[i].len & 0x3F)) << 8 | i2c_dest; in dib0700_i2c_xfer_new()
211 msg[i].len, in dib0700_i2c_xfer_new()
218 if (msg[i].len > sizeof(st->buf)) { in dib0700_i2c_xfer_new()
220 msg[i].len); in dib0700_i2c_xfer_new()
225 memcpy(msg[i].buf, st->buf, msg[i].len); in dib0700_i2c_xfer_new()
228 debug_dump(msg[i].buf, msg[i].len, deb_data); in dib0700_i2c_xfer_new()
238 st->buf[1] = msg[i].addr << 1; in dib0700_i2c_xfer_new()
240 (msg[i].len & 0x3F); in dib0700_i2c_xfer_new()
245 if (msg[i].len > sizeof(st->buf) - 4) { in dib0700_i2c_xfer_new()
247 msg[i].len); in dib0700_i2c_xfer_new()
254 memcpy(&st->buf[4], msg[i].buf, msg[i].len); in dib0700_i2c_xfer_new()
257 debug_dump(st->buf, msg[i].len + 4, deb_data); in dib0700_i2c_xfer_new()
263 0, 0, st->buf, msg[i].len + 4, in dib0700_i2c_xfer_new()
283 struct i2c_msg *msg, int num) in dib0700_i2c_xfer_legacy() argument
299 st->buf[1] = msg[i].addr << 1; in dib0700_i2c_xfer_legacy()
301 if (msg[i].len > sizeof(st->buf) - 2) { in dib0700_i2c_xfer_legacy()
303 msg[i].len); in dib0700_i2c_xfer_legacy()
307 memcpy(&st->buf[2], msg[i].buf, msg[i].len); in dib0700_i2c_xfer_legacy()
310 if (i+1 < num && (msg[i+1].flags & I2C_M_RD)) { in dib0700_i2c_xfer_legacy()
315 len = dib0700_ctrl_rd(d, st->buf, msg[i].len + 2, in dib0700_i2c_xfer_legacy()
316 st->buf, msg[i + 1].len); in dib0700_i2c_xfer_legacy()
319 msg[i].addr); in dib0700_i2c_xfer_legacy()
324 if (msg[i + 1].len > sizeof(st->buf)) { in dib0700_i2c_xfer_legacy()
326 msg[i].len); in dib0700_i2c_xfer_legacy()
330 memcpy(msg[i + 1].buf, st->buf, msg[i + 1].len); in dib0700_i2c_xfer_legacy()
332 msg[i+1].len = len; in dib0700_i2c_xfer_legacy()
337 result = dib0700_ctrl_wr(d, st->buf, msg[i].len + 2); in dib0700_i2c_xfer_legacy()
350 static int dib0700_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg *msg, in dib0700_i2c_xfer() argument
358 return dib0700_i2c_xfer_new(adap, msg, num); in dib0700_i2c_xfer()
361 return dib0700_i2c_xfer_legacy(adap, msg, num); in dib0700_i2c_xfer()