Re: [PATCH v4] i2c: virtio: add a virtio i2c frontend driver

From: Jie Deng
Date: Wed Nov 25 2020 - 21:00:40 EST


On 2020/11/25 17:35, Michael S. Tsirkin wrote:

On Mon, Oct 12, 2020 at 09:55:55AM +0800, Jie Deng wrote:
Add an I2C bus driver for virtio para-virtualization.

The controller can be emulated by the backend driver in
any device model software by following the virtio protocol.

This driver communicates with the backend driver through a
virtio I2C message structure which includes following parts:

- Header: i2c_msg addr, flags, len.
- Data buffer: the pointer to the I2C msg data.
- Status: the processing result from the backend.

People may implement different backend drivers to emulate
different controllers according to their needs. A backend
example can be found in the device model of the open source
project ACRN. For more information, please refer to
https://projectacrn.org.

The virtio device ID 34 is used for this I2C adpter since IDs
before 34 have been reserved by other virtio devices.

Co-developed-by: Conghui Chen <conghui.chen@xxxxxxxxx>
Signed-off-by: Conghui Chen <conghui.chen@xxxxxxxxx>
Signed-off-by: Jie Deng <jie.deng@xxxxxxxxx>
Reviewed-by: Shuo Liu <shuo.a.liu@xxxxxxxxx>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
I assume this will be updated once the specification is acked
by the virtio tc. Holding off on this one for now since
we know there will be host/guest ABI changes.

Yeah. I will update this driver once the specification is acked by the virtio tc.

Thanks.