From patchwork Wed Mar 22 14:48:29 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Milard X-Patchwork-Id: 95756 Delivered-To: patch@linaro.org Received: by 10.182.3.34 with SMTP id 2csp233039obz; Wed, 22 Mar 2017 07:10:18 -0700 (PDT) X-Received: by 10.107.169.201 with SMTP id f70mr44138626ioj.161.1490191818301; Wed, 22 Mar 2017 07:10:18 -0700 (PDT) Return-Path: Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id q188si1866126itg.94.2017.03.22.07.10.17; Wed, 22 Mar 2017 07:10:18 -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 BD522642E5; Wed, 22 Mar 2017 14:10:17 +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 45DB664328; Wed, 22 Mar 2017 13:51:55 +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 64F6864329; Wed, 22 Mar 2017 13:51:52 +0000 (UTC) Received: from mail-wm0-f48.google.com (mail-wm0-f48.google.com [74.125.82.48]) by lists.linaro.org (Postfix) with ESMTPS id A5820642BB for ; Wed, 22 Mar 2017 13:49:38 +0000 (UTC) Received: by mail-wm0-f48.google.com with SMTP id n11so37225695wma.1 for ; Wed, 22 Mar 2017 06:49:38 -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=cx/j/kGStKI8qAMd3PYMgFmP7jHqPWZ1aK6MoSUI254=; b=VTc+HIOnAMifnzd5HumaCbaUkFKro0Uzo2uRh3C0Mj2W/rQR2nuesF0CvqAYE3qb66 /cKLmjB7hBLgeokMK3W9PkJZrra7+MAYF4BHtzCFX75hGt7F1LzblPCj7tAYJ2eMDvj5 Ob5US0O+NAkVMYbkf1BGz1npX2BYS0Zy1lH53lL27rZIV+388gZquJbdSTJ2zcVnnqxn yrdWEdy9yq6ExVa/RI8EbMBgy1VIANgqfJwFeLsGbLYFGKPqIZ1XtTihrkOVACcxgjGs ZHNFc2FWj469+FzPOPlHl2kQfQ2JvG8i4LF8NveCt9KsVIbXXbC4YsU9m36HDmGG2ooX fhsQ== X-Gm-Message-State: AFeK/H1M3d98PvCx12PGMQLNsmJ+T9jX4IDTPquhkIR/8EKMZ1QRHmTcpBbUzRIyA7Nfx7cNGDIaotNo X-Received: by 10.25.167.203 with SMTP id q194mr11285924lfe.138.1490190577481; Wed, 22 Mar 2017 06:49:37 -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.36 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 22 Mar 2017 06:49:36 -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:29 +0100 Message-Id: <1490194110-40168-23-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 22/23] linux-gen: adding functions to attach driver's data to the device 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" Implementation of the functions to set/retrieve driver's data to/from a bound device. Signed-off-by: Christophe Milard --- platform/linux-generic/drv_driver.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) -- 2.7.4 diff --git a/platform/linux-generic/drv_driver.c b/platform/linux-generic/drv_driver.c index ea92457..70bf318 100644 --- a/platform/linux-generic/drv_driver.c +++ b/platform/linux-generic/drv_driver.c @@ -70,6 +70,7 @@ struct _odpdrv_device_s { odpdrv_device_param_t param; _odpdrv_driver_t *driver; /* driver for the device (if bound), or NULL*/ _odpdrv_devio_t *devio; /* devio used for device (if bound), or NULL*/ + void *driver_data; /* anything that the driver need to attach. */ void (*enumr_destroy_callback)(void *enum_dev);/*dev destroy callback */ struct _odpdrv_device_s *next; } _odpdrv_device_s; @@ -395,6 +396,7 @@ odpdrv_device_t odpdrv_device_create(odpdrv_device_param_t *param) dev->enumr_destroy_callback = NULL; dev->driver = NULL; dev->devio = NULL; + dev->driver_data = NULL; dev_list_write_lock(); dev->next = device_lst.head; device_lst.head = dev; @@ -852,6 +854,22 @@ void _odpdrv_driver_probe_drv_items(void) probe_all(); } +void odpdrv_device_set_data(odpdrv_device_t dev, void *data) +{ + _odpdrv_device_t *_dev; + + _dev = get_device(dev); + _dev->driver_data = data; +} + +void *odpdrv_device_get_data(odpdrv_device_t dev) +{ + _odpdrv_device_t *_dev; + + _dev = get_device(dev); + return _dev->driver_data; +} + int odpdrv_print_all(void) { _odpdrv_enumr_class_t *enumr_c;