From patchwork Wed Dec 18 11:17: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: 181987 Delivered-To: patch@linaro.org Received: by 2002:a92:3001:0:0:0:0:0 with SMTP id x1csp504487ile; Wed, 18 Dec 2019 03:18:28 -0800 (PST) X-Google-Smtp-Source: APXvYqxMqUCEDJiXn8y/qEZwziK0iq5fGmUIN0rCYXDSIFihEp9wKACR4tE1RZtcJJeLCou08QyG X-Received: by 2002:a05:6808:2c9:: with SMTP id a9mr172752oid.129.1576667908656; Wed, 18 Dec 2019 03:18:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1576667908; cv=none; d=google.com; s=arc-20160816; b=CwdrmYbz0nXfP4bQ4NKWVDY2mMUnkBNGYE+5Q+zrZ8oLcElXaiwg+TXQKEQVFUoWXr NS0PQ5wDxljuiMC8di9OmgfYF2NX1xEIlUMNtQw1DJL7QvUGj5EbcGah5MfGJkHaRAPy /l2cFGXcrdT8wCrA2vV2r1H5hxCWEqHuaSPrjMvsH3lkOWye5K8u2N0/rIZEH3jzJu5P qxJgNyRr3NDfh5Ltl3dOOt1mf2DQGWXVwSVN9UkalMY0Vj5tcC5woZH2HwWhVj9j7Z41 H2/kMAAT6MLYjtyb9nj06g+GBbh2tKDsJHIrGRa91x1FYrRT2opVUT8D0BYsVFmnS8Qu p83Q== 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=oApDTxa0deKro9ziSvs1JV35m3rL5OChZ7VPVDFS5Gs=; b=DYVCylIySoRwXQlJKpUXG4CiiA5LupJAkUMtQpJsVujN7x3hi2EEznYv1/Y4yXDsvR cCZNgD+1VaDmrM4yC+cDHHZoxPzu3W2qRMwh/l9yKPrklHn/DploERyWObnPaAwfINWJ fzeXG0bG+LbWbpBJxEQImATPTNWtizxhjkpaFu3CA1EqtsArLdNSzMVuCmmsKIJTs4GC JUIeTm5p8fUVYvm2LpRRgqPkUm+IwsyMA06KCeTnflv8VYYfi30Yc6bi5bD8aQz2507T WN71cpBJYCyNyEPMm4tsMM04IlK04tJ5kJMRUSl5oWhiKydA3fIYa+r+2PwHqRGbktKX CecA== 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 a205si1225154oii.95.2019.12.18.03.18.28; Wed, 18 Dec 2019 03:18:28 -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 S1727097AbfLRLS1 (ORCPT + 27 others); Wed, 18 Dec 2019 06:18:27 -0500 Received: from foss.arm.com ([217.140.110.172]:42356 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726551AbfLRLRv (ORCPT ); Wed, 18 Dec 2019 06:17:51 -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 50A6E11B3; Wed, 18 Dec 2019 03:17:50 -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 A1DF33F6CF; Wed, 18 Dec 2019 03:17:49 -0800 (PST) From: Sudeep Holla To: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Sudeep Holla , Cristian Marussi Subject: [PATCH v2 03/11] firmware: arm_scmi: Add names to scmi devices created Date: Wed, 18 Dec 2019 11:17:34 +0000 Message-Id: <20191218111742.29731-4-sudeep.holla@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191218111742.29731-1-sudeep.holla@arm.com> References: <20191218111742.29731-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. Reviewed-by: Cristian Marussi Signed-off-by: Sudeep Holla --- drivers/firmware/arm_scmi/driver.c | 36 +++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) -- 2.17.1 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;