Re: [PATCH v1 2/3] virtio: vp_find_vqs accept channel setting params
From: kbuild test robot <hidden>
Date: 2015-10-26 18:13:56
Hi Ravi, [auto build test ERROR on char-misc/char-misc-next -- if it's inappropriate base, please suggest rules for selecting the more suitable base] url: https://github.com/0day-ci/linux/commits/Ravi-Kerur/virtio-net-Using-single-MSIX-IRQ-for-TX-RX-Q-pair/20151027-015503 config: x86_64-randconfig-x016-201543 (attached as .config) reproduce: # save the attached .config to linux build tree make ARCH=x86_64 Note: the linux-review/Ravi-Kerur/virtio-net-Using-single-MSIX-IRQ-for-TX-RX-Q-pair/20151027-015503 HEAD 69781953042f14dfe510f90e63b4366d729daf9e builds fine. It only hurts bisectibility. All error/warnings (new ones prefixed by >>):
quoted
drivers/misc/mic/card/mic_virtio.c:372:14: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
.find_vqs = mic_find_vqs,
^
drivers/misc/mic/card/mic_virtio.c:372:14: note: (near initialization for 'mic_vq_config_ops.find_vqs')
--
drivers/virtio/virtio_pci_modern.c: In function 'vp_modern_find_vqs':quoted
drivers/virtio/virtio_pci_modern.c:428:11: error: too many arguments to function 'vp_find_vqs'
int rc = vp_find_vqs(vdev, nvqs, vqs, callbacks, names,
^
In file included from drivers/virtio/virtio_pci_modern.c:21:0:
drivers/virtio/virtio_pci_common.h:139:5: note: declared here
int vp_find_vqs(struct virtio_device *vdev, unsigned nvqs,
^
drivers/virtio/virtio_pci_modern.c: At top level:quoted
drivers/virtio/virtio_pci_modern.c:474:14: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
.find_vqs = vp_modern_find_vqs,
^
drivers/virtio/virtio_pci_modern.c:474:14: note: (near initialization for 'virtio_pci_config_nodev_ops.find_vqs')
drivers/virtio/virtio_pci_modern.c:489:14: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
.find_vqs = vp_modern_find_vqs,
^
drivers/virtio/virtio_pci_modern.c:489:14: note: (near initialization for 'virtio_pci_config_ops.find_vqs')
vim +/vp_find_vqs +428 drivers/virtio/virtio_pci_modern.c
422 unsigned channels[],
423 const char *channel_names[],
424 unsigned nchannels)
425 {
426 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
427 struct virtqueue *vq;
> 428 int rc = vp_find_vqs(vdev, nvqs, vqs, callbacks, names,
429 NULL, NULL, 0);
430
431 if (rc)
432 return rc;
433
434 /* Select and activate all queues. Has to be done last: once we do
435 * this, there's no way to go back except reset.
436 */
437 list_for_each_entry(vq, &vdev->vqs, list) {
438 vp_iowrite16(vq->index, &vp_dev->common->queue_select);
439 vp_iowrite16(1, &vp_dev->common->queue_enable);
440 }
441
442 return 0;
443 }
444
445 static void del_vq(struct virtio_pci_vq_info *info)
446 {
447 struct virtqueue *vq = info->vq;
448 struct virtio_pci_device *vp_dev = to_vp_device(vq->vdev);
449
450 vp_iowrite16(vq->index, &vp_dev->common->queue_select);
451
452 if (vp_dev->msix_enabled) {
453 vp_iowrite16(VIRTIO_MSI_NO_VECTOR,
454 &vp_dev->common->queue_msix_vector);
455 /* Flush the write out to device */
456 vp_ioread16(&vp_dev->common->queue_msix_vector);
457 }
458
459 if (!vp_dev->notify_base)
460 pci_iounmap(vp_dev->pci_dev, (void __force __iomem *)vq->priv);
461
462 vring_del_virtqueue(vq);
463
464 free_pages_exact(info->queue, vring_pci_size(info->num));
465 }
466
467 static const struct virtio_config_ops virtio_pci_config_nodev_ops = {
468 .get = NULL,
469 .set = NULL,
470 .generation = vp_generation,
471 .get_status = vp_get_status,
472 .set_status = vp_set_status,
473 .reset = vp_reset,
> 474 .find_vqs = vp_modern_find_vqs,
475 .del_vqs = vp_del_vqs,
476 .get_features = vp_get_features,
477 .finalize_features = vp_finalize_features,
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation Attachments
- .config.gz [application/octet-stream] 22770 bytes