From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) by dpdk.org (Postfix) with ESMTP id 69F6F23C for ; Sat, 14 Jul 2018 16:54:11 +0200 (CEST) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id EC3AC21C0E; Sat, 14 Jul 2018 10:54:10 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Sat, 14 Jul 2018 10:54:10 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=mesmtp; bh=dzVfOTQvQeeSC7Q+se9zLyGr9g XrmSviT8XNoKdfEhk=; b=ExWOK7KuyEEFzrQo/wzd50erozZ+84mx3P3zii5nK2 0nD1VrPzrNwP/Kw1eicvedadbXgTc46h6WlSs0RJCMBxVmjcCIeceoj4/i3wb1Ss Xj42FaCRBvVLEbPaPboMMepxHhZ9NDNeoq0h46liU+0zNp40gxSuh6uSDQmvgnzO o= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=dzVfOT QvQeeSC7Q+se9zLyGr9gXrmSviT8XNoKdfEhk=; b=UOqxWhckp4B2PFEk/h++Th P2fZyOJEZNo6+mP2cmv4oVaZkJ9m4wka73iKdV+wpulvyd3GQpkbBtUENTLRaRPF tPCV9hRC7nZak6aI6KlOeJUyKUdwFG8vcttD4XpM+I9LbD2RR+PuaGZ0XSGyiR1t BBDtPKOBLuGB+oX0hW77y+/3ITuCHomJJrX4h64aBBXpjUqvnwSIEnXyBAwRgn0g 0cna17iojfkIHQPP6uiihg5Cb7tACCnVAmkvO3yKewOTABExHRO3a5oxnlFE7YE1 Xh1GuS8MI7ZvSbIx7GrzdOgDEgzAHat0QpOlhva3r1PN29x+zlwOeOMcblcAe4gA == X-ME-Proxy: X-ME-Sender: Received: from xps.localnet (unknown [37.170.15.252]) by mail.messagingengine.com (Postfix) with ESMTPA id 63DA41025C; Sat, 14 Jul 2018 10:54:09 -0400 (EDT) From: Thomas Monjalon To: =?ISO-8859-1?Q?Ga=EBtan?= Rivet Cc: dev@dpdk.org, Shreyansh Jain Date: Sat, 14 Jul 2018 12:35:42 +0200 Message-ID: <4351811.y7EisCzzeV@xps> In-Reply-To: <20180712074125.hfio7uffddoitui5@bidouze.vm.6wind.com> References: <19f9132f-cbaf-5ac5-8159-1f86e478b9f6@nxp.com> <20180712074125.hfio7uffddoitui5@bidouze.vm.6wind.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="iso-8859-1" Subject: Re: [dpdk-dev] [PATCH v11 07/25] eal: introduce device class abstraction X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Jul 2018 14:54:11 -0000 12/07/2018 09:41, Ga=EBtan Rivet: > On Thu, Jul 12, 2018 at 12:19:09PM +0530, Shreyansh Jain wrote: > > Any reason you don't want the rte_class_find and rte_class_find_by_name= as > > exposed APIs? There is no experimental tag on these APIs either. >=20 > No actually I just overlooked that part! Thanks for catching this, I > think it should be exposed and tagged experimental. =46ixup below: =2D-- a/lib/librte_eal/common/eal_common_class.c +++ b/lib/librte_eal/common/eal_common_class.c @@ -29,6 +29,7 @@ rte_class_unregister(struct rte_class *class) RTE_LOG(DEBUG, EAL, "Unregistered [%s] device class.\n", class->nam= e); } =20 +__rte_experimental struct rte_class * rte_class_find(const struct rte_class *start, rte_class_cmp_t cmp, const void *data) @@ -55,6 +56,7 @@ cmp_class_name(const struct rte_class *class, const void = *_name) return strcmp(class->name, name); } =20 +__rte_experimental struct rte_class * rte_class_find_by_name(const char *name) { =2D-- a/lib/librte_eal/common/include/rte_class.h +++ b/lib/librte_eal/common/include/rte_class.h @@ -76,6 +76,7 @@ typedef int (*rte_class_cmp_t)(const struct rte_class *cl= s, const void *data); * @return * A pointer to a rte_class structure or NULL in case no class matches */ +__rte_experimental struct rte_class * rte_class_find(const struct rte_class *start, rte_class_cmp_t cmp, const void *data); @@ -83,6 +84,7 @@ rte_class_find(const struct rte_class *start, rte_class_c= mp_t cmp, /** * Find the registered class for a given name. */ +__rte_experimental struct rte_class * rte_class_find_by_name(const char *name); =20 =2D-- a/lib/librte_eal/rte_eal_version.map +++ b/lib/librte_eal/rte_eal_version.map @@ -254,6 +254,8 @@ DPDK_18.08 { EXPERIMENTAL { global: =20 + rte_class_find; + rte_class_find_by_name; rte_class_register; rte_class_unregister; rte_ctrl_thread_create;