]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
cpufreq: Drop redundant freq_table parameter
authorZihuan Zhang <zhangzihuan@kylinos.cn>
Tue, 2 Sep 2025 07:33:23 +0000 (15:33 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 5 Sep 2025 18:16:55 +0000 (20:16 +0200)
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>
drivers/cpufreq/cpufreq.c
drivers/cpufreq/freq_table.c
drivers/cpufreq/sh-cpufreq.c
drivers/cpufreq/virtual-cpufreq.c
include/linux/cpufreq.h

index a615c98d80ca0182518d4f2118fb89e5082195e7..5fcc99f768d2ee97de8ace3d4d33d560f96d9bb5 100644 (file)
@@ -2793,7 +2793,7 @@ int cpufreq_boost_set_sw(struct cpufreq_policy *policy, int state)
        if (!policy->freq_table)
                return -ENXIO;
 
-       ret = cpufreq_frequency_table_cpuinfo(policy, policy->freq_table);
+       ret = cpufreq_frequency_table_cpuinfo(policy);
        if (ret) {
                pr_err("%s: Policy frequency update failed\n", __func__);
                return ret;
index 35de513af6c94e5ceb210847557d1bd99e149c27..d5111ee56e380396052aec8aac22f589d72f6308 100644 (file)
@@ -28,10 +28,9 @@ static bool policy_has_boost_freq(struct cpufreq_policy *policy)
        return false;
 }
 
-int cpufreq_frequency_table_cpuinfo(struct cpufreq_policy *policy,
-                                   struct cpufreq_frequency_table *table)
+int cpufreq_frequency_table_cpuinfo(struct cpufreq_policy *policy)
 {
-       struct cpufreq_frequency_table *pos;
+       struct cpufreq_frequency_table *pos, *table = policy->freq_table;
        unsigned int min_freq = ~0;
        unsigned int max_freq = 0;
        unsigned int freq;
@@ -65,10 +64,9 @@ int cpufreq_frequency_table_cpuinfo(struct cpufreq_policy *policy,
                return 0;
 }
 
-int cpufreq_frequency_table_verify(struct cpufreq_policy_data *policy,
-                                  struct cpufreq_frequency_table *table)
+int cpufreq_frequency_table_verify(struct cpufreq_policy_data *policy)
 {
-       struct cpufreq_frequency_table *pos;
+       struct cpufreq_frequency_table *pos, *table = policy->freq_table;
        unsigned int freq, prev_smaller = 0;
        bool found = false;
 
@@ -110,7 +108,7 @@ int cpufreq_generic_frequency_table_verify(struct cpufreq_policy_data *policy)
        if (!policy->freq_table)
                return -ENODEV;
 
-       return cpufreq_frequency_table_verify(policy, policy->freq_table);
+       return cpufreq_frequency_table_verify(policy);
 }
 EXPORT_SYMBOL_GPL(cpufreq_generic_frequency_table_verify);
 
@@ -354,7 +352,7 @@ int cpufreq_table_validate_and_sort(struct cpufreq_policy *policy)
                return 0;
        }
 
-       ret = cpufreq_frequency_table_cpuinfo(policy, policy->freq_table);
+       ret = cpufreq_frequency_table_cpuinfo(policy);
        if (ret)
                return ret;
 
index 9c0b01e00508c9317221b953f5670ae46cb06a3d..642ddb9ea217ed8421c8aec038d0b644636586da 100644 (file)
@@ -89,11 +89,9 @@ static int sh_cpufreq_target(struct cpufreq_policy *policy,
 static int sh_cpufreq_verify(struct cpufreq_policy_data *policy)
 {
        struct clk *cpuclk = &per_cpu(sh_cpuclk, policy->cpu);
-       struct cpufreq_frequency_table *freq_table;
 
-       freq_table = cpuclk->nr_freqs ? cpuclk->freq_table : NULL;
-       if (freq_table)
-               return cpufreq_frequency_table_verify(policy, freq_table);
+       if (policy->freq_table)
+               return cpufreq_frequency_table_verify(policy);
 
        cpufreq_verify_within_cpu_limits(policy);
 
index 7dd1b0c263c7edf73de5bfb4d1b03ef12c72f5cc..6ffa16d239b2bee15b21ac6213a0925394b8f5b8 100644 (file)
@@ -250,7 +250,7 @@ static int virt_cpufreq_offline(struct cpufreq_policy *policy)
 static int virt_cpufreq_verify_policy(struct cpufreq_policy_data *policy)
 {
        if (policy->freq_table)
-               return cpufreq_frequency_table_verify(policy, policy->freq_table);
+               return cpufreq_frequency_table_verify(policy);
 
        cpufreq_verify_within_cpu_limits(policy);
        return 0;
index 95f3807c8c551dd9bb4d30e7d05e3f3ae36ec803..40966512ea1812fb63a782f3f69ead46e8d9a2e4 100644 (file)
@@ -780,11 +780,10 @@ struct cpufreq_frequency_table {
                else
 
 
-int cpufreq_frequency_table_cpuinfo(struct cpufreq_policy *policy,
-                                   struct cpufreq_frequency_table *table);
+int cpufreq_frequency_table_cpuinfo(struct cpufreq_policy *policy);
+
+int cpufreq_frequency_table_verify(struct cpufreq_policy_data *policy);
 
-int cpufreq_frequency_table_verify(struct cpufreq_policy_data *policy,
-                                  struct cpufreq_frequency_table *table);
 int cpufreq_generic_frequency_table_verify(struct cpufreq_policy_data *policy);
 
 int cpufreq_table_index_unsorted(struct cpufreq_policy *policy,