Lines Matching defs:msgs
965 * rk3x_i2c_setup - Setup I2C registers for an I2C operation specified by msgs, num.
967 * @msgs: I2C msgs to process
968 * @num: Number of msgs
972 * Return: Number of I2C msgs processed or negative in case of error
974 static int rk3x_i2c_setup(struct rk3x_i2c *i2c, struct i2c_msg *msgs, int num)
976 u32 addr = (msgs[0].addr & 0x7f) << 1;
986 if (num >= 2 && msgs[0].len < 4 &&
987 !(msgs[0].flags & I2C_M_RD) && (msgs[1].flags & I2C_M_RD)) {
995 for (i = 0; i < msgs[0].len; ++i) {
996 reg_addr |= msgs[0].buf[i] << (i * 8);
1000 /* msgs[0] is handled by hw. */
1001 i2c->msg = &msgs[1];
1011 * We'll have to do it the boring way and process the msgs
1015 if (msgs[0].flags & I2C_M_RD) {
1030 i2c->msg = &msgs[0];
1035 i2c->addr = msgs[0].addr;
1060 struct i2c_msg *msgs, int num, bool polling)
1076 * Process msgs. We can handle more than one message at once (see
1080 ret = rk3x_i2c_setup(i2c, msgs + i, num - i);
1139 struct i2c_msg *msgs, int num)
1141 return rk3x_i2c_xfer_common(adap, msgs, num, false);
1145 struct i2c_msg *msgs, int num)
1147 return rk3x_i2c_xfer_common(adap, msgs, num, true);