一、设备驱动程序模型
1、sysfs文件系统
用来体现设备之间的层级关系,设备驱动通过注册kobject、kset、subsystem来创建对应的sysfs目录;
kobject:具体的设备对象
kset:具有相同层级的设备对象的集合;
subsystem:包含多个kset描述设备上下级依赖关系,在kobject创建的sysfs目录下进行体现,在设备的device结构体中,通过parent、children成员进行记录该上下级关系;
kset自身通过内嵌的kobject来给自己分配kobject,这个内嵌的kobject为该kset下所有kobject的parent,该内嵌的kobject有可以加入到上一级kset,以此将设备上的硬件通过这种层级关系来管理和创建sysfs目录来呈现;
2、设备驱动程序基本数据结构
device:device_register函数创建device结构体