All of lore.kernel.org
 help / color / mirror / Atom feed
From: Viresh Kumar <viresh.kumar@linaro.org>
To: rjw@rjwysocki.net, shawn.guo@linaro.org
Cc: linaro-kernel@lists.linaro.org, linux-pm@vger.kernel.org,
	linux-kernel@vger.kernel.org, arvind.chauhan@arm.com,
	sboyd@codeaurora.org, linux-arm-msm@vger.kernel.org,
	spk.linux@gmail.com, thomas.ab@samsung.com, nm@ti.com,
	t.figa@samsung.com, Viresh Kumar <viresh.kumar@linaro.org>
Subject: [PATCH V2 Resend 07/14] cpufreq: cpu0: OPPs can be populated at runtime
Date: Wed,  2 Jul 2014 09:33:23 +0530	[thread overview]
Message-ID: <e0680f66383f71400f0caa7032620b82c7b3af83.1404273178.git.viresh.kumar@linaro.org> (raw)
In-Reply-To: <1ba7771e910084cd0820c19ca5994fe1b3d6451d.1404231535.git.viresh.kumar@linaro.org>

OPPs can be populated statically, via DT, or added at run time with
dev_pm_opp_add().

While this driver handles the first case correctly, it would fail to populate
OPPs added at runtime. Because call to of_init_opp_table() would fail as there
are no OPPs in DT and probe will return early.

To fix this, remove error checking and call dev_pm_opp_init_cpufreq_table()
unconditionally.

Update bindings as well.

Suggested-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
V2 Resend: Update bindings as well

 Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt | 6 ++++--
 drivers/cpufreq/cpufreq-cpu0.c                             | 7 ++-----
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt b/Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt
index f055515..366690c 100644
--- a/Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt
+++ b/Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt
@@ -8,10 +8,12 @@ Both required and optional properties listed below must be defined
 under node /cpus/cpu@0.
 
 Required properties:
-- operating-points: Refer to Documentation/devicetree/bindings/power/opp.txt
-  for details
+- None
 
 Optional properties:
+- operating-points: Refer to Documentation/devicetree/bindings/power/opp.txt for
+  details. OPPs *must* be supplied either via DT, i.e. this property, or
+  populated at runtime.
 - clock-latency: Specify the possible maximum transition latency for clock,
   in unit of nanoseconds.
 - voltage-tolerance: Specify the CPU voltage tolerance in percentage.
diff --git a/drivers/cpufreq/cpufreq-cpu0.c b/drivers/cpufreq/cpufreq-cpu0.c
index b5b8e1c..f47f703 100644
--- a/drivers/cpufreq/cpufreq-cpu0.c
+++ b/drivers/cpufreq/cpufreq-cpu0.c
@@ -164,11 +164,8 @@ static int cpu0_cpufreq_probe(struct platform_device *pdev)
 		goto out_put_reg;
 	}
 
