Commit 576f08f7 authored by Darek Stojaczyk's avatar Darek Stojaczyk Committed by Ben Walker
Browse files

pci: remove nvme-specific attach functions



As a part of cleanup they're replaced by a device-agnostic
attach API, which is easier for us to manage.

Change-Id: I7558590e41e5c580a130a6aba7ae4f7dcff58da8
Signed-off-by: default avatarDarek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/436478


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
parent 7b00091a
Loading
Loading
Loading
Loading
+0 −16
Original line number Diff line number Diff line
@@ -646,14 +646,6 @@ struct spdk_pci_driver *spdk_pci_nvme_get_driver(void);
 */
int spdk_pci_enumerate(struct spdk_pci_driver *driver, spdk_pci_enum_cb enum_cb, void *enum_ctx);

/**
 * Enumerate all NVMe devices on the PCI bus and try to attach those that
 * weren't attached yet.
 *
 * \see spdk_pci_enumerate
 */
int spdk_pci_nvme_enumerate(spdk_pci_enum_cb enum_cb, void *enum_ctx);

/**
 * Enumerate all I/OAT devices on the PCI bus and try to attach those that
 * weren't attached yet.
@@ -855,14 +847,6 @@ void spdk_pci_device_detach(struct spdk_pci_device *device);
int spdk_pci_device_attach(struct spdk_pci_driver *driver, spdk_pci_enum_cb enum_cb,
			   void *enum_ctx, struct spdk_pci_addr *pci_address);

/**
 * Attach a PCI NVMe device.
 *
 * \see spdk_pci_device_attach
 */
int spdk_pci_nvme_device_attach(spdk_pci_enum_cb enum_cb, void *enum_ctx,
				struct spdk_pci_addr *pci_address);

/**
 * Attach a PCI I/OAT device.
 *
+0 −13
Original line number Diff line number Diff line
@@ -64,19 +64,6 @@ static struct spdk_pci_driver g_nvme_pci_drv = {
	.is_registered = false,
};

int
spdk_pci_nvme_device_attach(spdk_pci_enum_cb enum_cb,
			    void *enum_ctx, struct spdk_pci_addr *pci_address)
{
	return spdk_pci_device_attach(&g_nvme_pci_drv, enum_cb, enum_ctx, pci_address);
}

int
spdk_pci_nvme_enumerate(spdk_pci_enum_cb enum_cb, void *enum_ctx)
{
	return spdk_pci_enumerate(&g_nvme_pci_drv, enum_cb, enum_ctx);
}

struct spdk_pci_driver *
spdk_pci_nvme_get_driver(void)
{
+5 −3
Original line number Diff line number Diff line
@@ -752,9 +752,11 @@ nvme_pcie_ctrlr_scan(const struct spdk_nvme_transport_id *trid,
	}

	if (enum_ctx.has_pci_addr == false) {
		return spdk_pci_nvme_enumerate(pcie_nvme_enum_cb, &enum_ctx);
		return spdk_pci_enumerate(spdk_pci_nvme_get_driver(),
					  pcie_nvme_enum_cb, &enum_ctx);
	} else {
		return spdk_pci_nvme_device_attach(pcie_nvme_enum_cb, &enum_ctx, &enum_ctx.pci_addr);
		return spdk_pci_device_attach(spdk_pci_nvme_get_driver(),
					      pcie_nvme_enum_cb, &enum_ctx, &enum_ctx.pci_addr);
	}
}

@@ -768,7 +770,7 @@ nvme_pcie_ctrlr_attach(spdk_nvme_probe_cb probe_cb, void *cb_ctx, struct spdk_pc
	enum_ctx.has_pci_addr = true;
	enum_ctx.pci_addr = *pci_addr;

	return spdk_pci_nvme_enumerate(pcie_nvme_enum_cb, &enum_ctx);
	return spdk_pci_enumerate(spdk_pci_nvme_get_driver(), pcie_nvme_enum_cb, &enum_ctx);
}

struct spdk_nvme_ctrlr *nvme_pcie_ctrlr_construct(const struct spdk_nvme_transport_id *trid,
+1 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@

DEFINE_STUB(spdk_process_is_primary, bool, (void), true)
DEFINE_STUB(spdk_memzone_lookup, void *, (const char *name), NULL)
DEFINE_STUB(spdk_pci_nvme_get_driver, struct spdk_pci_driver *, (void), NULL)

/*
 * These mocks don't use the DEFINE_STUB macros because
+1 −1
Original line number Diff line number Diff line
@@ -49,7 +49,7 @@ static struct nvme_driver _g_nvme_driver = {
static struct nvme_request *g_request = NULL;

int
spdk_pci_nvme_enumerate(spdk_pci_enum_cb enum_cb, void *enum_ctx)
spdk_pci_enumerate(struct spdk_pci_driver *driver, spdk_pci_enum_cb enum_cb, void *enum_ctx)
{
	return -1;
}
Loading