env_dpdk: move NVMe PCI driver definition to the nvme lib
Now that drivers can be registered from upper layers there's no need to keep them centralized inside env. (check_format.sh complains that spdk_pci_nvme_get_driver() shouldn't start with the spdk_ prefix - to workaround that we move the function declaration from one place in env.h to another - that's enough to convince check_format it really is a public function) Change-Id: If86aebd6c997349569c71430ec815b413eb44ef8 Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3187 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Jacek Kalwas <jacek.kalwas@intel.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
parent
f425f16385
commit
cdffd22581
@ -719,13 +719,6 @@ __attribute__((constructor)) static void pci_drv ## _register(void) \
|
||||
spdk_pci_driver_register(name, id_table, flags); \
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the NVMe PCI driver object.
|
||||
*
|
||||
* \return PCI driver.
|
||||
*/
|
||||
struct spdk_pci_driver *spdk_pci_nvme_get_driver(void);
|
||||
|
||||
/**
|
||||
* Get the VMD PCI driver object.
|
||||
*
|
||||
@ -759,6 +752,13 @@ struct spdk_pci_driver *spdk_pci_virtio_get_driver(void);
|
||||
*/
|
||||
struct spdk_pci_driver *spdk_pci_get_driver(const char *name);
|
||||
|
||||
/**
|
||||
* Get the NVMe PCI driver object.
|
||||
*
|
||||
* \return PCI driver.
|
||||
*/
|
||||
struct spdk_pci_driver *spdk_pci_nvme_get_driver(void);
|
||||
|
||||
/**
|
||||
* Enumerate all PCI devices supported by the provided driver and try to
|
||||
* attach those that weren't attached yet. The provided callback will be
|
||||
|
@ -39,7 +39,7 @@ SO_MINOR := 0
|
||||
|
||||
CFLAGS += $(ENV_CFLAGS)
|
||||
C_SRCS = env.c memory.c pci.c init.c threads.c
|
||||
C_SRCS += pci_nvme.c pci_ioat.c pci_virtio.c pci_vmd.c pci_idxd.c
|
||||
C_SRCS += pci_ioat.c pci_virtio.c pci_vmd.c pci_idxd.c
|
||||
LIBNAME = env_dpdk
|
||||
|
||||
SPDK_MAP_FILE = $(abspath $(CURDIR)/spdk_env_dpdk.map)
|
||||
|
@ -188,6 +188,12 @@ spdk_pci_driver_register(const char *name, struct spdk_pci_id *id_table, uint32_
|
||||
TAILQ_INSERT_TAIL(&g_pci_drivers, driver, tailq);
|
||||
}
|
||||
|
||||
struct spdk_pci_driver *
|
||||
spdk_pci_nvme_get_driver(void)
|
||||
{
|
||||
return spdk_pci_get_driver("nvme");
|
||||
}
|
||||
|
||||
struct spdk_pci_driver *
|
||||
spdk_pci_get_driver(const char *name)
|
||||
{
|
||||
|
@ -1,56 +0,0 @@
|
||||
/*-
|
||||
* BSD LICENSE
|
||||
*
|
||||
* Copyright (c) Intel Corporation.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
* * Neither the name of Intel Corporation nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "env_internal.h"
|
||||
|
||||
#include "spdk/pci_ids.h"
|
||||
|
||||
static struct spdk_pci_id nvme_pci_driver_id[] = {
|
||||
{
|
||||
.class_id = SPDK_PCI_CLASS_NVME,
|
||||
.vendor_id = SPDK_PCI_ANY_ID,
|
||||
.device_id = SPDK_PCI_ANY_ID,
|
||||
.subvendor_id = SPDK_PCI_ANY_ID,
|
||||
.subdevice_id = SPDK_PCI_ANY_ID,
|
||||
},
|
||||
{ .vendor_id = 0, /* sentinel */ },
|
||||
};
|
||||
|
||||
struct spdk_pci_driver *
|
||||
spdk_pci_nvme_get_driver(void)
|
||||
{
|
||||
return spdk_pci_get_driver("nvme");
|
||||
}
|
||||
|
||||
SPDK_PCI_DRIVER_REGISTER("nvme", nvme_pci_driver_id,
|
||||
SPDK_PCI_DRIVER_NEED_MAPPING | SPDK_PCI_DRIVER_WC_ACTIVATE);
|
@ -2546,6 +2546,20 @@ nvme_pcie_poll_group_destroy(struct spdk_nvme_transport_poll_group *tgroup)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct spdk_pci_id nvme_pci_driver_id[] = {
|
||||
{
|
||||
.class_id = SPDK_PCI_CLASS_NVME,
|
||||
.vendor_id = SPDK_PCI_ANY_ID,
|
||||
.device_id = SPDK_PCI_ANY_ID,
|
||||
.subvendor_id = SPDK_PCI_ANY_ID,
|
||||
.subdevice_id = SPDK_PCI_ANY_ID,
|
||||
},
|
||||
{ .vendor_id = 0, /* sentinel */ },
|
||||
};
|
||||
|
||||
SPDK_PCI_DRIVER_REGISTER("nvme", nvme_pci_driver_id,
|
||||
SPDK_PCI_DRIVER_NEED_MAPPING | SPDK_PCI_DRIVER_WC_ACTIVATE);
|
||||
|
||||
const struct spdk_nvme_transport_ops pcie_ops = {
|
||||
.name = "PCIE",
|
||||
.type = SPDK_NVME_TRANSPORT_PCIE,
|
||||
|
@ -47,6 +47,8 @@ void free_cores(void);
|
||||
|
||||
DEFINE_STUB(spdk_process_is_primary, bool, (void), true)
|
||||
DEFINE_STUB(spdk_memzone_lookup, void *, (const char *name), NULL)
|
||||
DEFINE_STUB_V(spdk_pci_driver_register, (const char *name, struct spdk_pci_id *id_table,
|
||||
uint32_t flags));
|
||||
DEFINE_STUB(spdk_pci_nvme_get_driver, struct spdk_pci_driver *, (void), NULL)
|
||||
DEFINE_STUB(spdk_pci_ioat_get_driver, struct spdk_pci_driver *, (void), NULL)
|
||||
DEFINE_STUB(spdk_pci_virtio_get_driver, struct spdk_pci_driver *, (void), NULL)
|
||||
|
Loading…
Reference in New Issue
Block a user