-	ret = of_init_opp_table(cpu_dev);
-	if (ret) {
-		pr_err("failed to init OPP table: %d\n", ret);
-		goto out_put_clk;
-	}
+	/* OPPs might be populated at runtime, don't check for error here */
+	of_init_opp_table(cpu_dev);
 
 	ret = dev_pm_opp_init_cpufreq_table(cpu_dev, &freq_table);
 	if (ret) {
-- 
2.0.0.rc2

  parent reply	other threads:[~2014-07-02  4:03 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-01 16:32 [PATCH 00/14] cpufreq: cpu0: Extend support beyond CPU0, V2 Viresh Kumar
2014-07-01 16:32 ` [PATCH 01/14] of: Create of_property_match() Viresh Kumar
2014-07-01 16:32 ` [PATCH 02/14] clk: Create of_clk_shared_by_cpus() Viresh Kumar
2014-07-01 18:00   ` Stephen Boyd
2014-07-02  1:57     ` Viresh Kumar
2014-07-09 14:38   ` Santosh Shilimkar
2014-07-09 14:38     ` Santosh Shilimkar
2014-07-09 15:20     ` Viresh Kumar
     [not found]   ` <5f7164d789e87c62d722b575980c92dfd0504334.1404231535.git.viresh.kumar@linar o.org>
2014-07-28 14:01     ` Grant Likely
2014-07-28 14:01       ` Grant Likely
2014-07-01 16:32 ` [PATCH 03/14] cpufreq: Add support for per-policy driver data Viresh Kumar
2014-07-09 14:33   ` Santosh Shilimkar
2014-07-09 14:33     ` Santosh Shilimkar
2014-07-09 15:07     ` Viresh Kumar
2014-07-01 16:32 ` [PATCH 04/14] cpufreq: cpu0: Add Module Author Viresh Kumar
2014-07-09 14:42   ` Santosh Shilimkar
2014-07-09 14:42     ` Santosh Shilimkar
2014-07-09 15:08     ` Viresh Kumar
2014-07-09 15:24       ` Santosh Shilimkar
2014-07-01 16:32 ` [PATCH 05/14] cpufreq: cpu0: don't validate clock on clk_put() Viresh Kumar
2014-07-09 14:42   ` Santosh Shilimkar
2014-07-09 14:42     ` Santosh Shilimkar
2014-07-01 16:32 ` [PATCH 06/14] cpufreq: cpu0: defer probe if clock isn't registered yet Viresh Kumar
2014-07-02  5:53   ` Shawn Guo
2014-07-02  5:53     ` Shawn Guo
2014-07-02  5:55     ` Viresh Kumar
2014-07-02 11:32       ` Viresh Kumar
2014-07-03  0:38         ` Stephen Boyd
2014-07-03  2:19           ` Viresh Kumar
2014-07-09 14:43             ` Santosh Shilimkar
2014-07-09 14:43               ` Santosh Shilimkar
2014-07-01 16:32 ` [PATCH 07/14] cpufreq: cpu0: OPPs can be populated at runtime Viresh Kumar
2014-07-01 18:02   ` Stephen Boyd
2014-07-02  2:03     ` Viresh Kumar
2014-07-02  4:03   ` Viresh Kumar [this message]
2014-07-09 14:44   ` Santosh Shilimkar
2014-07-09 14:44     ` Santosh Shilimkar
2014-07-09 15:09     ` Viresh Kumar
2014-07-10 11:19     ` Viresh Kumar
2014-07-10 12:39       ` Nishanth Menon
2014-07-10 13:31         ` Santosh Shilimkar
2014-07-10 13:36           ` Viresh Kumar
2014-07-01 16:32 ` [PATCH 08/14] cpufreq: cpu0: use dev_{err|warn|dbg} instead of pr_{err|warn|debug} Viresh Kumar
2014-07-09 14:45   ` Santosh Shilimkar
2014-07-09 14:45     ` Santosh Shilimkar
2014-07-01 16:32 ` [PATCH 09/14] cpufreq: cpu0: Move per-cluster initialization code to ->init() Viresh Kumar
2014-07-03  0:43   ` Stephen Boyd
2014-07-03  2:11     ` Viresh Kumar
2014-07-09 14:53   ` Santosh Shilimkar
2014-07-09 14:53     ` Santosh Shilimkar
2014-07-09 15:17     ` Viresh Kumar
2014-07-09 15:26       ` Santosh Shilimkar
2014-07-09 15:27         ` Viresh Kumar
2014-07-09 15:29           ` Santosh Shilimkar
2014-07-09 15:33             ` Viresh Kumar
2014-07-01 16:32 ` [PATCH 10/14] cpufreq: cpu0: try regulators with name "cpu-supply" Viresh Kumar
2014-07-01 16:32 ` [PATCH 11/14] cpufreq: cpu0: Make allocate_resources() work for any CPU Viresh Kumar
2014-07-01 16:32 ` [PATCH 12/14] cpufreq: cpu0: Extend support beyond CPU0 Viresh Kumar
2014-07-02  4:03   ` [PATCH V2 Resend " Viresh Kumar
2014-07-01 16:32 ` [PATCH 13/14] cpufreq: cpu0: rename driver and internals to 'cpufreq_generic' Viresh Kumar
2014-07-01 16:32 ` [PATCH 14/14] cpufreq: generic: set platform_{driver|device} '.name' to 'cpufreq-generic' Viresh Kumar
2014-07-02  4:12 ` [PATCH 00/14] cpufreq: cpu0: Extend support beyond CPU0, V2 Viresh Kumar
2014-07-03  1:24   ` Stephen Boyd
2014-07-03  2:44     ` Viresh Kumar
2014-07-03 22:16       ` Mike Turquette
2014-07-04  4:21         ` Viresh Kumar
2014-07-08  4:50           ` Viresh Kumar
2014-07-09 17:41             ` Stephen Boyd
2014-07-16 16:01             ` Viresh Kumar
2014-07-16 17:28               ` Thomas Petazzoni
2014-07-16 21:17                 ` Rafael J. Wysocki
2014-07-16 21:18               ` Rafael J. Wysocki
2014-07-17  0:28                 ` Viresh Kumar
2014-07-17  7:35                   ` Thomas Petazzoni
2014-07-17  7:41                     ` Viresh Kumar
2014-07-18  1:02                       ` Rafael J. Wysocki
2014-07-18  4:17                         ` Viresh Kumar
     [not found]                           ` <CAKohpomKzK8pMJs1gv+uXxhd17HtCQyfjSnVYw9KpGz6FwbgDA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-07-24 10:48                             ` Viresh Kumar
2014-07-24 10:48                               ` Viresh Kumar
2014-07-25 14:29                               ` Rob Herring
     [not found]                                 ` <CAL_JsqKqCeU0zs+rS1vxsOeh=Kuw_-gaVHtGU76Lb6TchCTytw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-07-25 14:34                                   ` Viresh Kumar
2014-07-25 14:34                                     ` Viresh Kumar
2014-07-25 15:41                                 ` Thomas Petazzoni

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=e0680f66383f71400f0caa7032620b82c7b3af83.1404273178.git.viresh.kumar@linaro.org \
    --to=viresh.kumar@linaro.org \
    --cc=arvind.chauhan@arm.com \
    --cc=linaro-kernel@lists.linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=nm@ti.com \
    --cc=rjw@rjwysocki.net \
    --cc=sboyd@codeaurora.org \
    --cc=shawn.guo@linaro.org \
    --cc=spk.linux@gmail.com \
    --cc=t.figa@samsung.com \
    --cc=thomas.ab@samsung.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 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.