From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 5F461325F for ; Wed, 7 Nov 2018 10:37:32 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 Nov 2018 01:37:32 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,475,1534834800"; d="scan'208";a="83978887" Received: from jeffguo-s2600wt2.sh.intel.com (HELO localhost.localdomain) ([10.67.110.10]) by fmsmga007.fm.intel.com with ESMTP; 07 Nov 2018 01:37:29 -0800 From: Jeff Guo To: ferruh.yigit@intel.com, konstantin.ananyev@intel.com, anatoly.burakov@intel.com, thomas@monjalon.net, bernard.iremonger@intel.com Cc: dev@dpdk.org, jia.guo@intel.com, helin.zhang@intel.com, stephen@networkplumber.org, gaetan.rivet@6wind.com, qi.z.zhang@intel.com, arybchenko@solarflare.com, bruce.richardson@intel.com, matan@mellanox.com, shaopeng.he@intel.com Date: Wed, 7 Nov 2018 17:41:30 +0800 Message-Id: <1541583691-145432-2-git-send-email-jia.guo@intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1541583691-145432-1-git-send-email-jia.guo@intel.com> References: <1541583691-145432-1-git-send-email-jia.guo@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH 1/2] eal: expose device states in rte device 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: Wed, 07 Nov 2018 09:37:32 -0000 Since the hotplug API and device event API have make public, so in order to let applications or driver deal with device directly, it would be helpful if the states of device could be exposed, especially for hotplug process. This patch will add some devices states in rte device structure to recode the device's current status, such as “RTE_DEV_UNUSED”, “RTE_DEV_ATTACHED” and “RTE_DEV_REMOVED”. Signed-off-by: Jeff Guo --- lib/librte_eal/common/include/rte_dev.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/librte_eal/common/include/rte_dev.h b/lib/librte_eal/common/include/rte_dev.h index cd6c187..1bab0dd 100644 --- a/lib/librte_eal/common/include/rte_dev.h +++ b/lib/librte_eal/common/include/rte_dev.h @@ -151,6 +151,18 @@ struct rte_driver { #define RTE_DEV_NAME_MAX_LEN 64 /** + * Possible states of an rte devcie. + */ +enum rte_dev_state { + /** Device is unused before being hotplug add. */ + RTE_DEV_UNUSED = 0, + /** Device is attached when allocated in probing. */ + RTE_DEV_ATTACHED, + /** Device is in removed state when plug-out is detected. */ + RTE_DEV_REMOVED, +}; + +/** * A structure describing a generic device. */ struct rte_device { @@ -160,6 +172,7 @@ struct rte_device { const struct rte_bus *bus; /**< Bus handle assigned on scan */ int numa_node; /**< NUMA node connection */ struct rte_devargs *devargs; /**< Arguments for latest probing */ + enum rte_dev_state state; /**< Flag indicating the device state */ }; /** -- 2.7.4