[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20220210133814.GB334894@leoy-ThinkPad-X240s>
Date: Thu, 10 Feb 2022 21:38:14 +0800
From: Leo Yan <leo.yan@...aro.org>
To: Viresh Kumar <viresh.kumar@...aro.org>
Cc: Rafael Wysocki <rjw@...ysocki.net>,
Viresh Kumar <vireshk@...nel.org>, Nishanth Menon <nm@...com>,
Stephen Boyd <sboyd@...nel.org>, linux-pm@...r.kernel.org,
Vincent Guittot <vincent.guittot@...aro.org>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] opp: Expose of-node's name in debugfs
Hi Viresh,
On Thu, Feb 10, 2022 at 03:29:26PM +0530, Viresh Kumar wrote:
> It is difficult to find which OPPs are active at the moment, specially
> if there are multiple OPPs with same frequency available in the device
> tree (controlled by supported hardware feature).
>
> Expose name of the DT node to find out the exact OPP.
>
> While at it, also expose level field.
>
> Reported-by: Leo Yan <leo.yan@...aro.org>
> Signed-off-by: Viresh Kumar <viresh.kumar@...aro.org>
Thanks a lot for patch. I verified it:
Tested-by: Leo Yan <leo.yan@...aro.org>
> ---
> drivers/opp/debugfs.c | 5 +++++
> drivers/opp/opp.h | 1 +
> 2 files changed, 6 insertions(+)
>
> diff --git a/drivers/opp/debugfs.c b/drivers/opp/debugfs.c
> index 596c185b5dda..b5f2f9f39392 100644
> --- a/drivers/opp/debugfs.c
> +++ b/drivers/opp/debugfs.c
> @@ -10,6 +10,7 @@
> #include <linux/debugfs.h>
> #include <linux/device.h>
> #include <linux/err.h>
> +#include <linux/of.h>
> #include <linux/init.h>
> #include <linux/limits.h>
> #include <linux/slab.h>
> @@ -131,9 +132,13 @@ void opp_debug_create_one(struct dev_pm_opp *opp, struct opp_table *opp_table)
> debugfs_create_bool("suspend", S_IRUGO, d, &opp->suspend);
> debugfs_create_u32("performance_state", S_IRUGO, d, &opp->pstate);
> debugfs_create_ulong("rate_hz", S_IRUGO, d, &opp->rate);
> + debugfs_create_u32("level", S_IRUGO, d, &opp->level);
> debugfs_create_ulong("clock_latency_ns", S_IRUGO, d,
> &opp->clock_latency_ns);
>
> + opp->of_name = of_node_full_name(opp->np);
> + debugfs_create_str("of_name", S_IRUGO, d, (char **)&opp->of_name);
> +
> opp_debug_create_supplies(opp, opp_table, d);
> opp_debug_create_bw(opp, opp_table, d);
>
> diff --git a/drivers/opp/opp.h b/drivers/opp/opp.h
> index 407c3bfe51d9..45e3a55239a1 100644
> --- a/drivers/opp/opp.h
> +++ b/drivers/opp/opp.h
> @@ -96,6 +96,7 @@ struct dev_pm_opp {
>
> #ifdef CONFIG_DEBUG_FS
> struct dentry *dentry;
> + const char *of_name;
> #endif
> };
>
> --
> 2.31.1.272.g89b43f80a514
>
Powered by blists - more mailing lists