[PATCH v1 5/7] cpufreq: qcom-hw: Register as a cpufreq cooling device

From: Amit Kucheria
Date: Wed Jan 09 2019 - 19:01:40 EST


Signed-off-by: Amit Kucheria <amit.kucheria@xxxxxxxxxx>
---
drivers/cpufreq/qcom-cpufreq-hw.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/drivers/cpufreq/qcom-cpufreq-hw.c b/drivers/cpufreq/qcom-cpufreq-hw.c
index 649dddd72749..1c01311e5927 100644
--- a/drivers/cpufreq/qcom-cpufreq-hw.c
+++ b/drivers/cpufreq/qcom-cpufreq-hw.c
@@ -5,6 +5,7 @@

#include <linux/bitfield.h>
#include <linux/cpufreq.h>
+#include <linux/cpu_cooling.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>
@@ -216,7 +217,10 @@ static int qcom_cpufreq_hw_cpu_init(struct cpufreq_policy *policy)
static int qcom_cpufreq_hw_cpu_exit(struct cpufreq_policy *policy)
{
void __iomem *base = policy->driver_data - REG_PERF_STATE;
+ struct thermal_cooling_device *cdev = policy->cooldev;

+ if (cdev)
+ cpufreq_cooling_unregister(cdev);
kfree(policy->freq_table);
devm_iounmap(&global_pdev->dev, base);

@@ -238,6 +242,7 @@ static struct cpufreq_driver cpufreq_qcom_hw_driver = {
.init = qcom_cpufreq_hw_cpu_init,
.exit = qcom_cpufreq_hw_cpu_exit,
.fast_switch = qcom_cpufreq_hw_fast_switch,
+ .ready = generic_cpufreq_ready,
.name = "qcom-cpufreq-hw",
.attr = qcom_cpufreq_hw_attr,
};
--
2.17.1