[dpdk-dev] [PATCH 2/4] bus/pci: reference driver structure
Ferruh Yigit
ferruh.yigit at intel.com
Wed Jun 27 18:36:11 CEST 2018
On 4/11/2018 3:07 PM, Rafal Kozik wrote:
> Reference driver structure before calling rte_pci_map_device.
> It allow to use driver flags for adjusting configuration.
>
> Signed-off-by: Rafal Kozik <rk at semihalf.com>
> ---
> drivers/bus/pci/pci_common.c | 13 ++++++++-----
> 1 file changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/bus/pci/pci_common.c b/drivers/bus/pci/pci_common.c
> index 2a00f36..15e9a47 100644
> --- a/drivers/bus/pci/pci_common.c
> +++ b/drivers/bus/pci/pci_common.c
> @@ -159,17 +159,20 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
> RTE_LOG(INFO, EAL, " probe driver: %x:%x %s\n", dev->id.vendor_id,
> dev->id.device_id, dr->driver.name);
>
> + /* reference driver structure */
> + dev->driver = dr;
> + dev->device.driver = &dr->driver;
It can be good to comment that this needs to be before rte_pci_map_device()
incase someone wants to refactor code later.
> +
> if (dr->drv_flags & RTE_PCI_DRV_NEED_MAPPING) {
> /* map resources for devices that use igb_uio */
> ret = rte_pci_map_device(dev);
> - if (ret != 0)
> + if (ret != 0) {
> + dev->driver = NULL;
> + dev->device.driver = NULL;
> return ret;
> + }
> }
>
> - /* reference driver structure */
> - dev->driver = dr;
> - dev->device.driver = &dr->driver;
> -
> /* call the driver probe() function */
> ret = dr->probe(dr, dev);
> if (ret) {
>
More information about the dev
mailing list