Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

cpufreq: Drop redundant freq_table parameter

Since commit e0b3165ba521 ("cpufreq: add 'freq_table' in struct
cpufreq_policy"), freq_table has been stored in struct cpufreq_policy
instead of being maintained separately.

However, several helpers in freq_table.c still take both policy and
freq_table as parameters, even though policy->freq_table can always be
used. This leads to redundant function arguments and increases the
chance of inconsistencies.

This patch removes the unnecessary freq_table argument from these
functions and updates their callers to only pass policy. This makes
the code simpler, more consistent, and avoids duplication.

Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Link: https://patch.msgid.link/20250902073323.48330-1-zhangzihuan@kylinos.cn
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

authored by

Zihuan Zhang and committed by
Rafael J. Wysocki
97248d05 c69d79c5

+13 -18
+1 -1
drivers/cpufreq/cpufreq.c
··· 2793 2793 if (!policy->freq_table) 2794 2794 return -ENXIO; 2795 2795 2796 - ret = cpufreq_frequency_table_cpuinfo(policy, policy->freq_table); 2796 + ret = cpufreq_frequency_table_cpuinfo(policy); 2797 2797 if (ret) { 2798 2798 pr_err("%s: Policy frequency update failed\n", __func__); 2799 2799 return ret;
+6 -8
drivers/cpufreq/freq_table.c
··· 28 28 return false; 29 29 } 30 30 31 - int cpufreq_frequency_table_cpuinfo(struct cpufreq_policy *policy, 32 - struct cpufreq_frequency_table *table) 31 + int cpufreq_frequency_table_cpuinfo(struct cpufreq_policy *policy) 33 32 { 34 - struct cpufreq_frequency_table *pos; 33 + struct cpufreq_frequency_table *pos, *table = policy->freq_table; 35 34 unsigned int min_freq = ~0; 36 35 unsigned int max_freq = 0; 37 36 unsigned int freq; ··· 64 65 return 0; 65 66 } 66 67 67 - int cpufreq_frequency_table_verify(struct cpufreq_policy_data *policy, 68 - struct cpufreq_frequency_table *table) 68 + int cpufreq_frequency_table_verify(struct cpufreq_policy_data *policy) 69 69 { 70 - struct cpufreq_frequency_table *pos; 70 + struct cpufreq_frequency_table *pos, *table = policy->freq_table; 71 71 unsigned int freq, prev_smaller = 0; 72 72 bool found = false; 73 73 ··· 108 110 if (!policy->freq_table) 109 111 return -ENODEV; 110 112 111 - return cpufreq_frequency_table_verify(policy, policy->freq_table); 113 + return cpufreq_frequency_table_verify(policy); 112 114 } 113 115 EXPORT_SYMBOL_GPL(cpufreq_generic_frequency_table_verify); 114 116 ··· 352 354 return 0; 353 355 } 354 356 355 - ret = cpufreq_frequency_table_cpuinfo(policy, policy->freq_table); 357 + ret = cpufreq_frequency_table_cpuinfo(policy); 356 358 if (ret) 357 359 return ret; 358 360
+2 -4
drivers/cpufreq/sh-cpufreq.c
··· 89 89 static int sh_cpufreq_verify(struct cpufreq_policy_data *policy) 90 90 { 91 91 struct clk *cpuclk = &per_cpu(sh_cpuclk, policy->cpu); 92 - struct cpufreq_frequency_table *freq_table; 93 92 94 - freq_table = cpuclk->nr_freqs ? cpuclk->freq_table : NULL; 95 - if (freq_table) 96 - return cpufreq_frequency_table_verify(policy, freq_table); 93 + if (policy->freq_table) 94 + return cpufreq_frequency_table_verify(policy); 97 95 98 96 cpufreq_verify_within_cpu_limits(policy); 99 97
+1 -1
drivers/cpufreq/virtual-cpufreq.c
··· 250 250 static int virt_cpufreq_verify_policy(struct cpufreq_policy_data *policy) 251 251 { 252 252 if (policy->freq_table) 253 - return cpufreq_frequency_table_verify(policy, policy->freq_table); 253 + return cpufreq_frequency_table_verify(policy); 254 254 255 255 cpufreq_verify_within_cpu_limits(policy); 256 256 return 0;
+3 -4
include/linux/cpufreq.h
··· 780 780 else 781 781 782 782 783 - int cpufreq_frequency_table_cpuinfo(struct cpufreq_policy *policy, 784 - struct cpufreq_frequency_table *table); 783 + int cpufreq_frequency_table_cpuinfo(struct cpufreq_policy *policy); 785 784 786 - int cpufreq_frequency_table_verify(struct cpufreq_policy_data *policy, 787 - struct cpufreq_frequency_table *table); 785 + int cpufreq_frequency_table_verify(struct cpufreq_policy_data *policy); 786 + 788 787 int cpufreq_generic_frequency_table_verify(struct cpufreq_policy_data *policy); 789 788 790 789 int cpufreq_table_index_unsorted(struct cpufreq_policy *policy,