[dpdk-dev] [PATCH v3 03/10] bus/vdev: do not reference devargs list
Tan, Jianfeng
jianfeng.tan at intel.com
Wed Mar 21 06:41:44 CET 2018
On 3/21/2018 7:20 AM, Gaetan Rivet wrote:
> 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>
Acked-by: Jianfeng Tan <jianfeng.tan at intel.com>
Thanks,
Jianfeng
> ---
> drivers/bus/vdev/Makefile | 1 +
> drivers/bus/vdev/vdev.c | 11 +++--------
> 2 files changed, 4 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/bus/vdev/Makefile b/drivers/bus/vdev/Makefile
> index 24d424a38..bd0bb8955 100644
> --- a/drivers/bus/vdev/Makefile
> +++ b/drivers/bus/vdev/Makefile
> @@ -10,6 +10,7 @@ LIB = librte_bus_vdev.a
>
> CFLAGS += -O3
> CFLAGS += $(WERROR_FLAGS)
> +CFLAGS += -DALLOW_EXPERIMENTAL_API
>
> # versioning export map
> EXPORT_MAP := rte_bus_vdev_version.map
> diff --git a/drivers/bus/vdev/vdev.c b/drivers/bus/vdev/vdev.c
> index e4bc72463..8ee264baf 100644
> --- a/drivers/bus/vdev/vdev.c
> +++ b/drivers/bus/vdev/vdev.c
> @@ -256,7 +256,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;
> @@ -306,10 +306,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;
> }
> @@ -337,10 +335,7 @@ vdev_scan(void)
> rte_spinlock_unlock(&vdev_custom_scan_lock);
>
> /* 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)
More information about the dev
mailing list