linux-next/arch/loongarch
James Morse db3ba29a83 LoongArch: Switch over to GENERIC_CPU_DEVICES
Now that GENERIC_CPU_DEVICES calls arch_register_cpu(), which can be
overridden by the arch code, switch over to this to allow common code
to choose when the register_cpu() call is made.

This allows topology_init() to be removed.

This is an intermediate step to the logic being moved to drivers/acpi,
where GENERIC_CPU_DEVICES will do the work when booting with acpi=off.

This is a subtle change. Originally:
- on boot, topology_init() would have marked present CPUs that
  io_master() is true for as hotplug-incapable.
- if a CPU is hotplugged that is an io_master(), it can later be
  hot-unplugged.

The new behaviour is that any CPU that io_master() is true for will
now always be marked as hotplug-incapable, thus even if it was
hotplugged, it can no longer be hot-unplugged.

This patch also has the effect of moving the registration of CPUs from
subsys to driver core initialisation, prior to any initcalls running.

Signed-off-by: James Morse <james.morse@arm.com>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Signed-off-by: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/E1r5R41-00Ct04-Bg@rmk-PC.armlinux.org.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-12-06 12:41:49 +09:00
..
boot loongarch: efi: enable generic EFI compressed boot 2022-09-20 09:50:31 +02:00
configs LoongArch: KVM: Enable kvm config and add the makefile 2023-10-02 10:01:29 +08:00
crypto crypto: loongarch/crc32 - remove redundant setting of alignmask to 0 2023-10-27 18:04:24 +08:00
include LoongArch: Add __percpu annotation for __percpu_read()/__percpu_write() 2023-11-21 15:03:25 +08:00
kernel LoongArch: Switch over to GENERIC_CPU_DEVICES 2023-12-06 12:41:49 +09:00
kvm LoongArch: KVM: Enable kvm config and add the makefile 2023-10-02 10:01:29 +08:00
lib LoongArch: Add KASAN (Kernel Address Sanitizer) support 2023-09-06 22:54:16 +08:00
mm LoongArch: Mark {dmw,tlb}_virt_to_page() exports as non-GPL 2023-11-21 15:03:25 +08:00
net LoongArch: BPF: Support signed mod instructions 2023-11-08 14:12:21 +08:00
pci LoongArch: Add FDT booting support from efi system table 2022-12-14 08:41:53 +08:00
power LoongArch: Export some arch-specific pm interfaces 2023-06-29 20:58:44 +08:00
vdso kbuild: unify vdso_install rules 2023-10-28 21:09:02 +09:00
Kbuild LoongArch: KVM: Enable kvm config and add the makefile 2023-10-02 10:01:29 +08:00
Kconfig LoongArch: Switch over to GENERIC_CPU_DEVICES 2023-12-06 12:41:49 +09:00
Kconfig.debug LoongArch: Add prologue unwinder support 2022-08-12 13:10:11 +08:00
Makefile LoongArch: Explicitly set -fdirect-access-external-data for vmlinux 2023-11-21 15:03:25 +08:00