21/06/2017 01:29, Gaetan Rivet:
> --- a/lib/librte_ether/rte_ethdev.c
> +++ b/lib/librte_ether/rte_ethdev.c
> @@ -354,26 +354,14 @@ rte_eth_dev_get_port_by_name(const char *name, uint8_t 
> *port_id)
>  static int
>  rte_eth_dev_is_detachable(uint8_t port_id)
>  {
> -     uint32_t dev_flags;
> +     struct rte_eth_dev *dev;
>  
>       RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -EINVAL);
>  
> -     switch (rte_eth_devices[port_id].data->kdrv) {
> -     case RTE_KDRV_IGB_UIO:
> -     case RTE_KDRV_UIO_GENERIC:
> -     case RTE_KDRV_NIC_UIO:
> -     case RTE_KDRV_NONE:
> -     case RTE_KDRV_VFIO:
> -             break;
> -     default:
> -             return -ENOTSUP;
> -     }
> -     dev_flags = rte_eth_devices[port_id].data->dev_flags;
> -     if ((dev_flags & RTE_ETH_DEV_DETACHABLE) &&
> -             (!(dev_flags & RTE_ETH_DEV_BONDED_SLAVE)))
> +     dev = &rte_eth_devices[port_id];
> +     if (dev->data->dev_flags & RTE_ETH_DEV_BONDED_SLAVE)
>               return 0;
> -     else
> -             return 1;
> +     return !!dev->device->devargs->bus->unplug;
>  }

The changes in rte_eth_dev_is_detachable() deserves a separate commit.

Are you removing RTE_ETH_DEV_DETACHABLE flag?

I think this change cannot be done before implementing unplug in PCI.

Reply via email to