aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorgi Djakov <georgi.djakov@linaro.org>2017-04-24 15:17:06 +0300
committerGeorgi Djakov <georgi.djakov@linaro.org>2017-04-24 16:46:10 +0300
commit5e70634d320eb6baba84175481cb22e6d3d0810c (patch)
tree29eb6184b7378f69d4b68383e43e47d2656bd042
parenta9862ef5bdbb2feec772f45337933f74f95f9dcd (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>
-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 a1f25b21ca31f..2050469aae8d3 100644
--- a/drivers/power/avs/qcom-cpr.c
+++ b/drivers/power/avs/qcom-cpr.c
@@ -1827,6 +1827,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)
@@ -1921,6 +1922,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",