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",
24 auxiliary_dev_match(const struct rte_device *dev,
27 const struct rte_kvargs *kvlist = _kvlist;
28 const char *key = auxiliary_params_keys[RTE_AUXILIARY_PARAM_NAME];
30 if (rte_kvargs_get_with_value(kvlist, key, dev->name) == NULL)
37 auxiliary_dev_iterate(const void *start,
39 const struct rte_dev_iterator *it __rte_unused)
41 rte_bus_find_device_t find_device;
42 struct rte_kvargs *kvargs = NULL;
43 struct rte_device *dev;
46 kvargs = rte_kvargs_parse(str, auxiliary_params_keys);
48 AUXILIARY_LOG(ERR, "cannot parse argument list %s",
54 find_device = auxiliary_bus.bus.find_device;
55 dev = find_device(start, auxiliary_dev_match, kvargs);
56 rte_kvargs_free(kvargs);