]> git.itanic.dy.fi Git - linux-stable/commitdiff
MIPS: Fix build for LTS kernel caused by backporting lpj adjustment
authorHuacai Chen <chenhc@lemote.com>
Thu, 16 Jul 2020 09:39:29 +0000 (17:39 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Jul 2020 07:10:53 +0000 (09:10 +0200)
Commit ed26aacfb5f71eecb20a ("mips: Add udelay lpj numbers adjustment")
has backported to 4.4~5.4, but the "struct cpufreq_freqs" (and also the
cpufreq notifier machanism) of 4.4~4.19 are different from the upstream
kernel. These differences cause build errors, and this patch can fix the
build.

Cc: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Cc: Stable <stable@vger.kernel.org> # 4.4/4.9/4.14/4.19
Signed-off-by: Huacai Chen <chenhc@lemote.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/mips/kernel/time.c

index b7f7e08e1ce4dc9889c79000968926c67e442dd1..b15ee125866880414ba29ec61fb5897af127bfa1 100644 (file)
@@ -40,10 +40,8 @@ static unsigned long glb_lpj_ref_freq;
 static int cpufreq_callback(struct notifier_block *nb,
                            unsigned long val, void *data)
 {
-       struct cpufreq_freqs *freq = data;
-       struct cpumask *cpus = freq->policy->cpus;
-       unsigned long lpj;
        int cpu;
+       struct cpufreq_freqs *freq = data;
 
        /*
         * Skip lpj numbers adjustment if the CPU-freq transition is safe for
@@ -64,6 +62,7 @@ static int cpufreq_callback(struct notifier_block *nb,
                }
        }
 
+       cpu = freq->cpu;
        /*
         * Adjust global lpj variable and per-CPU udelay_val number in
         * accordance with the new CPU frequency.
@@ -74,12 +73,8 @@ static int cpufreq_callback(struct notifier_block *nb,
                                                glb_lpj_ref_freq,
                                                freq->new);
 
-               for_each_cpu(cpu, cpus) {
-                       lpj = cpufreq_scale(per_cpu(pcp_lpj_ref, cpu),
-                                           per_cpu(pcp_lpj_ref_freq, cpu),
-                                           freq->new);
-                       cpu_data[cpu].udelay_val = (unsigned int)lpj;
-               }
+               cpu_data[cpu].udelay_val = cpufreq_scale(per_cpu(pcp_lpj_ref, cpu),
+                                          per_cpu(pcp_lpj_ref_freq, cpu), freq->new);
        }
 
        return NOTIFY_OK;