Lines Matching refs:msg
139 struct i2c_msg *msg) in versatile_i2c_send_slave_addr() argument
144 if (msg->flags & I2C_M_TEN) { in versatile_i2c_send_slave_addr()
146 addr = 0xf0 | ((msg->addr >> 7) & 0x06); in versatile_i2c_send_slave_addr()
154 ret = versatile_i2c_write_byte(priv, msg->addr & 0xff); in versatile_i2c_send_slave_addr()
160 if (msg->flags & I2C_M_RD) { in versatile_i2c_send_slave_addr()
171 addr = msg->addr << 1; in versatile_i2c_send_slave_addr()
172 if (msg->flags & I2C_M_RD) in versatile_i2c_send_slave_addr()
185 struct i2c_msg *msg) in versatile_i2c_message_xfer() argument
191 if (versatile_i2c_send_slave_addr(priv, msg)) in versatile_i2c_message_xfer()
194 for (i = 0; i < msg->len; i++) { in versatile_i2c_message_xfer()
195 if (msg->flags & I2C_M_RD) { in versatile_i2c_message_xfer()
196 ack = (msg->len - i - 1) == 0 ? 1 : 0; in versatile_i2c_message_xfer()
197 ret = versatile_i2c_read_byte(priv, &msg->buf[i], ack); in versatile_i2c_message_xfer()
199 ret = versatile_i2c_write_byte(priv, msg->buf[i]); in versatile_i2c_message_xfer()
212 struct i2c_msg *msg, int nmsgs) in versatile_i2c_xfer() argument
217 for ( ; nmsgs > 0; nmsgs--, msg++) { in versatile_i2c_xfer()
218 ret = versatile_i2c_message_xfer(priv, msg); in versatile_i2c_xfer()
230 struct i2c_msg msg = { .addr = chip, .flags = chip_flags, in versatile_i2c_chip_probe() local
234 return versatile_i2c_message_xfer(priv, &msg); in versatile_i2c_chip_probe()