Replace the manual cpufreq_cpu_put() with __free(put_cpufreq_policy)
annotation for policy references. This reduces the risk of reference
counting mistakes and aligns the code with the latest kernel style.

No functional change intended.

Signed-off-by: Zihuan Zhang <zhangzih...@kylinos.cn>
---
 drivers/acpi/processor_thermal.c | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/drivers/acpi/processor_thermal.c b/drivers/acpi/processor_thermal.c
index 1219adb11ab9..3c8b57df9619 100644
--- a/drivers/acpi/processor_thermal.c
+++ b/drivers/acpi/processor_thermal.c
@@ -62,19 +62,14 @@ static int phys_package_first_cpu(int cpu)
        return 0;
 }
 
-static int cpu_has_cpufreq(unsigned int cpu)
+static bool cpu_has_cpufreq(unsigned int cpu)
 {
-       struct cpufreq_policy *policy;
+       struct cpufreq_policy *policy __free(put_cpufreq_policy) = 
cpufreq_cpu_get(cpu);
 
        if (!acpi_processor_cpufreq_init)
                return 0;
 
-       policy = cpufreq_cpu_get(cpu);
-       if (policy) {
-               cpufreq_cpu_put(policy);
-               return 1;
-       }
-       return 0;
+       return !!policy;
 }
 
 static int cpufreq_get_max_state(unsigned int cpu)
@@ -95,7 +90,6 @@ static int cpufreq_get_cur_state(unsigned int cpu)
 
 static int cpufreq_set_cur_state(unsigned int cpu, int state)
 {
-       struct cpufreq_policy *policy;
        struct acpi_processor *pr;
        unsigned long max_freq;
        int i, ret;
@@ -111,6 +105,9 @@ static int cpufreq_set_cur_state(unsigned int cpu, int 
state)
         * frequency.
         */
        for_each_online_cpu(i) {
+               struct cpufreq_policy *policy __free(put_cpufreq_policy) =
+                       cpufreq_cpu_get(i);
+
                if (topology_physical_package_id(i) !=
                    topology_physical_package_id(cpu))
                        continue;
@@ -120,15 +117,12 @@ static int cpufreq_set_cur_state(unsigned int cpu, int 
state)
                if (unlikely(!freq_qos_request_active(&pr->thermal_req)))
                        continue;
 
-               policy = cpufreq_cpu_get(i);
                if (!policy)
                        return -EINVAL;
 
                max_freq = (policy->cpuinfo.max_freq *
                            (100 - reduction_step(i) * 
cpufreq_thermal_reduction_pctg)) / 100;
 
-               cpufreq_cpu_put(policy);
-
                ret = freq_qos_update_request(&pr->thermal_req, max_freq);
                if (ret < 0) {
                        pr_warn("Failed to update thermal freq constraint: 
CPU%d (%d)\n",
-- 
2.25.1

Reply via email to