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

From: Andy Shevchenko
Date: Mon Mar 01 2021 - 07:12:11 EST


On Mon, Mar 01, 2021 at 02:41:35PM +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.
>
> The device specification can be found on
> https://lists.oasis-open.org/archives/virtio-comment/202101/msg00008.html.
>
> By following the specification, people may implement different
> backend drivers to emulate different controllers according to
> their needs.

...

> + buf = kzalloc(msgs[i].len, GFP_KERNEL);
> + if (!buf)
> + break;
> +
> + if (msgs[i].flags & I2C_M_RD) {

kzalloc()

> + reqs[i].read_buf = buf;
> + sg_init_one(&msg_buf, reqs[i].read_buf, msgs[i].len);
> + sgs[outcnt + incnt++] = &msg_buf;
> + } else {
> + reqs[i].write_buf = buf;

> + memcpy(reqs[i].write_buf, msgs[i].buf, msgs[i].len);

kmemdup() ?

> + sg_init_one(&msg_buf, reqs[i].write_buf, msgs[i].len);
> + sgs[outcnt++] = &msg_buf;
> + }

...

> +
> +

One blank line is enough.

...


> + ret = virtio_i2c_send_reqs(vq, reqs, msgs, num);
> + if (ret == 0)
> + goto err_unlock_free;

> + else

Redundant.

> + nr = ret;

--
With Best Regards,
Andy Shevchenko