aboutsummaryrefslogtreecommitdiff
path: root/drivers/power/avs
diff options
context:
space:
mode:
authorGeorgi Djakov <georgi.djakov@linaro.org>2017-04-24 15:17:06 +0300
committerAmit Kucheria <amit.kucheria@linaro.org>2018-04-19 14:24:26 +0530
commit8077732d882cc826635ec30e4b354d950cbbe928 (patch)
tree667aa1636da4811440d69200b770197483fb35fc /drivers/power/avs
parent8e97eecaf921739b4ee4385a51a0013ec5181104 (diff)
power: avs: cpr: Register with cpufreq-dt
The CPR driver currently is handling most of the dependencies including populating the OPPs, so just register it with cpufreq-dt. Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
Diffstat (limited to 'drivers/power/avs')
-rw-r--r--drivers/power/avs/qcom-cpr.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/power/avs/qcom-cpr.c b/drivers/power/avs/qcom-cpr.c
index 46bba4514101..dc8ebc92c81b 100644
--- a/drivers/power/avs/qcom-cpr.c
+++ b/drivers/power/avs/qcom-cpr.c
@@ -1830,6 +1830,7 @@ static int cpr_probe(struct platform_device *pdev)
u32 cpr_rev = FUSE_REVISION_UNKNOWN;
u32 speed_bin = SPEED_BIN_NONE;
u32 pvs_version = 0;
+ struct platform_device *cpufreq_dt_pdev;
np = of_parse_phandle(dev->of_node, "eeprom", 0);
if (!np)
@@ -1924,6 +1925,14 @@ static int cpr_probe(struct platform_device *pdev)
if (ret)
return ret;
+ /* Register cpufreq-dt driver after the OPPs are populated */
+ cpufreq_dt_pdev = platform_device_register_simple("cpufreq-dt", -1, NULL, 0);
+ if (IS_ERR(cpufreq_dt_pdev)) {
+ ret = PTR_ERR(cpufreq_dt_pdev);
+ pr_err("%s error registering cpufreq-dt (%d)\n", __func__, ret);
+ return ret;
+ }
+
drv->loop_disabled = cpr_is_close_loop_disabled(drv, desc, qfprom,
cpr_fuses, adj);
dev_dbg(drv->dev, "CPR closed loop is %sabled\n",