Populate .get_performace_state_count in genpd ops to retrieve the count
of performance states supported by a rpmh power domain.

Signed-off-by: Thara Gopinath <thara.gopin...@linaro.org>
---
 drivers/soc/qcom/rpmhpd.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/soc/qcom/rpmhpd.c b/drivers/soc/qcom/rpmhpd.c
index 5741ec3..9d37534 100644
--- a/drivers/soc/qcom/rpmhpd.c
+++ b/drivers/soc/qcom/rpmhpd.c
@@ -285,6 +285,13 @@ static unsigned int rpmhpd_get_performance_state(struct 
generic_pm_domain *genpd
        return dev_pm_opp_get_level(opp);
 }
 
+static int rpmhpd_performance_states_count(struct generic_pm_domain *domain)
+{
+       struct rpmhpd *pd = domain_to_rpmhpd(domain);
+
+       return pd->level_count;
+}
+
 static int rpmhpd_update_level_mapping(struct rpmhpd *rpmhpd)
 {
        int i;
@@ -373,6 +380,8 @@ static int rpmhpd_probe(struct platform_device *pdev)
                rpmhpds[i]->pd.power_on = rpmhpd_power_on;
                rpmhpds[i]->pd.set_performance_state = 
rpmhpd_set_performance_state;
                rpmhpds[i]->pd.opp_to_performance_state = 
rpmhpd_get_performance_state;
+               rpmhpds[i]->pd.get_performance_state_count =
+                                       rpmhpd_performance_states_count;
                pm_genpd_init(&rpmhpds[i]->pd, NULL, true);
 
                data->domains[i] = &rpmhpds[i]->pd;
-- 
2.1.4

Reply via email to