Messages in this thread | | | Subject | Re: [PATCH] i2c: virtio: add a virtio i2c frontend driver | From | Jason Wang <> | Date | Fri, 4 Sep 2020 11:38:45 +0800 |
| |
On 2020/9/3 下午3:19, Jie Deng wrote: > > On 2020/9/3 14:12, Jason Wang wrote: >> >> On 2020/9/3 下午1:34, 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. >> >> >> May I know the reason why don't you use i2c or virtio directly? >> > We don't want to add virtio drivers for every I2C devices in the guests. > This bus driver is designed to provide a way to flexibly expose the > physical > I2C slave devices to the guest without adding or changing the drivers > of the > I2C slave devices in the guest OS.
Ok, if I understand this correctly, this is virtio transport of i2c message (similar to virtio-scsi).
> > >> >>> >>> The virtio device ID 34 is used for this I2C adpter since IDs >>> before 34 have been reserved by other virtio devices. >> >> >> Is there a link to the spec patch? >> >> Thanks >> > I haven't submitted the patch to reserve the ID in spec yet. > I write the ID here because I want to see your opinions first.
It would be helpful to send a spec draft for early review.
Thanks
> > Thanks > >
| |