Get rid of the duplicate code across rpmpd and rpmhpd to read the
performance state value (opp-level) from Device tree and use the
dev_pm_opp_of_get_level() helper instead.

Suggested-by: Stephen Boyd <[email protected]>
Signed-off-by: Rajendra Nayak <[email protected]>
Reviewed-by: Ulf Hansson <[email protected]>
---
 drivers/soc/qcom/rpmhpd.c | 11 +----------
 drivers/soc/qcom/rpmpd.c  | 11 +----------
 2 files changed, 2 insertions(+), 20 deletions(-)

diff --git a/drivers/soc/qcom/rpmhpd.c b/drivers/soc/qcom/rpmhpd.c
index 521aa2a571bb..38c8a11c92c8 100644
--- a/drivers/soc/qcom/rpmhpd.c
+++ b/drivers/soc/qcom/rpmhpd.c
@@ -276,16 +276,7 @@ static int rpmhpd_set_performance_state(struct 
generic_pm_domain *domain,
 static unsigned int rpmhpd_get_performance_state(struct generic_pm_domain 
*genpd,
                                                 struct dev_pm_opp *opp)
 {
-       struct device_node *np;
-       unsigned int level = 0;
-
-       np = dev_pm_opp_get_of_node(opp);
-       if (of_property_read_u32(np, "opp-level", &level))
-               pr_err("%s: missing 'opp-level' property\n", __func__);
-
-       of_node_put(np);
-
-       return level;
+       return dev_pm_opp_of_get_level(opp);
 }
 
 static int rpmhpd_update_level_mapping(struct rpmhpd *rpmhpd)
diff --git a/drivers/soc/qcom/rpmpd.c b/drivers/soc/qcom/rpmpd.c
index 1c6c5dec2667..68179e4bac3d 100644
--- a/drivers/soc/qcom/rpmpd.c
+++ b/drivers/soc/qcom/rpmpd.c
@@ -248,16 +248,7 @@ static int rpmpd_set_performance(struct generic_pm_domain 
*domain,
 static unsigned int rpmpd_get_performance(struct generic_pm_domain *genpd,
                                          struct dev_pm_opp *opp)
 {
-       struct device_node *np;
-       unsigned int corner = 0;
-
-       np = dev_pm_opp_get_of_node(opp);
-       if (of_property_read_u32(np, "opp-level", &corner))
-               pr_err("%s: missing 'opp-level' property\n", __func__);
-
-       of_node_put(np);
-
-       return corner;
+       return dev_pm_opp_of_get_level(opp);
 }
 
 static int rpmpd_probe(struct platform_device *pdev)
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation

Reply via email to