summaryrefslogtreecommitdiff
path: root/drivers/cpufreq/cppc_cpufreq.c
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2016-04-28 15:19:31 +0200
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2016-04-28 15:19:31 +0200
commit29c5e7b2bc875c4ad5d3fd9e3c4ed2702e705bba (patch)
treed3586c1f6a89150fcf24702b24aa21dcd7745f7b /drivers/cpufreq/cppc_cpufreq.c
parent6f707daa3833761110a03478cba5cc4b708ec77d (diff)
parentb4f4b4b37133340befa354fbaa54d8e84ea86103 (diff)
downloadlinux-29c5e7b2bc875c4ad5d3fd9e3c4ed2702e705bba.tar.gz
linux-29c5e7b2bc875c4ad5d3fd9e3c4ed2702e705bba.tar.bz2
linux-29c5e7b2bc875c4ad5d3fd9e3c4ed2702e705bba.zip
Merge back earlier cpufreq material for v4.7.
Diffstat (limited to 'drivers/cpufreq/cppc_cpufreq.c')
-rw-r--r--drivers/cpufreq/cppc_cpufreq.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/cpufreq/cppc_cpufreq.c b/drivers/cpufreq/cppc_cpufreq.c
index 7c0bdfb1a2ca..8882b8e2ecd0 100644
--- a/drivers/cpufreq/cppc_cpufreq.c
+++ b/drivers/cpufreq/cppc_cpufreq.c
@@ -173,4 +173,25 @@ out:
return -ENODEV;
}
+static void __exit cppc_cpufreq_exit(void)
+{
+ struct cpudata *cpu;
+ int i;
+
+ cpufreq_unregister_driver(&cppc_cpufreq_driver);
+
+ for_each_possible_cpu(i) {
+ cpu = all_cpu_data[i];
+ free_cpumask_var(cpu->shared_cpu_map);
+ kfree(cpu);
+ }
+
+ kfree(all_cpu_data);
+}
+
+module_exit(cppc_cpufreq_exit);
+MODULE_AUTHOR("Ashwin Chaugule");
+MODULE_DESCRIPTION("CPUFreq driver based on the ACPI CPPC v5.0+ spec");
+MODULE_LICENSE("GPL");
+
late_initcall(cppc_cpufreq_init);