Lines Matching refs:msgs
244 unsigned nmsgs, struct i2c_msg *msgs) in i2cdev_ioctl_rdwr() argument
260 if (msgs[i].len > 8192) { in i2cdev_ioctl_rdwr()
265 data_ptrs[i] = (u8 __user *)msgs[i].buf; in i2cdev_ioctl_rdwr()
266 msgs[i].buf = memdup_user(data_ptrs[i], msgs[i].len); in i2cdev_ioctl_rdwr()
267 if (IS_ERR(msgs[i].buf)) { in i2cdev_ioctl_rdwr()
268 res = PTR_ERR(msgs[i].buf); in i2cdev_ioctl_rdwr()
272 msgs[i].flags |= I2C_M_DMA_SAFE; in i2cdev_ioctl_rdwr()
285 if (msgs[i].flags & I2C_M_RECV_LEN) { in i2cdev_ioctl_rdwr()
286 if (!(msgs[i].flags & I2C_M_RD) || in i2cdev_ioctl_rdwr()
287 msgs[i].len < 1 || msgs[i].buf[0] < 1 || in i2cdev_ioctl_rdwr()
288 msgs[i].len < msgs[i].buf[0] + in i2cdev_ioctl_rdwr()
295 msgs[i].len = msgs[i].buf[0]; in i2cdev_ioctl_rdwr()
301 kfree(msgs[j].buf); in i2cdev_ioctl_rdwr()
306 res = i2c_transfer(client->adapter, msgs, nmsgs); in i2cdev_ioctl_rdwr()
308 if (res >= 0 && (msgs[i].flags & I2C_M_RD)) { in i2cdev_ioctl_rdwr()
309 if (copy_to_user(data_ptrs[i], msgs[i].buf, in i2cdev_ioctl_rdwr()
310 msgs[i].len)) in i2cdev_ioctl_rdwr()
313 kfree(msgs[i].buf); in i2cdev_ioctl_rdwr()
452 if (!rdwr_arg.msgs || rdwr_arg.nmsgs == 0) in i2cdev_ioctl()
462 rdwr_pa = memdup_array_user(rdwr_arg.msgs, in i2cdev_ioctl()
526 compat_caddr_t msgs; /* struct i2c_msg __user *msgs */ member
549 if (!rdwr_arg.msgs || rdwr_arg.nmsgs == 0) in compat_i2cdev_ioctl()
560 p = compat_ptr(rdwr_arg.msgs); in compat_i2cdev_ioctl()