Linux Kernel设备驱动模型之CPU接口注册
2017-03-25 13:49
423 查看
/* * register_cpu - Setup a sysfs device for a CPU. * @cpu - cpu->hotpluggable field set to 1 will generate a control file in * sysfs for this CPU. * @num - CPU number to use when creating the device. * * Initialize and register the CPU device. */ int register_cpu(struct cpu *cpu, int num) { int error;
cpu->node_id = cpu_to_node(num);
memset(&cpu->dev, 0x00, sizeof(struct device));
cpu->dev.id = num;
cpu->dev.bus = &cpu_subsys;
cpu->dev.release = cpu_device_release;
cpu->dev.offline_disabled = !cpu->hotpluggable;
cpu->dev.offline = !cpu_online(num);
cpu->dev.of_node = of_get_cpu_node(num, NULL);
#ifdef CONFIG_GENERIC_CPU_AUTOPROBE
cpu->dev.bus->uevent = cpu_uevent;
#endif
cpu->dev.groups = common_cpu_attr_groups;
if (cpu->hotpluggable)
cpu->dev.groups = hotplugable_cpu_attr_groups;
error = device_register(&cpu->dev);
if (error)
return error;
per_cpu(cpu_sys_devices, num) = &cpu->dev;
register_cpu_under_node(num, cpu_to_node(num));
return 0;
}
相关文章推荐
- Linux Kernel设备驱动模型之 总线注册
- Linux Kernel设备驱动模型之子系统注册
- Linux Kernel设备驱动模型之 平台驱动注册
- Linux Kernel设备驱动模型之子系统接口注册
- Linux Kernel设备驱动模型之 平台设备注册
- Linux Kernel设备驱动模型之设备注册
- Linux Kernel设备驱动模型之class 接口注册
- Linux Kernel设备驱动模型之驱动注册
- Linux Kernel设备驱动模型之class注册
- Linux Kernel设备驱动模型之驱动探测设备
- Linux Kernel设备驱动模型之 核心SR管理
- Linux Kernel设备驱动模型之总线初始化
- Linux Kernel设备驱动模型之 总线查找驱动
- Linux Kernel设备驱动模型之总线添加驱动
- Linux Kernel设备驱动模型之 struct bus_type
- Linux Kernel设备驱动模型之 Power 管理
- 总线驱动模型中注册 字符类设备
- Linux Kernel设备驱动模型之 struct device
- Linux Kernel设备驱动模型之设备探测驱动
- Linux Kernel设备驱动模型之资源管理