xref: /dpdk/lib/eal/include/dev_driver.h (revision 719834a6849e1daf4a70ff7742bbcc3ae7e25607)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright (c) 2022 Red Hat, Inc.
3  */
4 
5 #ifndef DEV_DRIVER_H
6 #define DEV_DRIVER_H
7 
8 #include <rte_common.h>
9 #include <rte_dev.h>
10 
11 /**
12  * A structure describing a device driver.
13  */
14 struct rte_driver {
15 	RTE_TAILQ_ENTRY(rte_driver) next; /**< Next in list. */
16 	const char *name;                   /**< Driver name. */
17 	const char *alias;              /**< Driver alias. */
18 };
19 
20 /**
21  * A structure describing a generic device.
22  */
23 struct rte_device {
24 	RTE_TAILQ_ENTRY(rte_device) next; /**< Next device */
25 	const char *name;             /**< Device name */
26 	const char *bus_info;         /**< Device bus specific information */
27 	const struct rte_driver *driver; /**< Driver assigned after probing */
28 	const struct rte_bus *bus;    /**< Bus handle assigned on scan */
29 	int numa_node;                /**< NUMA node connection */
30 	struct rte_devargs *devargs;  /**< Arguments for latest probing */
31 };
32 
33 #endif /* DEV_DRIVER_H */
34