From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?iso-8859-1?Q?Ga=EBtan?= Rivet Subject: Re: [PATCH v5 04/12] bus: add bus iterator to find a device Date: Tue, 27 Jun 2017 17:05:14 +0200 Message-ID: <20170627150514.GE13355@bidouze.vm.6wind.com> References: <0094d130d0bc93de5d676b67aa28acf6dc81d37b.1498436062.git.gaetan.rivet@6wind.com> <20170627135434.GH104744@bricha3-MOBL3.ger.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Cc: dev@dpdk.org, Jan Blunck To: Bruce Richardson Return-path: Received: from mail-wm0-f48.google.com (mail-wm0-f48.google.com [74.125.82.48]) by dpdk.org (Postfix) with ESMTP id ABAFE374 for ; Tue, 27 Jun 2017 17:05:23 +0200 (CEST) Received: by mail-wm0-f48.google.com with SMTP id 62so27452231wmw.1 for ; Tue, 27 Jun 2017 08:05:23 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20170627135434.GH104744@bricha3-MOBL3.ger.corp.intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Tue, Jun 27, 2017 at 02:54:34PM +0100, Bruce Richardson wrote: > On Mon, Jun 26, 2017 at 02:22:02AM +0200, Gaetan Rivet wrote: > > From: Jan Blunck > > > > Signed-off-by: Jan Blunck > > Signed-off-by: Gaetan Rivet > > --- > > lib/librte_eal/bsdapp/eal/rte_eal_version.map | 1 + > > lib/librte_eal/common/eal_common_bus.c | 24 +++++++++++++++++++++++ > > lib/librte_eal/common/include/rte_bus.h | 26 +++++++++++++++++++++++++ > > lib/librte_eal/linuxapp/eal/rte_eal_version.map | 1 + > > 4 files changed, 52 insertions(+) > > > > diff --git a/lib/librte_eal/bsdapp/eal/rte_eal_version.map b/lib/librte_eal/bsdapp/eal/rte_eal_version.map > > index f1a0765..21640d6 100644 > > --- a/lib/librte_eal/bsdapp/eal/rte_eal_version.map > > +++ b/lib/librte_eal/bsdapp/eal/rte_eal_version.map > > @@ -164,6 +164,7 @@ DPDK_17.05 { > > > > rte_bus_find; > > rte_bus_find_by_device; > > + rte_bus_find_device; > > rte_cpu_is_supported; > > rte_log_dump; > > rte_log_register; > > diff --git a/lib/librte_eal/common/eal_common_bus.c b/lib/librte_eal/common/eal_common_bus.c > > index d208214..63fd9f1 100644 > > --- a/lib/librte_eal/common/eal_common_bus.c > > +++ b/lib/librte_eal/common/eal_common_bus.c > > @@ -190,3 +190,27 @@ rte_bus_find_by_device(const struct rte_device *dev) > > { > > return rte_bus_find(bus_find_device, (const void *)dev, NULL); > > } > > + > > +struct rte_device * > > +rte_bus_find_device(rte_dev_cmp_t cmp, const void *data, > > + const struct rte_device *start) > > One additional suggestion: might it be worthwhile also returning the bus > for the device here, in an optional 4th parameter. This is, after all, > a bus API. :-) > > /Bruce I think having the bus is a good info. However, 1. This makes this API slightly less clean I think. A subjective matter, but I don't like adding cruft without good justification. 2. The bus will be made accessible by my future patches. The series afterward are introducing a generic device type representation, which is composed of the bus. This type info is integral to the device and thus the bus can be read from within the resulting rte_device here. So, I won't add this parameter right now. If we have issues with the rte_devargs series, it might be interesting to come back on this and edit this API. -- Gaëtan Rivet 6WIND