[PATCH v9 09/10] soc: qcom: rpmpd: Use dev_pm_opp_of_get_level() helper
From: Rajendra Nayak
Date: Mon Jan 07 2019 - 05:10:58 EST
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 <sboyd@xxxxxxxxxx>
Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx>
Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
---
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