• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  // SPDX-License-Identifier: GPL-2.0
2  #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  
9  static DEFINE_PER_CPU(struct cpu, cpu_devices);
10  
topology_init(void)11  static 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) {
21  		struct cpu *c = &per_cpu(cpu_devices, i);
22  
23  		c->hotpluggable = !!i;
24  		ret = register_cpu(c, i);
25  		if (ret)
26  			printk(KERN_WARNING "topology_init: register_cpu %d "
27  			       "failed (%d)\n", i, ret);
28  	}
29  
30  	return 0;
31  }
32  
33  subsys_initcall(topology_init);
34