blob: cd3e1f82e1a5df356e41990652712466d6e147d0 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001// SPDX-License-Identifier: GPL-2.0
Ralf Baechlef5d6c632006-11-29 15:04:08 +00002#include <linux/cpu.h>
3#include <linux/cpumask.h>
4#include <linux/init.h>
5#include <linux/node.h>
6#include <linux/nodemask.h>
7#include <linux/percpu.h>
8
9static DEFINE_PER_CPU(struct cpu, cpu_devices);
10
11static int __init topology_init(void)
12{
13 int i, ret;
14
15#ifdef CONFIG_NUMA
16 for_each_online_node(i)
17 register_one_node(i);
18#endif /* CONFIG_NUMA */
19
20 for_each_present_cpu(i) {
Ralf Baechle1b2bc752009-06-23 10:00:31 +010021 struct cpu *c = &per_cpu(cpu_devices, i);
22
23 c->hotpluggable = 1;
24 ret = register_cpu(c, i);
Ralf Baechlef5d6c632006-11-29 15:04:08 +000025 if (ret)
26 printk(KERN_WARNING "topology_init: register_cpu %d "
27 "failed (%d)\n", i, ret);
28 }
29
30 return 0;
31}
32
33subsys_initcall(topology_init);