Linux设备驱动模型框架分析(四)——LDDM的高层视图class

类在Linux设备驱动模型中扮演重要角色,抽象出设备的高层视图,简化用户空间对设备的交互。class数据结构管理设备并提供公共属性,通过sysfs向用户空间暴露信息。设备注册时,class相关函数创建sys目录节点,方便用户查找和udev/mdev自动管理设备文件。class_attribute和class_interface涉及设备添加或移除时的回调函数,而class、class_interface与kobject族共同构建设备模型的层次结构。
摘要由CSDN通过智能技术生成

类是一个设备的高层视图,抽象出了底层的实现细节。类允许用户空间使用设备所提供的功能,而不关心设备是如何连接的,和它们是如何工作的。类子系统是向用户空间导出信息的最好方法

类的核心数据结构是class,在分析device中介绍过,这个class不如busdevicedriver好理解,我理解它的主要功能是一是设备管理,二是抽象出一类设备的公共属性。

前面分析subsys_private时说过,classbus_type很类似,我们在设备总线驱动模型中创建设备时,要指定它所属的bus,那么在创建类设备的时候也需要指定它所从属的类,class也离不开kobject,因此如果你了解总线设备驱动模型,你就会发现,其实真的都是差不多的东西。

设备驱动一般在注册的时候都会调用此类class的一些函数,主要作用就是在sys目录里面创建一些节点,比如cd/sys/class下面可以看到这一类的设备,如:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值