On 2021/10/21 17:47, Viresh Kumar wrote:
The virtio specification received a new mandatory feature
(VIRTIO_I2C_F_ZERO_LENGTH_REQUEST) for zero length requests. Fail if the
feature isn't offered by the device.

For each read-request, set the VIRTIO_I2C_FLAGS_M_RD flag, as required
by the VIRTIO_I2C_F_ZERO_LENGTH_REQUEST feature.

This allows us to support zero length requests, like SMBUS Quick, where
the buffer need not be sent anymore.

Signed-off-by: Viresh Kumar <viresh.ku...@linaro.org>
---
Hi Wolfram,

Please do not apply this until the spec changes [1] are merged, sending it early
to get review done. I will ping you later once the spec is merged.

[1] https://lists.oasis-open.org/archives/virtio-dev/202110/msg00109.html

  drivers/i2c/busses/i2c-virtio.c | 56 ++++++++++++++++++---------------
  include/uapi/linux/virtio_i2c.h |  6 ++++
  2 files changed, 36 insertions(+), 26 deletions(-)


Acked-by: Jie Deng<jie.d...@intel.com>  once the spec is merged.


+ if (!virtio_has_feature(vdev, VIRTIO_I2C_F_ZERO_LENGTH_REQUEST)) {
+               dev_err(&vdev->dev, "Zero-length request feature is 
mandatory\n");
+               return -EINVAL;


It might be better to return -EOPNOTSUPP ?


_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to