Lines Matching defs:msgs
479 static int axxia_i2c_xfer_seq(struct axxia_i2c_dev *idev, struct i2c_msg msgs[])
482 u32 rlen = i2c_m_recv_len(&msgs[1]) ? I2C_SMBUS_BLOCK_MAX : msgs[1].len;
485 axxia_i2c_set_addr(idev, &msgs[0]);
487 writel(msgs[0].len, idev->base + MST_TX_XFER);
490 idev->msg = &msgs[0];
491 idev->msg_r = &msgs[1];
600 /* This function checks if the msgs[] array contains messages compatible with
605 static bool axxia_i2c_sequence_ok(struct i2c_msg msgs[], int num)
607 return num == SEQ_LEN && !i2c_m_rd(&msgs[0]) && i2c_m_rd(&msgs[1]) &&
608 msgs[0].len > 0 && msgs[0].len <= FIFO_SIZE &&
609 msgs[1].len > 0 && msgs[0].addr == msgs[1].addr;
613 axxia_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
621 if (axxia_i2c_sequence_ok(msgs, num)) {
622 ret = axxia_i2c_xfer_seq(idev, msgs);
629 ret = axxia_i2c_xfer_msg(idev, &msgs[i], i == (num - 1));