From: Nishanth Menon <nm@ti.com>
To: Viresh Kumar <viresh.kumar@linaro.org>, rjw@rjwysocki.net
Cc: linaro-kernel@lists.linaro.org, linux-pm@vger.kernel.org,
linux-kernel@vger.kernel.org, arvind.chauhan@arm.com,
inderpal.s@samsung.com, chander.kashyap@linaro.org, pavel@ucw.cz,
len.brown@intel.com, sudeep.holla@arm.com,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Amit Daniel Kachhap <amit.daniel@samsung.com>,
Kukjin Kim <kgene.kim@samsung.com>,
Shawn Guo <shawn.guo@linaro.org>
Subject: Re: [PATCH V4 4/8] driver/core: cpu: initialize opp table
Date: Thu, 29 May 2014 17:41:58 -0500 [thread overview]
Message-ID: <5387B7B6.70102@ti.com> (raw)
In-Reply-To: <ce68a1ba333ab080a2428242d8fa4d4629064a4d.1401191054.git.viresh.kumar@linaro.org>
On 05/27/2014 06:50 AM, Viresh Kumar wrote:
> Drivers expecting CPU's OPPs from device tree initialize OPP table themselves by
> calling of_init_opp_table() and there is nothing driver specific in that. They
> all do it in the same redundant way.
>
> It would be better if we can get rid of redundancy by initializing CPU OPPs from
> CPU core code for all CPUs (that have a "operating-points" property defined in
> their node).
>
> This patch calls of_init_opp_table() right after CPU device is registered in
> register_cpu(). of_init_opp_table() also has a dummy implementation which simply
> returns -ENOSYS when CONFIG_OPP or CONFIG_OF isn't supported by some platform.
>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: Amit Daniel Kachhap <amit.daniel@samsung.com>
> Cc: Kukjin Kim <kgene.kim@samsung.com>
> Cc: Shawn Guo <shawn.guo@linaro.org>
> Cc: Sudeep Holla <sudeep.holla@arm.com>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
> drivers/base/cpu.c | 11 +++++++----
> 1 file changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c
> index 006b1bc..790183f 100644
> --- a/drivers/base/cpu.c
> +++ b/drivers/base/cpu.c
> @@ -16,6 +16,7 @@
> #include <linux/acpi.h>
> #include <linux/of.h>
> #include <linux/cpufeature.h>
> +#include <linux/pm_opp.h>
>
> #include "base.h"
>
> @@ -349,10 +350,12 @@ int register_cpu(struct cpu *cpu, int num)
> if (cpu->hotpluggable)
> cpu->dev.groups = hotplugable_cpu_attr_groups;
> error = device_register(&cpu->dev);
> - if (!error)
> - per_cpu(cpu_sys_devices, num) = &cpu->dev;
> - if (!error)
> - register_cpu_under_node(num, cpu_to_node(num));
> + if (error)
> + return error;
> +
> + per_cpu(cpu_sys_devices, num) = &cpu->dev;
> + register_cpu_under_node(num, cpu_to_node(num));
The change so far is a improvement in error handling -> which,
personally I find nice, but not necessarily related to the $subject or
covered in commit message. I suggest splitting that specific change
out as a patch of it's own.
> + of_init_opp_table(&cpu->dev);
tricky... :) I finally did catchup on previous discussions
https://patchwork.kernel.org/patch/4199601/
https://patchwork.kernel.org/patch/4199741/
https://patchwork.kernel.org/patch/4215901/
https://patchwork.kernel.org/patch/4220431/
So, will let Rafael comment better here.
>
> return error;
> }
>
--
Regards,
Nishanth Menon
WARNING: multiple messages have this Message-ID (diff)
From: Nishanth Menon <nm@ti.com>
To: Viresh Kumar <viresh.kumar@linaro.org>, <rjw@rjwysocki.net>
Cc: <linaro-kernel@lists.linaro.org>, <linux-pm@vger.kernel.org>,
<linux-kernel@vger.kernel.org>, <arvind.chauhan@arm.com>,
<inderpal.s@samsung.com>, <chander.kashyap@linaro.org>,
<pavel@ucw.cz>, <len.brown@intel.com>, <sudeep.holla@arm.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Amit Daniel Kachhap <amit.daniel@samsung.com>,
Kukjin Kim <kgene.kim@samsung.com>,
Shawn Guo <shawn.guo@linaro.org>
Subject: Re: [PATCH V4 4/8] driver/core: cpu: initialize opp table
Date: Thu, 29 May 2014 17:41:58 -0500 [thread overview]
Message-ID: <5387B7B6.70102@ti.com> (raw)
In-Reply-To: <ce68a1ba333ab080a2428242d8fa4d4629064a4d.1401191054.git.viresh.kumar@linaro.org>
On 05/27/2014 06:50 AM, Viresh Kumar wrote:
> Drivers expecting CPU's OPPs from device tree initialize OPP table themselves by
> calling of_init_opp_table() and there is nothing driver specific in that. They
> all do it in the same redundant way.
>
> It would be better if we can get rid of redundancy by initializing CPU OPPs from
> CPU core code for all CPUs (that have a "operating-points" property defined in
> their node).
>
> This patch calls of_init_opp_table() right after CPU device is registered in
> register_cpu(). of_init_opp_table() also has a dummy implementation which simply
> returns -ENOSYS when CONFIG_OPP or CONFIG_OF isn't supported by some platform.
>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: Amit Daniel Kachhap <amit.daniel@samsung.com>
> Cc: Kukjin Kim <kgene.kim@samsung.com>
> Cc: Shawn Guo <shawn.guo@linaro.org>
> Cc: Sudeep Holla <sudeep.holla@arm.com>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
> drivers/base/cpu.c | 11 +++++++----
> 1 file changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c
> index 006b1bc..790183f 100644
> --- a/drivers/base/cpu.c
> +++ b/drivers/base/cpu.c
> @@ -16,6 +16,7 @@
> #include <linux/acpi.h>
> #include <linux/of.h>
> #include <linux/cpufeature.h>
> +#include <linux/pm_opp.h>
>
> #include "base.h"
>
> @@ -349,10 +350,12 @@ int register_cpu(struct cpu *cpu, int num)
> if (cpu->hotpluggable)
> cpu->dev.groups = hotplugable_cpu_attr_groups;
> error = device_register(&cpu->dev);
> - if (!error)
> - per_cpu(cpu_sys_devices, num) = &cpu->dev;
> - if (!error)
> - register_cpu_under_node(num, cpu_to_node(num));
> + if (error)
> + return error;
> +
> + per_cpu(cpu_sys_devices, num) = &cpu->dev;
> + register_cpu_under_node(num, cpu_to_node(num));
The change so far is a improvement in error handling -> which,
personally I find nice, but not necessarily related to the $subject or
covered in commit message. I suggest splitting that specific change
out as a patch of it's own.
> + of_init_opp_table(&cpu->dev);
tricky... :) I finally did catchup on previous discussions
https://patchwork.kernel.org/patch/4199601/
https://patchwork.kernel.org/patch/4199741/
https://patchwork.kernel.org/patch/4215901/
https://patchwork.kernel.org/patch/4220431/
So, will let Rafael comment better here.
>
> return error;
> }
>
--
Regards,
Nishanth Menon
next prev parent reply other threads:[~2014-05-29 22:42 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-27 11:50 [PATCH V4 0/8] driver/core: cpu: initialize opp table Viresh Kumar
2014-05-27 11:50 ` [PATCH V4 1/8] opp: of_init_opp_table(): return -ENOSYS when feature isn't implemented Viresh Kumar
2014-05-29 22:19 ` Nishanth Menon
2014-05-29 22:19 ` Nishanth Menon
2014-05-27 11:50 ` [PATCH V4 2/8] opp: call of_node_{get|put}() from of_init_opp_table() Viresh Kumar
2014-05-29 22:32 ` Nishanth Menon
2014-05-29 22:32 ` Nishanth Menon
2014-05-30 6:33 ` Sachin Kamat
2014-05-30 12:22 ` Rafael J. Wysocki
2014-06-02 6:59 ` [PATCH V5 " Viresh Kumar
2014-05-27 11:50 ` [PATCH V4 3/8] opp: Enhance debug messages in of_init_opp_table() Viresh Kumar
2014-05-29 22:33 ` Nishanth Menon
2014-05-29 22:33 ` Nishanth Menon
2014-06-02 7:00 ` [PATCH V5 " Viresh Kumar
2014-05-27 11:50 ` [PATCH V4 4/8] driver/core: cpu: initialize opp table Viresh Kumar
2014-05-29 22:41 ` Nishanth Menon [this message]
2014-05-29 22:41 ` Nishanth Menon
2014-06-02 6:37 ` Viresh Kumar
2014-06-06 21:41 ` Rafael J. Wysocki
2014-05-27 11:50 ` [PATCH V4 5/8] cpufreq: arm_big_little: don't " Viresh Kumar
2014-05-27 11:50 ` [PATCH V4 6/8] cpufreq: imx6q: " Viresh Kumar
2014-05-27 11:50 ` [PATCH V4 7/8] cpufreq: cpufreq-cpu0: " Viresh Kumar
2014-05-27 11:50 ` [PATCH V4 8/8] cpufreq: exynos5440: " Viresh Kumar
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=5387B7B6.70102@ti.com \
--to=nm@ti.com \
--cc=amit.daniel@samsung.com \
--cc=arvind.chauhan@arm.com \
--cc=chander.kashyap@linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=inderpal.s@samsung.com \
--cc=kgene.kim@samsung.com \
--cc=len.brown@intel.com \
--cc=linaro-kernel@lists.linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=pavel@ucw.cz \
--cc=rjw@rjwysocki.net \
--cc=shawn.guo@linaro.org \
--cc=sudeep.holla@arm.com \
--cc=viresh.kumar@linaro.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.