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: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/436478
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
Darek Stojaczyk 2018-12-07 11:28:47 +01:00 committed by Ben Walker
parent 7b00091ac6
commit 576f08f732
6 changed files with 10 additions and 36 deletions

View File

@ -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.
*

View File

@ -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)
{

View File

@ -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,

View File

@ -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

View File

@ -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;
}

View File

@ -122,14 +122,14 @@ nvme_qpair_deinit(struct spdk_nvme_qpair *qpair)
}
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)
{
abort();
}
int
spdk_pci_nvme_device_attach(spdk_pci_enum_cb enum_cb, void *enum_ctx,
struct spdk_pci_addr *pci_address)
spdk_pci_device_attach(struct spdk_pci_driver *driver, spdk_pci_enum_cb enum_cb, void *enum_ctx,
struct spdk_pci_addr *pci_address)
{
abort();
}