Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 74d986ab authored by Alexander Duyck's avatar Alexander Duyck Committed by Bjorn Helgaas
Browse files

nvme-pci: Use pci_sriov_configure_simple() to enable VFs



Instead of implementing our own version of a SR-IOV configuration stub in
the nvme driver, use the existing pci_sriov_configure_simple() function.

Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
parent 115ddc49
Loading
Loading
Loading
Loading
+1 −19
Original line number Diff line number Diff line
@@ -2598,24 +2598,6 @@ static void nvme_remove(struct pci_dev *pdev)
	nvme_put_ctrl(&dev->ctrl);
}

static int nvme_pci_sriov_configure(struct pci_dev *pdev, int numvfs)
{
	int ret = 0;

	if (numvfs == 0) {
		if (pci_vfs_assigned(pdev)) {
			dev_warn(&pdev->dev,
				"Cannot disable SR-IOV VFs while assigned\n");
			return -EPERM;
		}
		pci_disable_sriov(pdev);
		return 0;
	}

	ret = pci_enable_sriov(pdev, numvfs);
	return ret ? ret : numvfs;
}

#ifdef CONFIG_PM_SLEEP
static int nvme_suspend(struct device *dev)
{
@@ -2734,7 +2716,7 @@ static struct pci_driver nvme_driver = {
	.driver		= {
		.pm	= &nvme_dev_pm_ops,
	},
	.sriov_configure = nvme_pci_sriov_configure,
	.sriov_configure = pci_sriov_configure_simple,
	.err_handler	= &nvme_err_handler,
};