Andy Shevchenko
2021-Mar-01 12:09 UTC
[PATCH v5] i2c: virtio: add a virtio i2c frontend driver
On Mon, Mar 01, 2021 at 05:24:41PM +0530, Viresh Kumar wrote:> On 01-03-21, 14:41, Jie Deng wrote: > > +/** > > + * struct virtio_i2c_req - the virtio I2C request structure > > + * @out_hdr: the OUT header of the virtio I2C message > > + * @write_buf: contains one I2C segment being written to the device > > + * @read_buf: contains one I2C segment being read from the device > > + * @in_hdr: the IN header of the virtio I2C message > > + */ > > +struct virtio_i2c_req { > > + struct virtio_i2c_out_hdr out_hdr; > > + u8 *write_buf; > > + u8 *read_buf; > > + struct virtio_i2c_in_hdr in_hdr; > > +}; > > I am not able to appreciate the use of write/read bufs here as we > aren't trying to read/write data in the same transaction. Why do we > have two bufs here as well as in specs ?I?C and SMBus support bidirectional transfers as well. I think two buffers is the right thing to do. -- With Best Regards, Andy Shevchenko
Andy Shevchenko
2021-Mar-01 12:10 UTC
[PATCH v5] i2c: virtio: add a virtio i2c frontend driver
On Mon, Mar 01, 2021 at 02:09:25PM +0200, Andy Shevchenko wrote:> On Mon, Mar 01, 2021 at 05:24:41PM +0530, Viresh Kumar wrote: > > On 01-03-21, 14:41, Jie Deng wrote: > > > +/** > > > + * struct virtio_i2c_req - the virtio I2C request structure > > > + * @out_hdr: the OUT header of the virtio I2C message > > > + * @write_buf: contains one I2C segment being written to the device > > > + * @read_buf: contains one I2C segment being read from the device > > > + * @in_hdr: the IN header of the virtio I2C message > > > + */ > > > +struct virtio_i2c_req { > > > + struct virtio_i2c_out_hdr out_hdr; > > > + u8 *write_buf; > > > + u8 *read_buf; > > > + struct virtio_i2c_in_hdr in_hdr; > > > +}; > > > > I am not able to appreciate the use of write/read bufs here as we > > aren't trying to read/write data in the same transaction. Why do we > > have two bufs here as well as in specs ? > > I?C and SMBus support bidirectional transfers as well. I think two buffers is > the right thing to do.Strictly speaking "half duplex". -- With Best Regards, Andy Shevchenko