1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright (c) 2021 NVIDIA Corporation & Affiliates
10 #include <rte_kvargs.h>
13 #include "rte_bus_auxiliary.h"
15 enum auxiliary_params {
16 RTE_AUXILIARY_PARAM_NAME,
19 static const char * const auxiliary_params_keys[] = {
20 [RTE_AUXILIARY_PARAM_NAME] = "name",
25 auxiliary_dev_match(const struct rte_device *dev,
28 const struct rte_kvargs *kvlist = _kvlist;
29 const char *key = auxiliary_params_keys[RTE_AUXILIARY_PARAM_NAME];
31 if (rte_kvargs_get_with_value(kvlist, key, dev->name) == NULL)
38 auxiliary_dev_iterate(const void *start,
40 const struct rte_dev_iterator *it __rte_unused)
42 rte_bus_find_device_t find_device;
43 struct rte_kvargs *kvargs = NULL;
44 struct rte_device *dev;
47 kvargs = rte_kvargs_parse(str, auxiliary_params_keys);
49 AUXILIARY_LOG(ERR, "cannot parse argument list %s",
55 find_device = auxiliary_bus.bus.find_device;
56 dev = find_device(start, auxiliary_dev_match, kvargs);
57 rte_kvargs_free(kvargs);