OSDN Git Service

i2c: virtio: Add support for zero-length requests
authorViresh Kumar <viresh.kumar@linaro.org>
Thu, 21 Oct 2021 09:47:49 +0000 (15:17 +0530)
committerMichael S. Tsirkin <mst@redhat.com>
Mon, 1 Nov 2021 09:26:48 +0000 (05:26 -0400)
commitdcce162559ee1ce5f64992c4c65197f9270e3d4f
treea6130ea2ab1b5b628b4fd77d276b894a39cf295f
parentf1aa12f53529ccd67722241792f39248bc89d353
i2c: virtio: Add support for zero-length requests

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.kumar@linaro.org>
Link: https://lore.kernel.org/r/7c58868cd26d2fc4bd82d0d8b0dfb55636380110.1634808714.git.viresh.kumar@linaro.org
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Jie Deng <jie.deng@intel.com> # once the spec is merged
drivers/i2c/busses/i2c-virtio.c
include/uapi/linux/virtio_i2c.h