Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp4413919pxf; Tue, 16 Mar 2021 12:52:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzG6LeeJrBVbpN08yovn9u9jwEqjsVRV5yIToK3Bt3eU6IR8DSEFYhCKkYU7YC4CGth8xZn X-Received: by 2002:a05:6402:138f:: with SMTP id b15mr37372726edv.121.1615924373254; Tue, 16 Mar 2021 12:52:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1615924373; cv=none; d=google.com; s=arc-20160816; b=Ed7oywgm4Ov1w8/hFZJbIRC4JgDj6cDuCJzcSM5izfb0QfqWJZd3HIt7Dbb6Hh/2Av HN4g+95TmKIMbBZWhKsb2ROt+wtMF6Ae4EvpDsa5Q6PQWVE6GzPswUTilEEb0B4r2EgZ 4NtCwj5cej89mfD6IrsrbhsW2H5Gf2rayhu11qoCh5XT10+Bvk/SVFHQjkK9wSpekseu f4xMEPBj0ieBdAeYKBTdwaTygG9evk0Lp6/DXerNEvrOQ/Huc+kqp9Tbsa887iXuhTOt UX4Y5j3/oPHCwqDKX0oKXYgVpD6MWDNSd26xwk+CjLeUq+9b8jZfuyOcGdbia+R6SsPy YUnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from; bh=LBi94cArkvuL24iSbTmA4VD17QnEsg9M1etIdGMF0B8=; b=tK0dt9Kk6tTDLhmIMSmzEfp2uywUrJCiH1SmRcnCdNjNBpC2xa/df+VL95+FSgTgY8 mtW5SePmQ33yq5hMftQ8+SCqmo/7er7wrhhK++3dof20yugNvd0FBjXLxvGXNkf3R+53 6JizOch8eVigp1qkmCYBWZbPxP5yJQg+h3KVuVqOHaGS8KG3OExgL4uf0aqpI7ibCEsw HfwjnPj/liWTuQdA0FjNwhw8hHtAabVTn3ExYO5jfIhSxT6DsB+YDvfE+JSCKJYEqXud PyHpqGkR9crkB9VfWGkjQ8saXVsJocO5lpo0UbB9jJnb3zPCK8AYJppZ8zvatswf0PY0 KpAg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z14si15035664edq.36.2021.03.16.12.52.30; Tue, 16 Mar 2021 12:52:53 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233525AbhCPMuw (ORCPT + 99 others); Tue, 16 Mar 2021 08:50:52 -0400 Received: from foss.arm.com ([217.140.110.172]:37734 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233029AbhCPMtg (ORCPT ); Tue, 16 Mar 2021 08:49:36 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id BE9DD1424; Tue, 16 Mar 2021 05:49:35 -0700 (PDT) Received: from e120937-lin.home (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B94D03F792; Tue, 16 Mar 2021 05:49:33 -0700 (PDT) From: Cristian Marussi To: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: sudeep.holla@arm.com, lukasz.luba@arm.com, james.quinlan@broadcom.com, Jonathan.Cameron@Huawei.com, f.fainelli@gmail.com, etienne.carriere@linaro.org, thara.gopinath@linaro.org, vincent.guittot@linaro.org, souvik.chakravarty@arm.com, cristian.marussi@arm.com Subject: [PATCH v7 09/38] firmware: arm_scmi: add helper to access revision area memory Date: Tue, 16 Mar 2021 12:48:34 +0000 Message-Id: <20210316124903.35011-10-cristian.marussi@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210316124903.35011-1-cristian.marussi@arm.com> References: <20210316124903.35011-1-cristian.marussi@arm.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add an helper to grab, from a protocol handle, the handle common memory area allocated to store SCMI version data which is exposed on sysfs. Such helper will be needed by SCMI Base protocol initialization once it will be moved to new protocol handles scheme. Signed-off-by: Cristian Marussi --- v6 --> v7 - renamed non-static function to fit scmi__ naming pattern --- drivers/firmware/arm_scmi/common.h | 2 ++ drivers/firmware/arm_scmi/driver.c | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/drivers/firmware/arm_scmi/common.h b/drivers/firmware/arm_scmi/common.h index 10e24ad43f0f..6a06adc73f20 100644 --- a/drivers/firmware/arm_scmi/common.h +++ b/drivers/firmware/arm_scmi/common.h @@ -215,6 +215,8 @@ struct scmi_xfer_ops { struct scmi_xfer *xfer); }; +struct scmi_revision_info * +scmi_revision_area_get(const struct scmi_protocol_handle *ph); int scmi_handle_put(const struct scmi_handle *handle); struct scmi_handle *scmi_handle_get(struct device *dev); void scmi_set_handle(struct scmi_device *scmi_dev); diff --git a/drivers/firmware/arm_scmi/driver.c b/drivers/firmware/arm_scmi/driver.c index 8db450a0c294..fa83e1aec6d7 100644 --- a/drivers/firmware/arm_scmi/driver.c +++ b/drivers/firmware/arm_scmi/driver.c @@ -698,6 +698,25 @@ static const struct scmi_xfer_ops xfer_ops = { .xfer_put = xfer_put, }; +/** + * scmi_revision_area_get - Retrieve version memory area. + * + * @ph: A reference to the protocol handle. + * + * A helper to grab the version memory area reference during SCMI Base protocol + * initialization. + * + * Return: A reference to the version memory area associated to the SCMI + * instance underlying this protocol handle. + */ +struct scmi_revision_info * +scmi_revision_area_get(const struct scmi_protocol_handle *ph) +{ + const struct scmi_protocol_instance *pi = ph_to_pi(ph); + + return pi->handle->version; +} + /** * scmi_alloc_init_protocol_instance - Allocate and initialize a protocol * instance descriptor. -- 2.17.1