> -----Original Message----- > From: Yigit, Ferruh > Sent: Monday, April 15, 2019 20:28 > To: Xu, Rosen <rosen...@intel.com>; dev@dpdk.org > Cc: Zhang, Tianfei <tianfei.zh...@intel.com>; Wei, Dan > <dan....@intel.com>; Pei, Andy <andy....@intel.com>; Yang, Qiming > <qiming.y...@intel.com>; Wang, Haiyue <haiyue.w...@intel.com>; Chen, > Santos <santos.c...@intel.com>; Zhang, Zhang <zhang.zh...@intel.com>; > Lomartire, David <david.lomart...@intel.com>; Hu, Jia <jia...@intel.com>; > Thomas Monjalon <tho...@monjalon.net> > Subject: Re: [PATCH v8 02/14] bus/ifpga: add function for AFU search by > name > > 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.
Hi Ferruh, Just double confirm with you, if I follow this modification, there is one checkpatch error. > > > +/** > > * 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 > >