mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-29 10:08:59 +00:00
63066d3006
Reworked: - 0034 patchset update Added: - 080 Add support for pinctrl-msm framework Removed: - 0074-ipq806x-usb-Control-USB-master-reset.patch (we now have a dedicated driver for qcom usb) - 0047-mtd-nand-Create-a-BBT-flag-to-access-bad-block-marke (merged upstream) - 310-msm-adhoc-bus-support (it looks like it was never actually used in any dts) Signed-off-by: Christian Lamparter <chunkeey@gmail.com> Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> [commit subject and description facelift, SoB fix] Signed-off-by: Petr Štetiar <ynezz@true.cz>
67 lines
2.2 KiB
Diff
67 lines
2.2 KiB
Diff
From patchwork Fri Dec 8 09:42:30 2017
|
|
Content-Type: text/plain; charset="utf-8"
|
|
MIME-Version: 1.0
|
|
Content-Transfer-Encoding: 7bit
|
|
Subject: [v4,12/12] cpufreq: dt: Reintroduce independent_clocks platform data
|
|
From: Sricharan R <sricharan@codeaurora.org>
|
|
X-Patchwork-Id: 10102073
|
|
Message-Id: <1512726150-7204-13-git-send-email-sricharan@codeaurora.org>
|
|
To: mturquette@baylibre.com, sboyd@codeaurora.org,
|
|
devicetree@vger.kernel.org, linux-pm@vger.kernel.org,
|
|
linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
|
|
viresh.kumar@linaro.org, linux-arm-kernel@lists.infradead.org
|
|
Cc: sricharan@codeaurora.org
|
|
Date: Fri, 8 Dec 2017 15:12:30 +0530
|
|
|
|
The Platform data was removed earlier by,
|
|
'commit eb96924acddc ("cpufreq: dt: Kill platform-data")'
|
|
since there were no users at that time.
|
|
Now this is required when the each of the cpu clocks
|
|
can be scaled independently, which is the case
|
|
for krait cores. So reintroduce it.
|
|
|
|
Signed-off-by: Sricharan R <sricharan@codeaurora.org>
|
|
---
|
|
drivers/cpufreq/cpufreq-dt.c | 7 ++++++-
|
|
drivers/cpufreq/cpufreq-dt.h | 6 ++++++
|
|
2 files changed, 12 insertions(+), 1 deletion(-)
|
|
|
|
--- a/drivers/cpufreq/cpufreq-dt.c
|
|
+++ b/drivers/cpufreq/cpufreq-dt.c
|
|
@@ -239,7 +239,10 @@ static int cpufreq_init(struct cpufreq_p
|
|
}
|
|
|
|
if (fallback) {
|
|
- cpumask_setall(policy->cpus);
|
|
+ struct cpufreq_dt_platform_data *pd = cpufreq_get_driver_data();
|
|
+
|
|
+ if (!pd || !pd->independent_clocks)
|
|
+ cpumask_setall(policy->cpus);
|
|
|
|
/*
|
|
* OPP tables are initialized only for policy->cpu, do it for
|
|
@@ -359,6 +362,8 @@ static int dt_cpufreq_probe(struct platf
|
|
dt_cpufreq_driver.suspend = data->suspend;
|
|
}
|
|
|
|
+ dt_cpufreq_driver.driver_data = data;
|
|
+
|
|
ret = cpufreq_register_driver(&dt_cpufreq_driver);
|
|
if (ret)
|
|
dev_err(&pdev->dev, "failed register driver: %d\n", ret);
|
|
--- a/drivers/cpufreq/cpufreq-dt.h
|
|
+++ b/drivers/cpufreq/cpufreq-dt.h
|
|
@@ -15,6 +15,12 @@
|
|
struct cpufreq_policy;
|
|
|
|
struct cpufreq_dt_platform_data {
|
|
+ /*
|
|
+ * True when each CPU has its own clock to control its
|
|
+ * frequency, false when all CPUs are controlled by a single
|
|
+ * clock.
|
|
+ */
|
|
+ bool independent_clocks;
|
|
bool have_governor_per_policy;
|
|
|
|
int (*suspend)(struct cpufreq_policy *policy);
|