OpenWrt – Blame information for rev 3

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 From patchwork Fri Dec 8 09:42:30 2017
2 Content-Type: text/plain; charset="utf-8"
3 MIME-Version: 1.0
4 Content-Transfer-Encoding: 7bit
5 Subject: [v4,12/12] cpufreq: dt: Reintroduce independent_clocks platform data
6 From: Sricharan R <sricharan@codeaurora.org>
7 X-Patchwork-Id: 10102073
8 Message-Id: <1512726150-7204-13-git-send-email-sricharan@codeaurora.org>
9 To: mturquette@baylibre.com, sboyd@codeaurora.org,
10 devicetree@vger.kernel.org, linux-pm@vger.kernel.org,
11 linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
12 viresh.kumar@linaro.org, linux-arm-kernel@lists.infradead.org
13 Cc: sricharan@codeaurora.org
14 Date: Fri, 8 Dec 2017 15:12:30 +0530
15  
16 The Platform data was removed earlier by,
17 'commit eb96924acddc ("cpufreq: dt: Kill platform-data")'
18 since there were no users at that time.
19 Now this is required when the each of the cpu clocks
20 can be scaled independently, which is the case
21 for krait cores. So reintroduce it.
22  
23 Signed-off-by: Sricharan R <sricharan@codeaurora.org>
24 ---
25 drivers/cpufreq/cpufreq-dt.c | 7 ++++++-
26 drivers/cpufreq/cpufreq-dt.h | 6 ++++++
27 2 files changed, 12 insertions(+), 1 deletion(-)
28  
29 --- a/drivers/cpufreq/cpufreq-dt.c
30 +++ b/drivers/cpufreq/cpufreq-dt.c
3 office 31 @@ -220,7 +220,10 @@ static int cpufreq_init(struct cpufreq_p
1 office 32 }
33  
34 if (fallback) {
35 - cpumask_setall(policy->cpus);
36 + struct cpufreq_dt_platform_data *pd = cpufreq_get_driver_data();
37 +
38 + if (!pd || !pd->independent_clocks)
39 + cpumask_setall(policy->cpus);
40  
41 /*
42 * OPP tables are initialized only for policy->cpu, do it for
3 office 43 @@ -372,6 +375,8 @@ static int dt_cpufreq_probe(struct platf
1 office 44 if (data && data->have_governor_per_policy)
45 dt_cpufreq_driver.flags |= CPUFREQ_HAVE_GOVERNOR_PER_POLICY;
46  
47 + dt_cpufreq_driver.driver_data = data;
48 +
49 ret = cpufreq_register_driver(&dt_cpufreq_driver);
50 if (ret)
51 dev_err(&pdev->dev, "failed register driver: %d\n", ret);
52 --- a/drivers/cpufreq/cpufreq-dt.h
53 +++ b/drivers/cpufreq/cpufreq-dt.h
54 @@ -13,6 +13,12 @@
55 #include <linux/types.h>
56  
57 struct cpufreq_dt_platform_data {
58 + /*
59 + * True when each CPU has its own clock to control its
60 + * frequency, false when all CPUs are controlled by a single
61 + * clock.
62 + */
63 + bool independent_clocks;
64 bool have_governor_per_policy;
65 };
66