Cleanup the rte_devargs API. This is a continuous process. The previous version of this patchset was dependent on changes on the PCI bus and the rte_bus library. Not all these changes were integrated. This patchset has thus been limited to elements that are available right now, without dependencies.
The devargs list is made private. All devargs users are meant to use them using the proper API. Devargs will allocate dynamic memory. With device hotplug, this memory is usually mishandled and lost by libraries not following the evolutions of rte_devargs. Gaetan Rivet (10): devargs: introduce iterator devargs: introduce foreach macro bus/vdev: do not reference devargs list bus/pci: do not reference devargs list net/vdev_netvsc: do not reference devargs list test: remove devargs unit tests devargs: make devargs list private devargs: make parsing variadic devargs: use proper namespace prefix devargs: rename legacy API MAINTAINERS | 1 - app/test-pmd/cmdline.c | 2 +- drivers/bus/pci/Makefile | 1 + drivers/bus/pci/pci_common.c | 6 +- drivers/bus/vdev/Makefile | 1 + drivers/bus/vdev/vdev.c | 13 +-- drivers/net/failsafe/failsafe_args.c | 2 +- drivers/net/failsafe/failsafe_eal.c | 2 +- drivers/net/vdev_netvsc/vdev_netvsc.c | 4 +- examples/bond/Makefile | 1 + examples/bond/main.c | 2 +- lib/librte_eal/common/eal_common_dev.c | 39 ++------- lib/librte_eal/common/eal_common_devargs.c | 53 ++++++++++-- lib/librte_eal/common/eal_common_options.c | 2 +- lib/librte_eal/common/include/rte_devargs.h | 127 +++++++++++++++++++++++----- lib/librte_eal/rte_eal_version.map | 11 ++- lib/librte_ether/rte_ethdev.c | 44 +++++----- test/test/Makefile | 1 - test/test/commands.c | 2 +- test/test/test_devargs.c | 103 ---------------------- 20 files changed, 198 insertions(+), 219 deletions(-) delete mode 100644 test/test/test_devargs.c -- 2.11.0