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