bus: introduce scan policies

Scan policies describe the way a bus should scan the system to search
for possible devices.

Three flags are introduced:
  RTE_BUS_SCAN_UNDEFINED: Configuration is irrelevant for this bus
  RTE_BUS_SCAN_WHITELIST: Scanning should be limited to declared devices
  RTE_BUS_SCAN_BLACKLIST: Scanning should exclude only declared devices

Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
This commit is contained in:
Gaetan Rivet 2017-07-07 02:04:28 +02:00 committed by Thomas Monjalon
parent 3f86ca7f79
commit 98eb4b845c

View File

@ -157,6 +157,22 @@ typedef int (*rte_bus_unplug_t)(struct rte_device *dev);
*/
typedef int (*rte_bus_parse_t)(const char *name, void *addr);
/**
* Bus scan policies
*/
enum rte_bus_scan_mode {
RTE_BUS_SCAN_UNDEFINED,
RTE_BUS_SCAN_WHITELIST,
RTE_BUS_SCAN_BLACKLIST,
};
/**
* A structure used to configure bus operations.
*/
struct rte_bus_conf {
enum rte_bus_scan_mode scan_mode; /**< Scan policy. */
};
/**
* A structure describing a generic bus.
*/
@ -169,6 +185,7 @@ struct rte_bus {
rte_bus_plug_t plug; /**< Probe single device for drivers */
rte_bus_unplug_t unplug; /**< Remove single device from driver */
rte_bus_parse_t parse; /**< Parse a device name */
struct rte_bus_conf conf; /**< Bus configuration */
};
/**