Re: [RFC PATCH v2 03/35] drivers: base: Allow parts of GENERIC_CPU_DEVICES to be overridden

From: Jonathan Cameron
Date: Thu Sep 14 2023 - 07:00:25 EST


On Wed, 13 Sep 2023 16:37:51 +0000
James Morse <james.morse@xxxxxxx> wrote:

> Architectures often have extra per-cpu work that needs doing
> before a CPU is registered, often to determine if a CPU is
> hotpluggable.
>
> To allow the ACPI architectures to use GENERIC_CPU_DEVICES, move
> the cpu_register() call into arch_register_cpu(), which is made __weak
> so architectures with extra work can override it.
> This aligns with the way x86, ia64 and loongarch register hotplug CPUs
> when they become present.
>
> Signed-off-by: James Morse <james.morse@xxxxxxx>
> ---
> Changes since RFC:
> * Dropped __init from x86/ia64 arch_register_cpu()
Confused...

> diff --git a/arch/ia64/kernel/topology.c b/arch/ia64/kernel/topology.c
> index 94a848b06f15..741863a187a6 100644
> --- a/arch/ia64/kernel/topology.c
> +++ b/arch/ia64/kernel/topology.c
> @@ -59,7 +59,7 @@ void __ref arch_unregister_cpu(int num)
> }
> EXPORT_SYMBOL(arch_unregister_cpu);
> #else
> -static int __init arch_register_cpu(int num)
> +int __init arch_register_cpu(int num)

Still seems to be here...

> {
> return register_cpu(&sysfs_cpus[num].cpu, num);
> }

Even more confused because the block wasn't in the RFC at all.
Maybe dropped static?