[dpdk-dev] [PATCH v11 09/13] pci: add bus driver

Thomas Monjalon thomas.monjalon at 6wind.com
Wed Feb 15 12:20:37 CET 2017


2017-02-15 11:42, Jan Blunck:
> >  /**
> > + * Add a PCI device to the PCI Bus (append to PCI Device list). This function
> > + * also updates the bus references of the PCI Device (and the generic device
> > + * object embedded within.
> > + *
> > + * @param pci_dev
> > + *     PCI device to add
> > + * @return void
> > + */
> > +void rte_eal_pci_add_device(struct rte_pci_device *pci_dev);
> > +
> 
> Who would be the user of this?
> 
> From my understanding a device will show up on the bus if:
> 1. bus->scan() finds it
> 2. bus->attach(devargs) explicitly adds it to the whitelist
> 
> Both methods shouldn't require us to expose the API outside of eal.

I agree

> > +struct rte_pci_bus rte_pci_bus = {
> > +       .bus = {
> > +               .scan = rte_eal_pci_scan,
> > +               .probe = rte_eal_pci_probe,
> > +       },
> > +       .device_list = TAILQ_HEAD_INITIALIZER(rte_pci_bus.device_list),
> > +       .driver_list = TAILQ_HEAD_INITIALIZER(rte_pci_bus.driver_list),
> 
> I don't see why this is necessary and I believe it makes people think
> we might want to model topology. It's better to keep it simple and
> have it locally in eal_common_pci.c.

I agree


More information about the dev mailing list