env: fix pci driver registration
Registration macro now generates function based on driver's name. It allows to have multiple registration within single source file. Similar pattern is used e.g. by SPDK_NVMF_TRANSPORT_REGISTER. Signed-off-by: Jacek Kalwas <jacek.kalwas@intel.com> Change-Id: Ied0887e8dae7fe9ca1517313be5eff8f218b7e98 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3895 Community-CI: Mellanox Build Bot Community-CI: Broadcom CI Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
b3e230a116
commit
477d9500a3
@ -699,17 +699,17 @@ struct spdk_pci_device {
|
||||
|
||||
typedef int (*spdk_pci_enum_cb)(void *enum_ctx, struct spdk_pci_device *pci_dev);
|
||||
|
||||
#define SPDK_PCI_DEVICE(vend, dev) \
|
||||
#define SPDK_PCI_DEVICE(vend, dev) \
|
||||
.class_id = SPDK_PCI_CLASS_ANY_ID, \
|
||||
.vendor_id = (vend), \
|
||||
.device_id = (dev), \
|
||||
.subvendor_id = SPDK_PCI_ANY_ID, \
|
||||
.subdevice_id = SPDK_PCI_ANY_ID
|
||||
|
||||
#define SPDK_PCI_DRIVER_REGISTER(name, id_table, flags) \
|
||||
__attribute__((constructor)) static void pci_drv ## _register(void) \
|
||||
{ \
|
||||
spdk_pci_driver_register(name, id_table, flags); \
|
||||
#define SPDK_PCI_DRIVER_REGISTER(name, id_table, flags) \
|
||||
__attribute__((constructor)) static void _spdk_pci_driver_register_##name(void) \
|
||||
{ \
|
||||
spdk_pci_driver_register(#name, id_table, flags); \
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -47,4 +47,4 @@ spdk_pci_idxd_get_driver(void)
|
||||
return spdk_pci_get_driver("idxd");
|
||||
}
|
||||
|
||||
SPDK_PCI_DRIVER_REGISTER("idxd", idxd_driver_id, SPDK_PCI_DRIVER_NEED_MAPPING);
|
||||
SPDK_PCI_DRIVER_REGISTER(idxd, idxd_driver_id, SPDK_PCI_DRIVER_NEED_MAPPING);
|
||||
|
@ -95,4 +95,4 @@ spdk_pci_ioat_get_driver(void)
|
||||
return spdk_pci_get_driver("ioat");
|
||||
}
|
||||
|
||||
SPDK_PCI_DRIVER_REGISTER("ioat", ioat_driver_id, SPDK_PCI_DRIVER_NEED_MAPPING);
|
||||
SPDK_PCI_DRIVER_REGISTER(ioat, ioat_driver_id, SPDK_PCI_DRIVER_NEED_MAPPING);
|
||||
|
@ -49,5 +49,5 @@ spdk_pci_virtio_get_driver(void)
|
||||
return spdk_pci_get_driver("virtio");
|
||||
}
|
||||
|
||||
SPDK_PCI_DRIVER_REGISTER("virtio", virtio_pci_driver_id,
|
||||
SPDK_PCI_DRIVER_REGISTER(virtio, virtio_pci_driver_id,
|
||||
SPDK_PCI_DRIVER_NEED_MAPPING | SPDK_PCI_DRIVER_WC_ACTIVATE);
|
||||
|
@ -46,5 +46,5 @@ spdk_pci_vmd_get_driver(void)
|
||||
return spdk_pci_get_driver("vmd");
|
||||
}
|
||||
|
||||
SPDK_PCI_DRIVER_REGISTER("vmd", vmd_pci_driver_id,
|
||||
SPDK_PCI_DRIVER_REGISTER(vmd, vmd_pci_driver_id,
|
||||
SPDK_PCI_DRIVER_NEED_MAPPING | SPDK_PCI_DRIVER_WC_ACTIVATE);
|
||||
|
@ -2555,7 +2555,7 @@ static struct spdk_pci_id nvme_pci_driver_id[] = {
|
||||
{ .vendor_id = 0, /* sentinel */ },
|
||||
};
|
||||
|
||||
SPDK_PCI_DRIVER_REGISTER("nvme", nvme_pci_driver_id,
|
||||
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 = {
|
||||
|
Loading…
Reference in New Issue
Block a user