This pathset is splited from the http://lore.kernel.org/all/20240229072044.77388-1-xuanzhuo@xxxxxxxxxxxxxxxxx That may needs some cycles to discuss. But that notifies too many people. But just the four commits need to notify so many people. And four commits are independent. So I split that patch set, let us review these first. The patch set try to refactor the params of find_vqs(). Then we can just change the structure, when introducing new features. Thanks. v2: 1. add kerneldoc for "struct vq_transport_config" @ilpo.jarvinen v1: 1. fix some comments from ilpo.jarvinen@xxxxxxxxxxxxxxx Xuan Zhuo (4): virtio: find_vqs: pass struct instead of multi parameters virtio: vring_create_virtqueue: pass struct instead of multi parameters virtio: vring_new_virtqueue(): pass struct instead of multi parameters virtio_ring: simplify the parameters of the funcs related to vring_create/new_virtqueue() arch/um/drivers/virtio_uml.c | 31 ++-- drivers/platform/mellanox/mlxbf-tmfifo.c | 24 ++-- drivers/remoteproc/remoteproc_virtio.c | 31 ++-- drivers/s390/virtio/virtio_ccw.c | 33 ++--- drivers/virtio/virtio_mmio.c | 30 ++-- drivers/virtio/virtio_pci_common.c | 60 ++++---- drivers/virtio/virtio_pci_common.h | 9 +- drivers/virtio/virtio_pci_legacy.c | 16 ++- drivers/virtio/virtio_pci_modern.c | 38 +++-- drivers/virtio/virtio_ring.c | 173 ++++++++--------------- drivers/virtio/virtio_vdpa.c | 45 +++--- include/linux/virtio_config.h | 77 ++++++++-- include/linux/virtio_ring.h | 93 +++++++----- tools/virtio/virtio_test.c | 4 +- tools/virtio/vringh_test.c | 28 ++-- 15 files changed, 359 insertions(+), 333 deletions(-) -- 2.32.0.3.g01195cf9f