Hi Jason, Thank you for the patch! Yet something to improve: [auto build test ERROR on vhost/linux-next] [also build test ERROR on linux/master linus/master v5.6-rc6 next-20200317] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Jason-Wang/vDPA-support/20200318-191435 base: https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git linux-next config: c6x-allyesconfig (attached as .config) compiler: c6x-elf-gcc (GCC) 9.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=9.2.0 make.cross ARCH=c6x If you fix the issue, kindly add following tag Reported-by: kbuild test robot <lkp@xxxxxxxxx> All error/warnings (new ones prefixed by >>): drivers/virtio/vdpa/ifcvf/ifcvf_main.c: In function 'ifcvf_probe': >> drivers/virtio/vdpa/ifcvf/ifcvf_main.c:409:30: error: implicit declaration of function 'pci_iomap_range'; did you mean 'pci_unmap_page'? [-Werror=implicit-function-declaration] 409 | vf->mem_resource[i].addr = pci_iomap_range(pdev, i, 0, | ^~~~~~~~~~~~~~~ | pci_unmap_page >> drivers/virtio/vdpa/ifcvf/ifcvf_main.c:409:28: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 409 | vf->mem_resource[i].addr = pci_iomap_range(pdev, i, 0, | ^ >> drivers/virtio/vdpa/ifcvf/ifcvf_main.c:443:2: error: implicit declaration of function 'pci_free_irq_vectors'; did you mean 'pci_alloc_irq_vectors'? [-Werror=implicit-function-declaration] 443 | pci_free_irq_vectors(pdev); | ^~~~~~~~~~~~~~~~~~~~ | pci_alloc_irq_vectors drivers/virtio/vdpa/ifcvf/ifcvf_main.c: At top level: >> drivers/virtio/vdpa/ifcvf/ifcvf_main.c:491:1: warning: data definition has no type or storage class 491 | module_pci_driver(ifcvf_driver); | ^~~~~~~~~~~~~~~~~ >> drivers/virtio/vdpa/ifcvf/ifcvf_main.c:491:1: error: type defaults to 'int' in declaration of 'module_pci_driver' [-Werror=implicit-int] >> drivers/virtio/vdpa/ifcvf/ifcvf_main.c:491:1: warning: parameter names (without types) in function declaration drivers/virtio/vdpa/ifcvf/ifcvf_main.c:484:26: warning: 'ifcvf_driver' defined but not used [-Wunused-variable] 484 | static struct pci_driver ifcvf_driver = { | ^~~~~~~~~~~~ cc1: some warnings being treated as errors -- drivers/virtio/vdpa/ifcvf/ifcvf_base.c: In function 'ifcvf_init_hw': >> drivers/virtio/vdpa/ifcvf/ifcvf_base.c:110:8: warning: 'pos' is used uninitialized in this function [-Wuninitialized] 110 | while (pos) { | ^ vim +409 drivers/virtio/vdpa/ifcvf/ifcvf_main.c 365 366 static int ifcvf_probe(struct pci_dev *pdev, const struct pci_device_id *id) 367 { 368 struct device *dev = &pdev->dev; 369 struct ifcvf_adapter *adapter; 370 struct ifcvf_hw *vf; 371 int ret, i; 372 373 adapter = kzalloc(sizeof(struct ifcvf_adapter), GFP_KERNEL); 374 if (adapter == NULL) { 375 ret = -ENOMEM; 376 goto fail; 377 } 378 379 adapter->dev = dev; 380 pci_set_drvdata(pdev, adapter); 381 ret = pci_enable_device(pdev); 382 if (ret) { 383 IFCVF_ERR(adapter->dev, "Failed to enable device\n"); 384 goto free_adapter; 385 } 386 387 ret = pci_request_regions(pdev, IFCVF_DRIVER_NAME); 388 if (ret) { 389 IFCVF_ERR(adapter->dev, "Failed to request MMIO region\n"); 390 goto disable_device; 391 } 392 393 pci_set_master(pdev); 394 ret = ifcvf_init_msix(adapter); 395 if (ret) { 396 IFCVF_ERR(adapter->dev, "Failed to initialize MSI-X\n"); 397 goto free_msix; 398 } 399 400 vf = &adapter->vf; 401 for (i = 0; i < IFCVF_PCI_MAX_RESOURCE; i++) { 402 vf->mem_resource[i].phys_addr = pci_resource_start(pdev, i); 403 vf->mem_resource[i].len = pci_resource_len(pdev, i); 404 if (!vf->mem_resource[i].len) { 405 vf->mem_resource[i].addr = NULL; 406 continue; 407 } 408 > 409 vf->mem_resource[i].addr = pci_iomap_range(pdev, i, 0, 410 vf->mem_resource[i].len); 411 if (!vf->mem_resource[i].addr) { 412 IFCVF_ERR(adapter->dev, 413 "Failed to map IO resource %d\n", i); 414 ret = -EINVAL; 415 goto free_msix; 416 } 417 } 418 419 if (ifcvf_init_hw(vf, pdev) < 0) { 420 ret = -EINVAL; 421 goto destroy_adapter; 422 } 423 424 ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); 425 if (ret) 426 ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); 427 428 if (ret) { 429 IFCVF_ERR(adapter->dev, "No usable DMA confiugration\n"); 430 ret = -EINVAL; 431 goto destroy_adapter; 432 } 433 434 ret = ifcvf_vdpa_attach(adapter); 435 if (ret) 436 goto destroy_adapter; 437 438 return 0; 439 440 destroy_adapter: 441 ifcvf_destroy_adapter(adapter); 442 free_msix: > 443 pci_free_irq_vectors(pdev); 444 pci_release_regions(pdev); 445 disable_device: 446 pci_disable_device(pdev); 447 free_adapter: 448 kfree(adapter); 449 fail: 450 return ret; 451 } 452 453 static void ifcvf_remove(struct pci_dev *pdev) 454 { 455 struct ifcvf_adapter *adapter = pci_get_drvdata(pdev); 456 struct ifcvf_hw *vf; 457 int i; 458 459 ifcvf_vdpa_detach(adapter); 460 vf = &adapter->vf; 461 for (i = 0; i < IFCVF_PCI_MAX_RESOURCE; i++) { 462 if (vf->mem_resource[i].addr) { 463 pci_iounmap(pdev, vf->mem_resource[i].addr); 464 vf->mem_resource[i].addr = NULL; 465 } 466 } 467 468 ifcvf_destroy_adapter(adapter); 469 pci_free_irq_vectors(pdev); 470 pci_release_regions(pdev); 471 pci_disable_device(pdev); 472 kfree(adapter); 473 } 474 475 static struct pci_device_id ifcvf_pci_ids[] = { 476 { PCI_DEVICE_SUB(IFCVF_VENDOR_ID, 477 IFCVF_DEVICE_ID, 478 IFCVF_SUBSYS_VENDOR_ID, 479 IFCVF_SUBSYS_DEVICE_ID) }, 480 { 0 }, 481 }; 482 MODULE_DEVICE_TABLE(pci, ifcvf_pci_ids); 483 484 static struct pci_driver ifcvf_driver = { 485 .name = IFCVF_DRIVER_NAME, 486 .id_table = ifcvf_pci_ids, 487 .probe = ifcvf_probe, 488 .remove = ifcvf_remove, 489 }; 490 > 491 module_pci_driver(ifcvf_driver); 492 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip
_______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization