Commit 477d9500 authored by Jacek Kalwas's avatar Jacek Kalwas Committed by Tomasz Zawadzki
Browse files

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: default avatarJacek 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: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent b3e230a1
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -707,9 +707,9 @@ typedef int (*spdk_pci_enum_cb)(void *enum_ctx, struct spdk_pci_device *pci_dev)
	.subdevice_id = SPDK_PCI_ANY_ID

#define SPDK_PCI_DRIVER_REGISTER(name, id_table, flags) \
__attribute__((constructor)) static void pci_drv ## _register(void)	\
__attribute__((constructor)) static void _spdk_pci_driver_register_##name(void) \
{ \
	spdk_pci_driver_register(name, id_table, flags);		\
	spdk_pci_driver_register(#name, id_table, flags); \
}

/**
+1 −1
Original line number Diff line number Diff line
@@ -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);
+1 −1
Original line number Diff line number Diff line
@@ -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);
+1 −1
Original line number Diff line number Diff line
@@ -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);
+1 −1
Original line number Diff line number Diff line
@@ -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);
Loading