]> git.karo-electronics.de Git - linux-beck.git/commitdiff
thermal: cpu_cooling: Remove cpu_dev update on policy CPU update
authorKapileshwar Singh <kapileshwar.singh@arm.com>
Mon, 16 Mar 2015 12:00:50 +0000 (12:00 +0000)
committerEduardo Valentin <edubezval@gmail.com>
Tue, 5 May 2015 04:27:54 +0000 (21:27 -0700)
It was initially understood that an update to the cpu_device
(cached in cpufreq_cooling_device) was required to ascertain the
correct operating point of the device on a cpufreq policy->cpu update
or creation or deletion of a cpufreq policy.
(e.g. when the existing policy CPU goes offline).

This update is not required and it is possible to ascertain the OPPs
from the leading CPU in a cpufreq domain even if the CPU is hotplugged out.

Fixes: e0128d8ab423 ("thermal: cpu_cooling: implement the power cooling device API")
Acked-by: Javi Merino <javi.merino@arm.com>
Signed-off-by: Kapileshwar Singh <kapileshwar.singh@arm.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
drivers/thermal/cpu_cooling.c

index 3a01dfd5b29c6736f37cbbfeaf7e768287be904b..beffa556488a186f0e55398d63254792cfb998e8 100644 (file)
@@ -199,39 +199,6 @@ unsigned long cpufreq_cooling_get_level(unsigned int cpu, unsigned int freq)
 }
 EXPORT_SYMBOL_GPL(cpufreq_cooling_get_level);
 
-static void update_cpu_device(int cpu)
-{
-       struct cpufreq_cooling_device *cpufreq_dev;
-
-       mutex_lock(&cooling_cpufreq_lock);
-       list_for_each_entry(cpufreq_dev, &cpufreq_dev_list, node) {
-               if (cpumask_test_cpu(cpu, &cpufreq_dev->allowed_cpus)) {
-                       cpufreq_dev->cpu_dev = get_cpu_device(cpu);
-                       if (!cpufreq_dev->cpu_dev) {
-                               dev_warn(&cpufreq_dev->cool_dev->device,
-                                       "No cpu device for new policy cpu %d\n",
-                                        cpu);
-                       }
-                       break;
-               }
-       }
-       mutex_unlock(&cooling_cpufreq_lock);
-}
-
-static void remove_cpu_device(int cpu)
-{
-       struct cpufreq_cooling_device *cpufreq_dev;
-
-       mutex_lock(&cooling_cpufreq_lock);
-       list_for_each_entry(cpufreq_dev, &cpufreq_dev_list, node) {
-               if (cpumask_test_cpu(cpu, &cpufreq_dev->allowed_cpus)) {
-                       cpufreq_dev->cpu_dev = NULL;
-                       break;
-               }
-       }
-       mutex_unlock(&cooling_cpufreq_lock);
-}
-
 /**
  * cpufreq_thermal_notifier - notifier callback for cpufreq policy change.
  * @nb:        struct notifier_block * with callback info.
@@ -268,13 +235,6 @@ static int cpufreq_thermal_notifier(struct notifier_block *nb,
                }
                mutex_unlock(&cooling_cpufreq_lock);
                break;
-
-       case CPUFREQ_CREATE_POLICY:
-               update_cpu_device(policy->cpu);
-               break;
-       case CPUFREQ_REMOVE_POLICY:
-               remove_cpu_device(policy->cpu);
-               break;
        default:
                return NOTIFY_DONE;
        }