From: Cristian Marussi <cristian.marussi@arm.com>
To: Sudeep Holla <sudeep.holla@arm.com>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 04/15] firmware: arm_scmi: Add names to scmi devices created
Date: Tue, 10 Dec 2019 18:26:42 +0000 [thread overview]
Message-ID: <22634361-320b-e08e-d7f2-34a95038e838@arm.com> (raw)
In-Reply-To: <20191210145345.11616-5-sudeep.holla@arm.com>
Hi
On 10/12/2019 14:53, Sudeep Holla wrote:
> 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 <sudeep.holla@arm.com>
> ---
> drivers/firmware/arm_scmi/driver.c | 36 +++++++++++++++++++++++++++++-
> 1 file changed, 35 insertions(+), 1 deletion(-)
>
> 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;
> --
> 2.17.1
>
I'm a little bit puzzled by the builtin fixed define MAX_SCMI_DEV_PER_PROTOCOL, but
I have not really an alternative solution as of now, so looks good to me.
Reviewed-by: Cristian Marussi <cristian.marussi@arm.com>
Cheers
Cristian
next prev parent reply other threads:[~2019-12-10 18:26 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-10 14:53 [PATCH 00/15] firmware: arm_scmi: Add support for multiple device per protocol Sudeep Holla
2019-12-10 14:53 ` [PATCH 01/15] " Sudeep Holla
2019-12-10 17:02 ` Cristian Marussi
2019-12-10 14:53 ` [PATCH 02/15] firmware: arm_scmi: Skip scmi mbox channel setup for addtional devices Sudeep Holla
2019-12-10 17:33 ` Cristian Marussi
2019-12-10 14:53 ` [PATCH 03/15] firmware: arm_scmi: Skip protocol initialisation for additional devices Sudeep Holla
2019-12-10 18:14 ` Cristian Marussi
2019-12-10 14:53 ` [PATCH 04/15] firmware: arm_scmi: Add names to scmi devices created Sudeep Holla
2019-12-10 18:26 ` Cristian Marussi [this message]
2019-12-10 14:53 ` [PATCH 05/15] firmware: arm_scmi: Add versions and identifier attributes using dev_groups Sudeep Holla
2019-12-11 13:21 ` Cristian Marussi
2019-12-10 14:53 ` [PATCH 06/15] firmware: arm_scmi: Update scmi_prot_init_fn_t to use device instead of handle Sudeep Holla
2019-12-11 17:34 ` Cristian Marussi
2019-12-10 14:53 ` [PATCH 07/15] firmware: arm_scmi: Stash version in protocol init functions Sudeep Holla
2019-12-11 17:35 ` Cristian Marussi
2019-12-10 14:53 ` [PATCH 08/15] firmware: arm_scmi: Add and initialise protocol version to scmi_device structure Sudeep Holla
2019-12-11 18:06 ` Cristian Marussi
2019-12-12 12:15 ` Sudeep Holla
2019-12-10 14:53 ` [PATCH 09/15] firmware: arm_scmi: Add scmi protocol version and id device attributes Sudeep Holla
2019-12-11 18:08 ` Cristian Marussi
2019-12-10 14:53 ` [PATCH 10/15] firmware: arm_scmi: Drop logging individual scmi protocol version Sudeep Holla
2019-12-11 18:09 ` Cristian Marussi
2019-12-10 14:53 ` [PATCH 11/15] firmware: arm_scmi: Match scmi device by both name and protocol id Sudeep Holla
2019-12-11 18:09 ` Cristian Marussi
2019-12-11 18:10 ` Cristian Marussi
2019-12-10 14:53 ` [PATCH 12/15] clk: scmi: " Sudeep Holla
2019-12-24 7:49 ` Stephen Boyd
2019-12-10 14:53 ` [PATCH 13/15] cpufreq: " Sudeep Holla
2019-12-11 2:39 ` Viresh Kumar
2019-12-11 10:13 ` Sudeep Holla
2019-12-11 10:30 ` Viresh Kumar
2019-12-10 14:53 ` [PATCH 14/15] hwmon: (scmi-hwmon) " Sudeep Holla
2019-12-10 18:06 ` Guenter Roeck
2019-12-10 18:20 ` Sudeep Holla
2019-12-10 14:53 ` [PATCH 15/15] reset: reset-scmi: " Sudeep Holla
2019-12-11 9:51 ` Philipp Zabel
2019-12-11 15:28 ` Sudeep Holla
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=22634361-320b-e08e-d7f2-34a95038e838@arm.com \
--to=cristian.marussi@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sudeep.holla@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).