kset_create_and_add
- 1. kset_create_and_add 函数
- 1.1 kset 结构体
- 1.2 create_dir 函数
1.kset_create_and_add函数
在内存中分配并初始化一个 kset(struct
kset),并将 kset 注册到sysfs层次结构根据已初始化的
kset-> kobj信息,创建目录/sys/参数1根据
kset-> kobj-> ktype-> default_attrs的属性,在对应的sysfs目录下创建属性文件向用户空间发送一个
KOBJ_ADD事件kset_create_and_add函数
1.1 kset 结构体
kset是 Linux 设备驱动模型中对 “子系统” 或 “同类对象集合” 的抽象。它代表了一组具有相同属性和行为的内核对象(kobject)的容器,通常对应sysfs 目录节点(如 /sys/bus、/sys/class),并负责管理这些对象的生命周期、关联关系以及用户空间事件(uevent)的统一上报
1.2create_dir函数
通过
sysfs_create_dir_ns()函数,在sysfs文件系统中创建目录(目录名即kobj->name,父目录为kobj->parent对应的sysfs目录)通过
populate_dir()函数,根据kset-> kobj-> ktype-> default_attrs的属性,在对应的sysfs目录下创建属性文件