msm: dcvs: provide frequency set/get callbacks at registration.
There is no need to register a separate structure for setting and
getting frequency.
Simply pass function pointers to set and get callbacks when a
core is registered.
While at it rename the msm_dcvs_freq_sink_register/unregister to
msm_dcvs_freq_sink_start/stop to better reflect that those
apis are meant to do.
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
(cherry picked from commit 69134111c2a24002d1995a05c99f84403ac6a7e8)
Signed-off-by: Ram Kumar Chakravarthy Chebathini <rcheba@codeaurora.org>
(cherry picked from commit 52cb57c3c6bc1c0d08c1ae9eb5dd0ff1e1125a96)
Change-Id: Iee7aee1cbb2f33ed2852f1816ab62416b96fa7e6
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
diff --git a/drivers/cpufreq/cpufreq_gov_msm.c b/drivers/cpufreq/cpufreq_gov_msm.c
index f69cceb..9ad1811 100644
--- a/drivers/cpufreq/cpufreq_gov_msm.c
+++ b/drivers/cpufreq/cpufreq_gov_msm.c
@@ -116,16 +116,14 @@
per_cpu(msm_gov_info, cpu).cpu = cpu;
gov->policy = policy;
dcvs_notifier->core_name = core_name[cpu];
- dcvs_notifier->set_frequency = msm_dcvs_freq_set;
- dcvs_notifier->get_frequency = msm_dcvs_freq_get;
- handle = msm_dcvs_freq_sink_register(dcvs_notifier);
+ handle = msm_dcvs_freq_sink_start(dcvs_notifier);
BUG_ON(handle < 0);
msm_gov_check_limits(policy);
mutex_unlock(&per_cpu(gov_mutex, cpu));
break;
case CPUFREQ_GOV_STOP:
- msm_dcvs_freq_sink_unregister(dcvs_notifier);
+ msm_dcvs_freq_sink_stop(dcvs_notifier);
break;
case CPUFREQ_GOV_LIMITS:
@@ -158,7 +156,10 @@
snprintf(core_name[cpu], 10, "cpu%d", cpu);
if (cpu < core->num_cores)
sensor = core->sensors[cpu];
- ret = msm_dcvs_register_core(core_name[cpu], core, sensor);
+ ret = msm_dcvs_register_core(core_name[cpu], core,
+ msm_dcvs_freq_set,
+ msm_dcvs_freq_get,
+ sensor);
if (ret)
pr_err("Unable to register core for %d\n", cpu);
}