From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CE065C43603 for ; Tue, 10 Dec 2019 14:56:26 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6D9B1207FF for ; Tue, 10 Dec 2019 14:56:26 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="ZMZxybmU" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6D9B1207FF Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References: In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=trSlDv5/x6CWVOtkXyLYe8oIlUMylAHNxOpZHFgpYLM=; b=ZMZxybmUSzLhT3q/zLZyNhLCMg 1p5P/IHQasah2W0GMoU7viY9dMOlxt5wtpalaQusezQlvTpnNcmd3KlrnjYc3bFR8gp1f9IX2yI7k lrQfKVQ0GF/KcRWTzflYVB5OOBB6fYWCuh7yDpWjMaIVegrNZhuNZsyIP3YhGIg8gLyBZmuIs1WxB mry4T/bRLB7BrDXrI24K+hyzJO2mScGb7EVWnsmsnvl5pHOWdPtT/ZRztLDbAg0Y79+q8PzMPBDYq Gsf4ZEy5jh4K9B8nIlp4DUylzofhkwYVA1/t2R77XbAkxxdkFmGqB1W0wZw6mhOf3QC52syXQKBJJ o8Mtj7UA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iegw4-0000sP-7e; Tue, 10 Dec 2019 14:56:24 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iegtx-00066o-8H for linux-arm-kernel@lists.infradead.org; Tue, 10 Dec 2019 14:54:16 +0000 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 C15AA328; Tue, 10 Dec 2019 06:54:12 -0800 (PST) Received: from usa.arm.com (e107155-lin.cambridge.arm.com [10.1.196.42]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 1E95E3F67D; Tue, 10 Dec 2019 06:54:12 -0800 (PST) From: Sudeep Holla To: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 09/15] firmware: arm_scmi: Add scmi protocol version and id device attributes Date: Tue, 10 Dec 2019 14:53:39 +0000 Message-Id: <20191210145345.11616-10-sudeep.holla@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191210145345.11616-1-sudeep.holla@arm.com> References: <20191210145345.11616-1-sudeep.holla@arm.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191210_065413_482640_DAF8EFE6 X-CRM114-Status: GOOD ( 10.08 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Cristian Marussi , Sudeep Holla MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org Linux kernel bus driver management layer provides way to add set of default attributes of the devices on the bus. Using the same, let's add the scmi per protocol version and id attributes to the sysfs. It helps to identify the individual protocol details from the sysfs entries similar to the SCMI protocol and firmware version. Signed-off-by: Sudeep Holla --- drivers/firmware/arm_scmi/bus.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/drivers/firmware/arm_scmi/bus.c b/drivers/firmware/arm_scmi/bus.c index f619da2634a6..ed0ed02f7158 100644 --- a/drivers/firmware/arm_scmi/bus.c +++ b/drivers/firmware/arm_scmi/bus.c @@ -92,11 +92,38 @@ static int scmi_dev_remove(struct device *dev) return 0; } +static ssize_t protocol_version_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct scmi_device *scmi_dev = to_scmi_dev(dev); + + return sprintf(buf, "%u.%u\n", PROTOCOL_REV_MAJOR(scmi_dev->version), + PROTOCOL_REV_MINOR(scmi_dev->version)); +} +static DEVICE_ATTR_RO(protocol_version); + +static ssize_t protocol_id_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct scmi_device *scmi_dev = to_scmi_dev(dev); + + return sprintf(buf, "%u\n", scmi_dev->protocol_id); +} +static DEVICE_ATTR_RO(protocol_id); + +static struct attribute *versions_attrs[] = { + &dev_attr_protocol_version.attr, + &dev_attr_protocol_id.attr, + NULL, +}; +ATTRIBUTE_GROUPS(versions); + static struct bus_type scmi_bus_type = { .name = "scmi_protocol", .match = scmi_dev_match, .probe = scmi_dev_probe, .remove = scmi_dev_remove, + .dev_groups = versions_groups, }; int scmi_driver_register(struct scmi_driver *driver, struct module *owner, -- 2.17.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel