[vhost:linux-next 13/26] drivers//virtio/virtio_pci_common.c:186:7: error: too few arguments to function 'vp_dev->setup_vq'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git linux-next
head:   4293ed1476ec42e45e54f812341058d812d820a5
commit: d5edad95c2f89cced19a23713f752442b620f0e1 [13/26] virtio: add context flag to find vqs
config: x86_64-randconfig-x012-201714 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        git checkout d5edad95c2f89cced19a23713f752442b620f0e1
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   drivers//virtio/virtio_pci_common.c: In function 'vp_setup_vq':
>> drivers//virtio/virtio_pci_common.c:186:7: error: too few arguments to function 'vp_dev->setup_vq'
     vq = vp_dev->setup_vq(vp_dev, info, index, callback, name,
          ^~~~~~
   drivers//virtio/virtio_pci_common.c: In function 'vp_find_vqs_msix':
>> drivers//virtio/virtio_pci_common.c:318:12: error: too many arguments to function 'vp_setup_vq'
      vqs[i] = vp_setup_vq(vdev, i, callbacks[i], names[i],
               ^~~~~~~~~~~
   drivers//virtio/virtio_pci_common.c:172:26: note: declared here
    static struct virtqueue *vp_setup_vq(struct virtio_device *vdev, unsigned index,
                             ^~~~~~~~~~~
   drivers//virtio/virtio_pci_common.c: In function 'vp_find_vqs_intx':
   drivers//virtio/virtio_pci_common.c:371:12: error: too many arguments to function 'vp_setup_vq'
      vqs[i] = vp_setup_vq(vdev, i, callbacks[i], names[i],
               ^~~~~~~~~~~
   drivers//virtio/virtio_pci_common.c:172:26: note: declared here
    static struct virtqueue *vp_setup_vq(struct virtio_device *vdev, unsigned index,
                             ^~~~~~~~~~~

vim +186 drivers//virtio/virtio_pci_common.c

f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  180  	unsigned long flags;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  181  
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  182  	/* fill out our structure that represents an active queue */
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  183  	if (!info)
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  184  		return ERR_PTR(-ENOMEM);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  185  
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 @186  	vq = vp_dev->setup_vq(vp_dev, info, index, callback, name,
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  187  			      msix_vec);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  188  	if (IS_ERR(vq))
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  189  		goto out_info;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  190  
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  191  	info->vq = vq;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  192  	if (callback) {
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  193  		spin_lock_irqsave(&vp_dev->lock, flags);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  194  		list_add(&info->node, &vp_dev->virtqueues);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  195  		spin_unlock_irqrestore(&vp_dev->lock, flags);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  196  	} else {
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  197  		INIT_LIST_HEAD(&info->node);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  198  	}
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  199  
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  200  	vp_dev->vqs[index] = info;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  201  	return vq;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  202  
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  203  out_info:
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  204  	kfree(info);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  205  	return vq;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  206  }
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  207  
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  208  static void vp_del_vq(struct virtqueue *vq)
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  209  {
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  210  	struct virtio_pci_device *vp_dev = to_vp_device(vq->vdev);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  211  	struct virtio_pci_vq_info *info = vp_dev->vqs[vq->index];
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  212  	unsigned long flags;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  213  
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  214  	spin_lock_irqsave(&vp_dev->lock, flags);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  215  	list_del(&info->node);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  216  	spin_unlock_irqrestore(&vp_dev->lock, flags);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  217  
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  218  	vp_dev->del_vq(info);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  219  	kfree(info);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  220  }
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  221  
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  222  /* the config->del_vqs() implementation */
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  223  void vp_del_vqs(struct virtio_device *vdev)
d2a7ddda9 drivers/virtio/virtio_pci.c        Michael S. Tsirkin 2009-06-12  224  {
e969fed54 drivers/virtio/virtio_pci.c        Michael S. Tsirkin 2009-07-26  225  	struct virtio_pci_device *vp_dev = to_vp_device(vdev);
d2a7ddda9 drivers/virtio/virtio_pci.c        Michael S. Tsirkin 2009-06-12  226  	struct virtqueue *vq, *n;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  227  	int i;
d2a7ddda9 drivers/virtio/virtio_pci.c        Michael S. Tsirkin 2009-06-12  228  
e969fed54 drivers/virtio/virtio_pci.c        Michael S. Tsirkin 2009-07-26  229  	list_for_each_entry_safe(vq, n, &vdev->vqs, list) {
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  230  		if (vp_dev->per_vq_vectors) {
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  231  			int v = vp_dev->vqs[vq->index]->msix_vector;
fa3a32793 drivers/virtio/virtio_pci_common.c Christoph Hellwig  2016-11-17  232  
e1c287efc drivers/virtio/virtio_pci_common.c Marc Zyngier       2017-03-08  233  			if (v != VIRTIO_MSI_NO_VECTOR) {
e1c287efc drivers/virtio/virtio_pci_common.c Marc Zyngier       2017-03-08  234  				int irq = pci_irq_vector(vp_dev->pci_dev, v);
e1c287efc drivers/virtio/virtio_pci_common.c Marc Zyngier       2017-03-08  235  
e1c287efc drivers/virtio/virtio_pci_common.c Marc Zyngier       2017-03-08  236  				irq_set_affinity_hint(irq, NULL);
e1c287efc drivers/virtio/virtio_pci_common.c Marc Zyngier       2017-03-08  237  				free_irq(irq, vq);
e1c287efc drivers/virtio/virtio_pci_common.c Marc Zyngier       2017-03-08  238  			}
fa3a32793 drivers/virtio/virtio_pci_common.c Christoph Hellwig  2016-11-17  239  		}
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  240  		vp_del_vq(vq);
e969fed54 drivers/virtio/virtio_pci.c        Michael S. Tsirkin 2009-07-26  241  	}
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  242  	vp_dev->per_vq_vectors = false;
66f2f5554 drivers/virtio/virtio_pci_common.c Christoph Hellwig  2016-11-17  243  
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  244  	if (vp_dev->intx_enabled) {
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  245  		free_irq(vp_dev->pci_dev->irq, vp_dev);
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  246  		vp_dev->intx_enabled = 0;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  247  	}
07ec51480 drivers/virtio/virtio_pci_common.c Christoph Hellwig  2017-02-05  248  
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  249  	for (i = 0; i < vp_dev->msix_used_vectors; ++i)
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  250  		free_irq(pci_irq_vector(vp_dev->pci_dev, i), vp_dev);
07ec51480 drivers/virtio/virtio_pci_common.c Christoph Hellwig  2017-02-05  251  
66f2f5554 drivers/virtio/virtio_pci_common.c Christoph Hellwig  2016-11-17  252  	for (i = 0; i < vp_dev->msix_vectors; i++)
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  253  		if (vp_dev->msix_affinity_masks[i])
66f2f5554 drivers/virtio/virtio_pci_common.c Christoph Hellwig  2016-11-17  254  			free_cpumask_var(vp_dev->msix_affinity_masks[i]);
66f2f5554 drivers/virtio/virtio_pci_common.c Christoph Hellwig  2016-11-17  255  
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  256  	if (vp_dev->msix_enabled) {
66f2f5554 drivers/virtio/virtio_pci_common.c Christoph Hellwig  2016-11-17  257  		/* Disable the vector used for configuration */
66f2f5554 drivers/virtio/virtio_pci_common.c Christoph Hellwig  2016-11-17  258  		vp_dev->config_vector(vp_dev, VIRTIO_MSI_NO_VECTOR);
66f2f5554 drivers/virtio/virtio_pci_common.c Christoph Hellwig  2016-11-17  259  
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  260  		pci_free_irq_vectors(vp_dev->pci_dev);
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  261  		vp_dev->msix_enabled = 0;
07ec51480 drivers/virtio/virtio_pci_common.c Christoph Hellwig  2017-02-05  262  	}
07ec51480 drivers/virtio/virtio_pci_common.c Christoph Hellwig  2017-02-05  263  
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  264  	vp_dev->msix_vectors = 0;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  265  	vp_dev->msix_used_vectors = 0;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  266  	kfree(vp_dev->msix_names);
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  267  	vp_dev->msix_names = NULL;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  268  	kfree(vp_dev->msix_affinity_masks);
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  269  	vp_dev->msix_affinity_masks = NULL;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  270  	kfree(vp_dev->vqs);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  271  	vp_dev->vqs = NULL;
d2a7ddda9 drivers/virtio/virtio_pci.c        Michael S. Tsirkin 2009-06-12  272  }
d2a7ddda9 drivers/virtio/virtio_pci.c        Michael S. Tsirkin 2009-06-12  273  
a3cbec697 drivers/virtio/virtio_pci_common.c Christoph Hellwig  2016-11-17  274  static int vp_find_vqs_msix(struct virtio_device *vdev, unsigned nvqs,
52a615161 drivers/virtio/virtio_pci_common.c Christoph Hellwig  2017-02-05  275  		struct virtqueue *vqs[], vq_callback_t *callbacks[],
8951d4035 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  276  		const char * const names[], bool per_vq_vectors,
d5edad95c drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-03-06  277  		const bool *ctx,
8951d4035 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  278  		struct irq_affinity *desc)
d2a7ddda9 drivers/virtio/virtio_pci.c        Michael S. Tsirkin 2009-06-12  279  {
e969fed54 drivers/virtio/virtio_pci.c        Michael S. Tsirkin 2009-07-26  280  	struct virtio_pci_device *vp_dev = to_vp_device(vdev);
f68d24082 drivers/virtio/virtio_pci.c        Rusty Russell      2009-09-23  281  	u16 msix_vec;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  282  	int i, err, nvectors, allocated_vectors;
f68d24082 drivers/virtio/virtio_pci.c        Rusty Russell      2009-09-23  283  
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  284  	vp_dev->vqs = kcalloc(nvqs, sizeof(*vp_dev->vqs), GFP_KERNEL);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  285  	if (!vp_dev->vqs)
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  286  		return -ENOMEM;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  287  
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  288  	if (per_vq_vectors) {
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  289  		/* Best option: one for change interrupt, one per vq. */
f68d24082 drivers/virtio/virtio_pci.c        Rusty Russell      2009-09-23  290  		nvectors = 1;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  291  		for (i = 0; i < nvqs; ++i)
f68d24082 drivers/virtio/virtio_pci.c        Rusty Russell      2009-09-23  292  			if (callbacks[i])
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  293  				++nvectors;
8951d4035 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  294  	} else {
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  295  		/* Second best: one for change, shared for all vqs. */
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  296  		nvectors = 2;
07ec51480 drivers/virtio/virtio_pci_common.c Christoph Hellwig  2017-02-05  297  	}
07ec51480 drivers/virtio/virtio_pci_common.c Christoph Hellwig  2017-02-05  298  
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  299  	err = vp_request_msix_vectors(vdev, nvectors, per_vq_vectors,
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  300  				      per_vq_vectors ? desc : NULL);
82af8ce84 drivers/virtio/virtio_pci.c        Michael S. Tsirkin 2009-05-14  301  	if (err)
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  302  		goto error_find;
d2a7ddda9 drivers/virtio/virtio_pci.c        Michael S. Tsirkin 2009-06-12  303  
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  304  	vp_dev->per_vq_vectors = per_vq_vectors;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  305  	allocated_vectors = vp_dev->msix_used_vectors;
d2a7ddda9 drivers/virtio/virtio_pci.c        Michael S. Tsirkin 2009-06-12  306  	for (i = 0; i < nvqs; ++i) {
6457f126c drivers/virtio/virtio_pci.c        Michael S. Tsirkin 2012-09-05  307  		if (!names[i]) {
6457f126c drivers/virtio/virtio_pci.c        Michael S. Tsirkin 2012-09-05  308  			vqs[i] = NULL;
6457f126c drivers/virtio/virtio_pci.c        Michael S. Tsirkin 2012-09-05  309  			continue;
a3cbec697 drivers/virtio/virtio_pci_common.c Christoph Hellwig  2016-11-17  310  		}
a3cbec697 drivers/virtio/virtio_pci_common.c Christoph Hellwig  2016-11-17  311  
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  312  		if (!callbacks[i])
07ec51480 drivers/virtio/virtio_pci_common.c Christoph Hellwig  2017-02-05  313  			msix_vec = VIRTIO_MSI_NO_VECTOR;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  314  		else if (vp_dev->per_vq_vectors)
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  315  			msix_vec = allocated_vectors++;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  316  		else
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04  317  			msix_vec = VP_MSIX_VQ_VECTOR;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 @318  		vqs[i] = vp_setup_vq(vdev, i, callbacks[i], names[i],
d5edad95c drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-03-06  319  				     ctx ? ctx[i] : false,
5c34d002d drivers/virtio/virtio_pci_common.c Christoph Hellwig  2017-02-05  320  				     msix_vec);
e969fed54 drivers/virtio/virtio_pci.c        Michael S. Tsirkin 2009-07-26  321  		if (IS_ERR(vqs[i])) {

:::::: The code at line 186 was first introduced by commit
:::::: f6813487d78d2833973704024e2f4767ce4570d6 Revert "virtio_pci: remove struct virtio_pci_vq_info"

:::::: TO: Michael S. Tsirkin <mst@xxxxxxxxxx>
:::::: CC: Michael S. Tsirkin <mst@xxxxxxxxxx>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux