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