On 4/15/2019 6:06 AM, Rosen Xu wrote:
> In many scenarios, AFU is needed searched by name, this
> function add the feature.
> 
> Signed-off-by: Rosen Xu <rosen...@intel.com>
> Signed-off-by: Andy Pei <andy....@intel.com>
> ---
>  drivers/bus/ifpga/ifpga_bus.c               | 13 +++++++++++++
>  drivers/bus/ifpga/rte_bus_ifpga.h           |  9 +++++++++
>  drivers/bus/ifpga/rte_bus_ifpga_version.map |  6 ++++++
>  3 files changed, 28 insertions(+)
> 
> diff --git a/drivers/bus/ifpga/ifpga_bus.c b/drivers/bus/ifpga/ifpga_bus.c
> index 55d3abf..8bfae29 100644
> --- a/drivers/bus/ifpga/ifpga_bus.c
> +++ b/drivers/bus/ifpga/ifpga_bus.c
> @@ -73,6 +73,19 @@ void rte_ifpga_driver_unregister(struct rte_afu_driver 
> *driver)
>       return NULL;
>  }
>  
> +struct rte_afu_device *__rte_experimental
> +rte_ifpga_find_afu_by_name(const char *name)
> +{
> +     struct rte_afu_device *afu_dev = NULL;
> +
> +     TAILQ_FOREACH(afu_dev, &ifpga_afu_dev_list, next) {
> +             if (afu_dev &&
> +                     !strcmp(afu_dev->device.name, name))
> +                     return afu_dev;
> +     }
> +     return NULL;
> +}
> +
>  static const char * const valid_args[] = {
>  #define IFPGA_ARG_NAME         "ifpga"
>       IFPGA_ARG_NAME,
> diff --git a/drivers/bus/ifpga/rte_bus_ifpga.h 
> b/drivers/bus/ifpga/rte_bus_ifpga.h
> index 820eeaa..c00f60e 100644
> --- a/drivers/bus/ifpga/rte_bus_ifpga.h
> +++ b/drivers/bus/ifpga/rte_bus_ifpga.h
> @@ -120,6 +120,15 @@ struct rte_afu_driver {
>  }
>  
>  /**
> + * Find AFU by AFU name.
> + *
> + * @param name
> + *   A pointer to AFU name string.
> + */
> +struct rte_afu_device *__rte_experimental
> +rte_ifpga_find_afu_by_name(const char *name);
> +


Hi Rosen,

This is the bus code, and only drivers will call it right? I think there is no
intention to make this run by application code, the functions need to be
exported because driver and bus are different libraries.
If above correct, there is no point of making the function experimental, can
drop the __rte_experimental tag, and update .map file to not use EXPERIMENTAL.


> +/**
>   * Register a ifpga afu device driver.
>   *
>   * @param driver
> diff --git a/drivers/bus/ifpga/rte_bus_ifpga_version.map 
> b/drivers/bus/ifpga/rte_bus_ifpga_version.map
> index a027979..247ccfe 100644
> --- a/drivers/bus/ifpga/rte_bus_ifpga_version.map
> +++ b/drivers/bus/ifpga/rte_bus_ifpga_version.map
> @@ -8,3 +8,9 @@ DPDK_18.05 {
>  
>       local: *;
>  };
> +
> +EXPERIMENTAL {
> +    global:
> +
> +    rte_ifpga_find_afu_by_name;
> +};
> \ No newline at end of file
> 

Reply via email to