[dpdk-dev] [PATCH v2 05/18] vdev: do not reference devargs list

Gaetan Rivet gaetan.rivet at 6wind.com
Thu Oct 12 10:21:12 CEST 2017


This list should not be operated upon by drivers.
Use the public API to achieve the same functionalities.

Signed-off-by: Gaetan Rivet <gaetan.rivet at 6wind.com>
---
 lib/librte_eal/common/eal_common_vdev.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_vdev.c b/lib/librte_eal/common/eal_common_vdev.c
index f7e547a..a7410a6 100644
--- a/lib/librte_eal/common/eal_common_vdev.c
+++ b/lib/librte_eal/common/eal_common_vdev.c
@@ -192,7 +192,7 @@ rte_vdev_init(const char *name, const char *args)
 		goto fail;
 	}
 
-	TAILQ_INSERT_TAIL(&devargs_list, devargs, next);
+	rte_eal_devargs_insert(devargs);
 
 	TAILQ_INSERT_TAIL(&vdev_device_list, dev, next);
 	return 0;
@@ -242,10 +242,8 @@ rte_vdev_uninit(const char *name)
 
 	TAILQ_REMOVE(&vdev_device_list, dev, next);
 
-	TAILQ_REMOVE(&devargs_list, devargs, next);
+	rte_eal_devargs_remove(devargs->bus->name, devargs->name);
 
-	free(devargs->args);
-	free(devargs);
 	free(dev);
 	return 0;
 }
@@ -257,10 +255,7 @@ vdev_scan(void)
 	struct rte_devargs *devargs;
 
 	/* for virtual devices we scan the devargs_list populated via cmdline */
-	TAILQ_FOREACH(devargs, &devargs_list, next) {
-
-		if (devargs->bus != &rte_vdev_bus)
-			continue;
+	RTE_EAL_DEVARGS_FOREACH("vdev", devargs) {
 
 		dev = find_vdev(devargs->name);
 		if (dev)
-- 
2.1.4



More information about the dev mailing list