aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/cpufreq/cpufreq.c18
-rw-r--r--drivers/cpufreq/cpufreq_stats.c2
2 files changed, 11 insertions, 9 deletions
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
index e0ace3d9382c..370abb66babc 100644
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -2040,22 +2040,26 @@ static int cpufreq_cpu_callback(struct notifier_block *nfb,
2040{ 2040{
2041 unsigned int cpu = (unsigned long)hcpu; 2041 unsigned int cpu = (unsigned long)hcpu;
2042 struct device *dev; 2042 struct device *dev;
2043 bool frozen = false;
2043 2044
2044 dev = get_cpu_device(cpu); 2045 dev = get_cpu_device(cpu);
2045 if (dev) { 2046 if (dev) {
2046 switch (action) { 2047
2048 if (action & CPU_TASKS_FROZEN)
2049 frozen = true;
2050
2051 switch (action & ~CPU_TASKS_FROZEN) {
2047 case CPU_ONLINE: 2052 case CPU_ONLINE:
2048 case CPU_ONLINE_FROZEN: 2053 __cpufreq_add_dev(dev, NULL, frozen);
2049 cpufreq_add_dev(dev, NULL);
2050 cpufreq_update_policy(cpu); 2054 cpufreq_update_policy(cpu);
2051 break; 2055 break;
2056
2052 case CPU_DOWN_PREPARE: 2057 case CPU_DOWN_PREPARE:
2053 case CPU_DOWN_PREPARE_FROZEN: 2058 __cpufreq_remove_dev(dev, NULL, frozen);
2054 __cpufreq_remove_dev(dev, NULL, false);
2055 break; 2059 break;
2060
2056 case CPU_DOWN_FAILED: 2061 case CPU_DOWN_FAILED:
2057 case CPU_DOWN_FAILED_FROZEN: 2062 __cpufreq_add_dev(dev, NULL, frozen);
2058 cpufreq_add_dev(dev, NULL);
2059 break; 2063 break;
2060 } 2064 }
2061 } 2065 }
diff --git a/drivers/cpufreq/cpufreq_stats.c b/drivers/cpufreq/cpufreq_stats.c
index bc73be225be5..cb3841355454 100644
--- a/drivers/cpufreq/cpufreq_stats.c
+++ b/drivers/cpufreq/cpufreq_stats.c
@@ -349,11 +349,9 @@ static int cpufreq_stat_cpu_callback(struct notifier_block *nfb,
349 349
350 switch (action) { 350 switch (action) {
351 case CPU_DOWN_PREPARE: 351 case CPU_DOWN_PREPARE:
352 case CPU_DOWN_PREPARE_FROZEN:
353 cpufreq_stats_free_sysfs(cpu); 352 cpufreq_stats_free_sysfs(cpu);
354 break; 353 break;
355 case CPU_DEAD: 354 case CPU_DEAD:
356 case CPU_DEAD_FROZEN:
357 cpufreq_stats_free_table(cpu); 355 cpufreq_stats_free_table(cpu);
358 break; 356 break;
359 } 357 }