>                       /* Create dummy pci device to get devargs */
> +                     dummy_dev.addr.domain = matches[i].pc_sel.pc_domain;
> +                     dummy_dev.addr.bus = matches[i].pc_sel.pc_bus;
> +                     dummy_dev.addr.devid = matches[i].pc_sel.pc_dev;
> +                     dummy_dev.addr.function = matches[i].pc_sel.pc_func;
> +                     dummy_dev.device.devargs =
> +                                             pci_devargs_lookup(&dummy_dev);
> +
> +                     /* Check that device should be ignored or not  */
> +                     if (pci_ignore_device(&dummy_dev))
> +                             continue;

It seems that you are creating dummy_dev as an alternative to passing
just the PCI bus/device/function. Wouldn't be easier to just use BDF
instead. Dummy arguments on the stack can lead to more corner cases
in the future if device subsystem changes.

> +/**
> + * Get the devargs of a PCI device.
> + *
> + * @param pci_dev
> + *   PCI device to be validated
> + * @return
> + *   devargs on succes, NULL otherwise
> + */
> +struct rte_devargs *pci_devargs_lookup(struct rte_pci_device *pci_dev);

Must be marked experimental (or internal).
The pci_device should be marked const.


> +
> +/**
> + * Validate whether a pci device should be ignored or not.
> + *
> + * @param pci_dev
> + *   PCI device to be validated
> + * @return
> + *   1 if device is to be ignored, 0 otherwise
> + */
> +bool pci_ignore_device(const struct rte_pci_device *pci_dev);

ditto

Reply via email to