From: Helge Deller Date: Fri, 1 Apr 2022 07:19:11 +0000 (+0200) Subject: parisc: Only list existing CPUs in cpu_possible_mask X-Git-Tag: v6.1-rc5~1426^2~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0921244f6f4f0d05698b953fe632a99b38907226;p=platform%2Fkernel%2Flinux-starfive.git parisc: Only list existing CPUs in cpu_possible_mask The inventory knows which CPUs are in the system, so this bitmask should be in cpu_possible_mask instead of the bitmask based on CONFIG_NR_CPUS. Reset the cpu_possible_mask before scanning the system for CPUs, and mark each existing CPU as possible during initialization of that CPU. This avoids those warnings later on too: register_cpu_capacity_sysctl: too early to get CPU4 device! Signed-off-by: Helge Deller Noticed-by: John David Anglin --- diff --git a/arch/parisc/kernel/processor.c b/arch/parisc/kernel/processor.c index d986921..9e92b76 100644 --- a/arch/parisc/kernel/processor.c +++ b/arch/parisc/kernel/processor.c @@ -171,6 +171,7 @@ static int __init processor_probe(struct parisc_device *dev) p->cpu_num = cpu_info.cpu_num; p->cpu_loc = cpu_info.cpu_loc; + set_cpu_possible(cpuid, true); store_cpu_topology(cpuid); #ifdef CONFIG_SMP @@ -461,6 +462,13 @@ static struct parisc_driver cpu_driver __refdata = { */ void __init processor_init(void) { + unsigned int cpu; + reset_cpu_topology(); + + /* reset possible mask. We will mark those which are possible. */ + for_each_possible_cpu(cpu) + set_cpu_possible(cpu, false); + register_parisc_driver(&cpu_driver); }