[v10,25/27] bus/pci: process declarative PCI devargs
Checks
Commit Message
Introduce the facility to process future PCI parameters.
Once the matching between PCI devices and devargs has been done, it is
possible to process each devargs. New parameters would have the PCI
device handle to work with when parsing the device (bus specific)
parameters.
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
---
drivers/bus/pci/pci_common.c | 3 +++
drivers/bus/pci/pci_params.c | 10 ++++++++++
drivers/bus/pci/private.h | 13 +++++++++++++
3 files changed, 26 insertions(+)
@@ -249,6 +249,9 @@ pci_probe_all_drivers(struct rte_pci_device *dev)
if (dev->driver != NULL)
return 0;
+ if (rte_pci_devargs_process(dev) < 0)
+ return -1;
+
FOREACH_DRIVER_ON_PCIBUS(dr) {
rc = rte_pci_probe_one_driver(dr, dev);
if (rc < 0)
@@ -127,3 +127,13 @@ rte_pci_devargs_prepare(struct rte_devargs *da)
rte_kvargs_free(kvargs);
return ret;
}
+
+int
+rte_pci_devargs_process(struct rte_pci_device *pdev)
+{
+ /* For the moment, no PCI param
+ * needs to be processed.
+ */
+ (void) pdev;
+ return 0;
+}
@@ -207,4 +207,17 @@ rte_pci_dev_iterate(const void *start,
int
rte_pci_devargs_prepare(struct rte_devargs *da);
+/*
+ * Process the device devargs, if any.
+ *
+ * @param pdev
+ * PCI device
+ *
+ * @return
+ * 0 on success.
+ * <0 on error.
+ */
+int
+rte_pci_devargs_process(struct rte_pci_device *pdev);
+
#endif /* _PCI_PRIVATE_H_ */