您的位置:首页 > 运维架构 > Linux

Linux设备驱动模型学习笔记(kobject,kset,subsystem子系统)

2013-04-05 13:23 881 查看
1. sysyfs展示了linux设备模型,sysfs中显示的每一个对象都对应一个kobject,但反过来不成立,每一个kobject并不一定出现在sysfs中,但kset会。使用了kobject_add函数添加某个kset中的kobject会在sysfs中显示为一个目录,其属性为目录中的文件。





2. kobject的作用为嵌入其他对象(如设备等)的结构体中,将其链接到设备模型中,并维护其生命周期(通过引用计数)。

3. kobject的存在需要创建它的模块的存在,因此:



4. kobject的release函数:





5.

 


6.







7.



8.



9.



10.



11.







12.









13. 总线:













14.







对于总线这个特殊的设备来说,除了要注册总线,还要注册它自己这个设备本身:







lddbus导出的注册接口如下?





sculld.h:

 57 struct sculld_dev {

 58     void **data;

 59     struct sculld_dev *next;  /* next listitem */

 60     int vmas;                 /* active mappings */

 61     int order;                /* the current allocation order */

 62     int qset;                 /* the current array size */

 63     size_t size;              /* 32-bit will suffice */

 64     struct semaphore sem;     /* Mutual exclusion */

 65     struct cdev cdev;

 66     char devname[20];

 67     struct ldd_device ldev;

 68 };

15. 驱动程序









内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: