bus: add scanning
[dpdk.git] / lib / librte_eal / linuxapp / eal / eal.c
index 81264a2..1d2a16a 100644 (file)
@@ -69,6 +69,7 @@
 #include <rte_string_fns.h>
 #include <rte_cpuflags.h>
 #include <rte_interrupts.h>
+#include <rte_bus.h>
 #include <rte_pci.h>
 #include <rte_dev.h>
 #include <rte_devargs.h>
@@ -761,9 +762,6 @@ rte_eal_init(int argc, char **argv)
 
        thread_id = pthread_self();
 
-       if (rte_eal_log_early_init() < 0)
-               rte_panic("Cannot init early logs\n");
-
        eal_log_level_parse(argc, argv);
 
        /* set log level as early as possible */
@@ -802,6 +800,9 @@ rte_eal_init(int argc, char **argv)
 
        rte_config_init();
 
+       if (rte_eal_log_init(logid, internal_config.syslog_facility) < 0)
+               rte_panic("Cannot init logs\n");
+
        if (rte_eal_pci_init() < 0)
                rte_panic("Cannot init PCI\n");
 
@@ -822,9 +823,6 @@ rte_eal_init(int argc, char **argv)
        if (rte_eal_tailqs_init() < 0)
                rte_panic("Cannot init tail queues for objects\n");
 
-       if (rte_eal_log_init(logid, internal_config.syslog_facility) < 0)
-               rte_panic("Cannot init logs\n");
-
        if (rte_eal_alarm_init() < 0)
                rte_panic("Cannot init interrupt-handling thread\n");
 
@@ -844,12 +842,12 @@ rte_eal_init(int argc, char **argv)
                rte_config.master_lcore, (int)thread_id, cpuset,
                ret == 0 ? "" : "...");
 
-       if (rte_eal_dev_init() < 0)
-               rte_panic("Cannot init pmd devices\n");
-
        if (rte_eal_intr_init() < 0)
                rte_panic("Cannot init interrupt-handling thread\n");
 
+       if (rte_bus_scan())
+               rte_panic("Cannot scan the buses for devices\n");
+
        RTE_LCORE_FOREACH_SLAVE(i) {
 
                /*
@@ -890,6 +888,9 @@ rte_eal_init(int argc, char **argv)
        if (rte_eal_pci_probe())
                rte_panic("Cannot probe PCI\n");
 
+       if (rte_eal_dev_init() < 0)
+               rte_panic("Cannot init pmd devices\n");
+
        rte_eal_mcfg_complete();
 
        return fctret;