Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

virtio: wrap find_vqs

We are going to add more parameters to find_vqs, let's wrap the call so
we don't need to tweak all drivers every time.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

+24 -23
+1 -2
drivers/block/virtio_blk.c
··· 455 455 } 456 456 457 457 /* Discover virtqueues and write information to configuration. */ 458 - err = vdev->config->find_vqs(vdev, num_vqs, vqs, callbacks, names, 459 - &desc); 458 + err = virtio_find_vqs(vdev, num_vqs, vqs, callbacks, names, &desc); 460 459 if (err) 461 460 goto out; 462 461
+3 -3
drivers/char/virtio_console.c
··· 1945 1945 } 1946 1946 } 1947 1947 /* Find the queues. */ 1948 - err = portdev->vdev->config->find_vqs(portdev->vdev, nr_queues, vqs, 1949 - io_callbacks, 1950 - (const char **)io_names, NULL); 1948 + err = virtio_find_vqs(portdev->vdev, nr_queues, vqs, 1949 + io_callbacks, 1950 + (const char **)io_names, NULL); 1951 1951 if (err) 1952 1952 goto free; 1953 1953
+1 -2
drivers/crypto/virtio/virtio_crypto_core.c
··· 119 119 names[i] = vi->data_vq[i].name; 120 120 } 121 121 122 - ret = vi->vdev->config->find_vqs(vi->vdev, total_vqs, vqs, callbacks, 123 - names, NULL); 122 + ret = virtio_find_vqs(vi->vdev, total_vqs, vqs, callbacks, names, NULL); 124 123 if (ret) 125 124 goto err_find; 126 125
+1 -2
drivers/gpu/drm/virtio/virtgpu_kms.c
··· 175 175 DRM_INFO("virgl 3d acceleration not supported by guest\n"); 176 176 #endif 177 177 178 - ret = vgdev->vdev->config->find_vqs(vgdev->vdev, 2, vqs, 179 - callbacks, names, NULL); 178 + ret = virtio_find_vqs(vgdev->vdev, 2, vqs, callbacks, names, NULL); 180 179 if (ret) { 181 180 DRM_ERROR("failed to find virt queues\n"); 182 181 goto err_vqs;
+1 -2
drivers/net/caif/caif_virtio.c
··· 679 679 goto err; 680 680 681 681 /* Get the TX virtio ring. This is a "guest side vring". */ 682 - err = vdev->config->find_vqs(vdev, 1, &cfv->vq_tx, &vq_cbs, &names, 683 - NULL); 682 + err = virtio_find_vqs(vdev, 1, &cfv->vq_tx, &vq_cbs, &names, NULL); 684 683 if (err) 685 684 goto err; 686 685
+1 -2
drivers/net/virtio_net.c
··· 2079 2079 names[txq2vq(i)] = vi->sq[i].name; 2080 2080 } 2081 2081 2082 - ret = vi->vdev->config->find_vqs(vi->vdev, total_vqs, vqs, callbacks, 2083 - names, NULL); 2082 + ret = virtio_find_vqs(vi->vdev, total_vqs, vqs, callbacks, names, NULL); 2084 2083 if (ret) 2085 2084 goto err_find; 2086 2085
+1 -1
drivers/rpmsg/virtio_rpmsg_bus.c
··· 869 869 init_waitqueue_head(&vrp->sendq); 870 870 871 871 /* We expect two virtqueues, rx and tx (and in this order) */ 872 - err = vdev->config->find_vqs(vdev, 2, vqs, vq_cbs, names, NULL); 872 + err = virtio_find_vqs(vdev, 2, vqs, vq_cbs, names, NULL); 873 873 if (err) 874 874 goto free_vrp; 875 875
+1 -2
drivers/scsi/virtio_scsi.c
··· 870 870 } 871 871 872 872 /* Discover virtqueues and write information to configuration. */ 873 - err = vdev->config->find_vqs(vdev, num_vqs, vqs, callbacks, names, 874 - &desc); 873 + err = virtio_find_vqs(vdev, num_vqs, vqs, callbacks, names, &desc); 875 874 if (err) 876 875 goto out; 877 876
+1 -2
drivers/virtio/virtio_balloon.c
··· 418 418 * optionally stat. 419 419 */ 420 420 nvqs = virtio_has_feature(vb->vdev, VIRTIO_BALLOON_F_STATS_VQ) ? 3 : 2; 421 - err = vb->vdev->config->find_vqs(vb->vdev, nvqs, vqs, callbacks, names, 422 - NULL); 421 + err = virtio_find_vqs(vb->vdev, nvqs, vqs, callbacks, names, NULL); 423 422 if (err) 424 423 return err; 425 424
+1 -2
drivers/virtio/virtio_input.c
··· 173 173 static const char * const names[] = { "events", "status" }; 174 174 int err; 175 175 176 - err = vi->vdev->config->find_vqs(vi->vdev, 2, vqs, cbs, names, 177 - NULL); 176 + err = virtio_find_vqs(vi->vdev, 2, vqs, cbs, names, NULL); 178 177 if (err) 179 178 return err; 180 179 vi->evt = vqs[0];
+9
include/linux/virtio_config.h
··· 179 179 return vq; 180 180 } 181 181 182 + static inline 183 + int virtio_find_vqs(struct virtio_device *vdev, unsigned nvqs, 184 + struct virtqueue *vqs[], vq_callback_t *callbacks[], 185 + const char * const names[], 186 + struct irq_affinity *desc) 187 + { 188 + return vdev->config->find_vqs(vdev, nvqs, vqs, callbacks, names, desc); 189 + } 190 + 182 191 /** 183 192 * virtio_device_ready - enable vq use in probe function 184 193 * @vdev: the device
+3 -3
net/vmw_vsock/virtio_transport.c
··· 573 573 574 574 vsock->vdev = vdev; 575 575 576 - ret = vsock->vdev->config->find_vqs(vsock->vdev, VSOCK_VQ_MAX, 577 - vsock->vqs, callbacks, names, 578 - NULL); 576 + ret = virtio_find_vqs(vsock->vdev, VSOCK_VQ_MAX, 577 + vsock->vqs, callbacks, names, 578 + NULL); 579 579 if (ret < 0) 580 580 goto out; 581 581