From: Ruchi Kandoi Date: Tue, 21 Oct 2014 20:55:04 +0000 (-0700) Subject: cpufreq: Avoid using global variable total_cpus X-Git-Tag: firefly_0821_release~4090^2~161 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=13224a7d4e4e4ac6ade52deec32e9f9c28533659;p=firefly-linux-kernel-4.4.55.git cpufreq: Avoid using global variable total_cpus The change is to compile on kernels where cpufreq stats are compiled as a module (CONFIG_CPU_FREQ_STAT=m), because total_cpus is not exported for module use. Reported-By: Emilio López Signed-off-by: Ruchi Kandoi Change-Id: I4f3c74f0fac5e8d9449655b26bf3b407b0fe4290 --- diff --git a/drivers/cpufreq/cpufreq_stats.c b/drivers/cpufreq/cpufreq_stats.c index 7a2bcac3ad7f..d811f5d4b32b 100644 --- a/drivers/cpufreq/cpufreq_stats.c +++ b/drivers/cpufreq/cpufreq_stats.c @@ -282,19 +282,19 @@ put_ref: static void cpufreq_allstats_free(void) { - int i; + int cpu; struct all_cpufreq_stats *all_stat; sysfs_remove_file(cpufreq_global_kobject, &_attr_all_time_in_state.attr); - for (i = 0; i < total_cpus; i++) { - all_stat = per_cpu(all_cpufreq_stats, i); + for_each_possible_cpu(cpu) { + all_stat = per_cpu(all_cpufreq_stats, cpu); if (!all_stat) continue; kfree(all_stat->time_in_state); kfree(all_stat); - per_cpu(all_cpufreq_stats, i) = NULL; + per_cpu(all_cpufreq_stats, cpu) = NULL; } if (all_freq_table) { kfree(all_freq_table->freq_table);