From patchwork Wed Mar 22 14:48:21 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Milard X-Patchwork-Id: 95739 Delivered-To: patch@linaro.org Received: by 10.182.3.34 with SMTP id 2csp229194obz; Wed, 22 Mar 2017 07:02:09 -0700 (PDT) X-Received: by 10.107.8.91 with SMTP id 88mr35420787ioi.142.1490191329787; Wed, 22 Mar 2017 07:02:09 -0700 (PDT) Return-Path: Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id 134si1847763ion.113.2017.03.22.07.02.09; Wed, 22 Mar 2017 07:02:09 -0700 (PDT) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) client-ip=54.225.227.206; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 544CF642B0; Wed, 22 Mar 2017 14:02:09 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, URIBL_BLOCKED autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id A191B64300; Wed, 22 Mar 2017 13:51:03 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 89DCA608DE; Wed, 22 Mar 2017 13:50:59 +0000 (UTC) Received: from mail-wm0-f45.google.com (mail-wm0-f45.google.com [74.125.82.45]) by lists.linaro.org (Postfix) with ESMTPS id F03D3642B0 for ; Wed, 22 Mar 2017 13:49:29 +0000 (UTC) Received: by mail-wm0-f45.google.com with SMTP id t189so38381840wmt.1 for ; Wed, 22 Mar 2017 06:49:29 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=uacfQHC0g30ruIowJ8+3nHgR3noJHEBRo2mG9HEfarY=; b=Ikx7l5WGTY55jbrliynrJIkGRDPzKWW1uE7i5bLWzOAWmufv1GSDMrB1rFFSJRH/Ui hpDZCLYw0L9GINE2LWbbzCYVYGaM85cW70P0BTVvdhrpjTDfMOPCt7EbUzR5NAHtkKdq pCjbsRaGuCO9yAx7UotzrhMCtrM1HuU9Tg5w73G+MZQ0gl5SYJO9pm9APnSAtquZ1CP1 MxYNJvM9YTj0vov6oFnZSGV9MnKVFc9VzImys36J9QyZBmtxkuc98IFPHW29e3wehPG5 pIyeqt5Pom7EdzqyD6Sc1vNXcQKSaPBtFn5Tig5ftMfHFhneiB4NGl0MxXf96X7VMnAE UE+Q== X-Gm-Message-State: AFeK/H2OHvkUgq5t/YbOcJrZqyQkINKxv6VoEQ6dQ2SY+iF3OLe4RUWflmwaxU+2AdwlHT+0rOI= X-Received: by 10.25.56.91 with SMTP id d27mr11380951lfj.30.1490190568919; Wed, 22 Mar 2017 06:49:28 -0700 (PDT) Received: from erachmi-ericsson.ki.sw.ericsson.se (c-83-233-76-66.cust.bredband2.com. [83.233.76.66]) by smtp.gmail.com with ESMTPSA id l23sm522305lfk.27.2017.03.22.06.49.27 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 22 Mar 2017 06:49:28 -0700 (PDT) From: Christophe Milard To: yi.he@linaro.org, bill.fischofer@linaro.org, lng-odp@lists.linaro.org Date: Wed, 22 Mar 2017 15:48:21 +0100 Message-Id: <1490194110-40168-15-git-send-email-christophe.milard@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1490194110-40168-1-git-send-email-christophe.milard@linaro.org> References: <1490194110-40168-1-git-send-email-christophe.milard@linaro.org> Subject: [lng-odp] [API-NEXT PATCHv2 14/23] drv: driver: adding a probe and remove callback for devio X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" Needed to delete the resources needed for the devio. That is possibly the memory allocated for its "ops" part if it was allocated. May be NULL if nothing needs to be done at devio deletion time. Signed-off-by: Christophe Milard --- include/odp/drv/spec/driver.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) -- 2.7.4 diff --git a/include/odp/drv/spec/driver.h b/include/odp/drv/spec/driver.h index e861396..f89c282 100644 --- a/include/odp/drv/spec/driver.h +++ b/include/odp/drv/spec/driver.h @@ -269,6 +269,24 @@ struct odpdrv_devio_param_t { char enumr_api_name[ODPDRV_NAME_SIZE]; uint32_t enumr_api_version; /**<< required enumerator API version */ + /** Probe function: + * Tell whether this devio can handle the given device. + * The devio is hence given a chance to reject a given device for + * any reason. No binding occurs here. binding occurs when the + * driver is probed. + * returns 0 if this devio can handle the given device, or a negative + * value if not. + * If left to NULL, a 0 returned value is assumed + */ + int (*probe)(odpdrv_device_t dev); + + /** Remove function: + * Should destroy the memory allocated for ops and anything else + * under it, or any resource for this devio. + * Returns 0 on success or a negative value on error. + */ + int (*remove)(void); + /** Ops * Pointer to a devio ops structure (specific to each devio) */