Lines Matching refs:msg
138 struct i2c_msg *msg) in versatile_i2c_send_slave_addr() argument
143 if (msg->flags & I2C_M_TEN) { in versatile_i2c_send_slave_addr()
145 addr = 0xf0 | ((msg->addr >> 7) & 0x06); in versatile_i2c_send_slave_addr()
153 ret = versatile_i2c_write_byte(priv, msg->addr & 0xff); in versatile_i2c_send_slave_addr()
159 if (msg->flags & I2C_M_RD) { in versatile_i2c_send_slave_addr()
170 addr = msg->addr << 1; in versatile_i2c_send_slave_addr()
171 if (msg->flags & I2C_M_RD) in versatile_i2c_send_slave_addr()
184 struct i2c_msg *msg) in versatile_i2c_message_xfer() argument
190 if (versatile_i2c_send_slave_addr(priv, msg)) in versatile_i2c_message_xfer()
193 for (i = 0; i < msg->len; i++) { in versatile_i2c_message_xfer()
194 if (msg->flags & I2C_M_RD) { in versatile_i2c_message_xfer()
195 ack = (msg->len - i - 1) == 0 ? 1 : 0; in versatile_i2c_message_xfer()
196 ret = versatile_i2c_read_byte(priv, &msg->buf[i], ack); in versatile_i2c_message_xfer()
198 ret = versatile_i2c_write_byte(priv, msg->buf[i]); in versatile_i2c_message_xfer()
211 struct i2c_msg *msg, int nmsgs) in versatile_i2c_xfer() argument
216 for ( ; nmsgs > 0; nmsgs--, msg++) { in versatile_i2c_xfer()
217 ret = versatile_i2c_message_xfer(priv, msg); in versatile_i2c_xfer()
229 struct i2c_msg msg = { .addr = chip, .flags = chip_flags, in versatile_i2c_chip_probe() local
233 return versatile_i2c_message_xfer(priv, &msg); in versatile_i2c_chip_probe()