Subject: linux-next: build failure after merge of the bitmap tree

From: Stephen Rothwell <[email-masked]>
Date: Tue, 18 Feb 2025 16:07:42 +1100

Hi all,

After merging the bitmap tree, today's linux-next build (arm64 defconfig)
failed like this:

arch/arm64/kernel/topology.c: In function 'arch_freq_get_on_cpu':
arch/arm64/kernel/topology.c:270:43: error: too many arguments to function 'cpumask_next_wrap'
  270 |                                 ref_cpu = cpumask_next_wrap(ref_cpu, policy->cpus,
      |                                           ^~~~~~~~~~~~~~~~~
In file included from arch/arm64/include/asm/cpufeature.h:27,
                 from arch/arm64/include/asm/ptrace.h:11,
                 from arch/arm64/include/asm/irqflags.h:9,
                 from include/linux/irqflags.h:18,
                 from include/linux/spinlock.h:59,
                 from include/linux/mmzone.h:8,
                 from include/linux/gfp.h:7,
                 from include/linux/slab.h:16,
                 from include/linux/resource_ext.h:11,
                 from include/linux/acpi.h:13,
                 from arch/arm64/kernel/topology.c:14:
include/linux/cpumask.h:317:14: note: declared here
  317 | unsigned int cpumask_next_wrap(int n, const struct cpumask *src)
      |              ^~~~~~~~~~~~~~~~~

Caused by commits

  46ac1bec179d ("cpumask: deprecate cpumask_next_wrap()")
  43f7f920e14e ("cpumask: re-introduce cpumask_next{,_and}_wrap()")
  65b98ea8b278 ("cpumask: drop cpumask_next_wrap_old()")

interacting with commit

  dd871ac1237f ("arm64: Provide an AMU-based version of arch_freq_get_on_cpu")

from the arm64 tree.

I have applied the following patch for today (which may not be correct).

From: Stephen Rothwell <[email-masked]>
Date: Tue, 18 Feb 2025 15:44:06 +1100
Subject: [PATCH] fixup for "cpumask: drop cpumask_next_wrap_old()"

interacting with commit

  dd871ac1237f ("arm64: Provide an AMU-based version of arch_freq_get_on_cpu")

from the arm64 tree.

Signed-off-by: Stephen Rothwell <[email-masked]>
---
 arch/arm64/kernel/topology.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/arch/arm64/kernel/topology.c b/arch/arm64/kernel/topology.c
index 6f0cab8e746b..70db234c41a2 100644
--- a/arch/arm64/kernel/topology.c
+++ b/arch/arm64/kernel/topology.c
@@ -231,7 +231,6 @@ void arch_cpu_idle_enter(void)
 int arch_freq_get_on_cpu(int cpu)
 {
 	struct amu_cntr_sample *amu_sample;
-	unsigned int start_cpu = cpu;
 	unsigned long last_update;
 	unsigned int freq = 0;
 	u64 scale;
@@ -267,8 +266,7 @@ int arch_freq_get_on_cpu(int cpu)

 			do {
-				ref_cpu = cpumask_next_wrap(ref_cpu, policy->cpus,
-							    start_cpu, false);
+				ref_cpu = cpumask_next_wrap(ref_cpu, policy->cpus);
 
 			} while (ref_cpu < nr_cpu_ids && idle_cpu(ref_cpu));
 
-- 
2.45.2

-- 
Cheers,
Stephen Rothwell