Please check the scope. On linus/master, the result of this change looks like static int cci_pci_sriov_configure(struct pci_dev *pcidev, int num_vfs) { struct cci_drvdata *drvdata = pci_get_drvdata(pcidev); struct dfl_fpga_cdev *cdev = drvdata->cdev; if (!num_vfs) { /* * disable SRIOV and then put released ports back to default * PF access mode. */ pci_disable_sriov(pcidev); dfl_fpga_cdev_config_ports_pf(cdev); } else { int ret; <--- defined here /* * before enable SRIOV, put released ports into VF access mode * first of all. */ ret = dfl_fpga_cdev_config_ports_vf(cdev, num_vfs); if (ret) return ret; ret = pci_enable_sriov(pcidev, num_vfs); if (ret) dfl_fpga_cdev_config_ports_pf(cdev); } return ret; <---- not in scope, not defined here } Tom