X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_eal%2Flinuxapp%2Feal%2Feal_pci.c;h=c42e843db029ebe620e132ded64cfc369faee651;hb=a2348166ea186506d45b61d5073d16ad974e79bb;hp=f880f90d3e0911c196c6cb273a30dd0b5b75762d;hpb=dbe6b4b61b0ec0a2ea3d6b1f8107003a8cbdad10;p=dpdk.git diff --git a/lib/librte_eal/linuxapp/eal/eal_pci.c b/lib/librte_eal/linuxapp/eal/eal_pci.c index f880f90d3e..c42e843db0 100644 --- a/lib/librte_eal/linuxapp/eal/eal_pci.c +++ b/lib/librte_eal/linuxapp/eal/eal_pci.c @@ -37,7 +37,6 @@ #include #include -#include #include #include #include @@ -59,6 +58,11 @@ struct mapped_pci_res_list *pci_res_list = NULL; +static struct rte_tailq_elem rte_pci_tailq = { + .name = "PCI_RESOURCE_LIST", +}; +EAL_REGISTER_TAILQ(rte_pci_tailq) + /* unbind kernel driver for this device */ static int pci_unbind_kernel_driver(struct rte_pci_device *dev) @@ -440,8 +444,8 @@ error: * Scan the content of the PCI bus, and the devices in the devices * list */ -static int -pci_scan(void) +int +rte_eal_pci_scan(void) { struct dirent *e; DIR *dir; @@ -766,14 +770,13 @@ rte_eal_pci_init(void) { TAILQ_INIT(&pci_driver_list); TAILQ_INIT(&pci_device_list); - pci_res_list = RTE_TAILQ_RESERVE_BY_IDX(RTE_TAILQ_PCI, - mapped_pci_res_list); + pci_res_list = RTE_TAILQ_CAST(rte_pci_tailq.head, mapped_pci_res_list); /* for debug purposes, PCI can be disabled */ if (internal_config.no_pci) return 0; - if (pci_scan() < 0) { + if (rte_eal_pci_scan() < 0) { RTE_LOG(ERR, EAL, "%s(): Cannot scan PCI bus\n", __func__); return -1; }