]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
cpufreq: tegra186: Use scope-based cleanup helper
authorZihuan Zhang <zhangzihuan@kylinos.cn>
Wed, 27 Aug 2025 02:31:55 +0000 (10:31 +0800)
committerViresh Kumar <viresh.kumar@linaro.org>
Fri, 29 Aug 2025 06:29:04 +0000 (11:59 +0530)
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 <zhangzihuan@kylinos.cn>
[ Viresh: Minor changes ]
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
drivers/cpufreq/tegra186-cpufreq.c

index cbabb726c6645d2e5f1857a47e5643c8552d1933..4270686fc3e3ebb27868418b49377fb8010fa308 100644 (file)
@@ -103,13 +103,12 @@ static int tegra186_cpufreq_set_target(struct cpufreq_policy *policy,
 
 static unsigned int tegra186_cpufreq_get(unsigned int cpu)
 {
+       struct cpufreq_policy *policy __free(put_cpufreq_policy) = cpufreq_cpu_get(cpu);
        struct tegra186_cpufreq_data *data = cpufreq_get_driver_data();
        struct tegra186_cpufreq_cluster *cluster;
-       struct cpufreq_policy *policy;
        unsigned int edvd_offset, cluster_id;
        u32 ndiv;
 
-       policy = cpufreq_cpu_get(cpu);
        if (!policy)
                return 0;
 
@@ -117,7 +116,6 @@ static unsigned int tegra186_cpufreq_get(unsigned int cpu)
        ndiv = readl(data->regs + edvd_offset) & EDVD_CORE_VOLT_FREQ_F_MASK;
        cluster_id = data->cpus[policy->cpu].bpmp_cluster_id;
        cluster = &data->clusters[cluster_id];
-       cpufreq_cpu_put(policy);
 
        return (cluster->ref_clk_khz * ndiv) / cluster->div;
 }