From patchwork Tue Dec 10 14:53:34 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sudeep Holla X-Patchwork-Id: 181134 Delivered-To: patch@linaro.org Received: by 2002:ac9:44c4:0:0:0:0:0 with SMTP id t4csp5606452och; Tue, 10 Dec 2019 06:54:50 -0800 (PST) X-Google-Smtp-Source: APXvYqzbABkk8V7VVfAHmnQWIyXiJSrUYmGH9A5gE1ZN4hxpTSJIT9/8nAD8ZGD+yKvmXbhk9i/A X-Received: by 2002:aca:cdd6:: with SMTP id d205mr4044354oig.90.1575989690049; Tue, 10 Dec 2019 06:54:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1575989690; cv=none; d=google.com; s=arc-20160816; b=ionqKF1DACPz2Ud+lytGH7Op+Ja3WjxDsfiou7uUqQ+9gB7SI5pCmce4w3Zmnks33Z THJ6BHk/yEnCX+HoHmSbylpeZadb7UF0UyMqpihO0GRUpQ6TKRV+B6sn/Y9Xt6x/MFjN U5IX6NDj5/ZZYGm+5mzFDYy+wXXQUwU602Ed40DndSAcQBF5dRM3ZJjAK2fhEHicBBSd SKHRMwSLNF9J6zQSLmI/67xtFnDN8nG2fYk65Buply7aQiCsJhrzrdWNiKNlMbmpdp2j RrWIECrIpxPFxGSoipHgYxR1DzV/5rNcINU0ikvWcqLaPI3p6CWb3dpJNTY/IlISKkGe AMwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=bvZaVhuPlI7hXF56TTIbJVvWYLBJjLQNFFH/R6C5Nhs=; b=fZTeatHSLPSX15TZLVg7izM70P5TsykOE8CBRFgCuTHhzLdaoQuSo4LkAt3HWZZTt+ jvIghQ29qq0DM6OF6Mp2HCI286EV+dC2CJbSXnRr2Ud7rsSXgT1kL5t28urVl7nY7wOy mKmWhEsMP/9qsV0fvX84i7gmMr/hWyZQsxJKfX9JiVJLWrSG76WOJceq+u4ffQcAYEdM kTs3MnvNRyTmclIZYxdYCJCajysy6xWseP27B7yCN5mSEwG7cXvhu5FtNp7zgnxJwe1N T+GCacZUaG53c0MHTj9RsHJ/6t0tdzDZjUiTwQKcwJl0xNbWqvk03bkQE/11QKj/4zKr s//g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a12si2053863oie.87.2019.12.10.06.54.49; Tue, 10 Dec 2019 06:54:50 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727677AbfLJOyM (ORCPT + 27 others); Tue, 10 Dec 2019 09:54:12 -0500 Received: from foss.arm.com ([217.140.110.172]:47134 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727610AbfLJOyI (ORCPT ); Tue, 10 Dec 2019 09:54:08 -0500 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 607D713A1; Tue, 10 Dec 2019 06:54:08 -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 B1D553F67D; Tue, 10 Dec 2019 06:54:07 -0800 (PST) From: Sudeep Holla To: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Sudeep Holla , Cristian Marussi Subject: [PATCH 04/15] firmware: arm_scmi: Add names to scmi devices created Date: Tue, 10 Dec 2019 14:53:34 +0000 Message-Id: <20191210145345.11616-5-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> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Now that scmi bus provides option to create named scmi device, let us create the default devices with names. This will help to add names for matching to respective drivers and eventually to add multiple devices and drivers per protocol. Signed-off-by: Sudeep Holla --- drivers/firmware/arm_scmi/driver.c | 36 +++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) -- 2.17.1 Reviewed-by: Cristian Marussi diff --git a/drivers/firmware/arm_scmi/driver.c b/drivers/firmware/arm_scmi/driver.c index 2952fcd8dd8a..0bbdc7c9eb0f 100644 --- a/drivers/firmware/arm_scmi/driver.c +++ b/drivers/firmware/arm_scmi/driver.c @@ -829,6 +829,40 @@ scmi_create_protocol_device(struct device_node *np, struct scmi_info *info, scmi_set_handle(sdev); } +#define MAX_SCMI_DEV_PER_PROTOCOL 2 +struct scmi_prot_devnames { + int protocol_id; + char *names[MAX_SCMI_DEV_PER_PROTOCOL]; +}; + +static struct scmi_prot_devnames devnames[] = { + { SCMI_PROTOCOL_POWER, { "genpd" },}, + { SCMI_PROTOCOL_PERF, { "cpufreq" },}, + { SCMI_PROTOCOL_CLOCK, { "clocks" },}, + { SCMI_PROTOCOL_SENSOR, { "hwmon" },}, + { SCMI_PROTOCOL_RESET, { "reset" },}, +}; + +static inline void +scmi_create_protocol_devices(struct device_node *np, struct scmi_info *info, + int prot_id) +{ + int loop, cnt; + + for (loop = 0; loop < ARRAY_SIZE(devnames); loop++) { + if (devnames[loop].protocol_id != prot_id) + continue; + + for (cnt = 0; cnt < ARRAY_SIZE(devnames[loop].names); cnt++) { + const char *name = devnames[loop].names[cnt]; + + if (name) + scmi_create_protocol_device(np, info, prot_id, + name); + } + } +} + static int scmi_probe(struct platform_device *pdev) { int ret; @@ -897,7 +931,7 @@ static int scmi_probe(struct platform_device *pdev) continue; } - scmi_create_protocol_device(child, info, prot_id, NULL); + scmi_create_protocol_devices(child, info, prot_id); } return 0;