![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux_class/dev
linxi_hnh
这个作者很懒,什么都没留下…
展开
-
Linux设备模型(总线、设备、驱动程序和类)之三:device_driver && 多厂家驱动自动识别
设备模型跟踪所有系统已知的驱动,主要目的是使驱动程序核心能协调驱动和新设备之间的关系。一旦驱动在系统中是已知的对象就可能完成大量的工作。驱动程序的结构体device_driver 定义如下: struct device_driver { const char *name; /*驱动程序的名字( 在 sysfs 中出现 )*/ struct bus_type转载 2012-10-01 17:10:32 · 778 阅读 · 0 评论 -
Linux设备模型(总线、设备、驱动程序和类)之四:class_register
类是一个设备的高层视图,它抽象出了底层的实现细节,从而允许用户空间使用设备所提供的功能,而不用关心设备是如何连接和工作的。类成员通常由上层代码所控制,而无需驱动的明确支持。但有些情况下驱动也需要直接处理类。 几乎所有的类都显示在/sys/class目录中,可以通过ls -l /sys/class来显示。出于历史的原因,有一个例外:块设备显示在/sys/block目录中。在许多情况,类转载 2012-10-01 17:11:21 · 724 阅读 · 0 评论 -
在驱动模块初始化函数中实现设备节点的自动创建
在驱动模块初始化函数中实现设备节点的自动创建 我们在刚开始写Linux设备驱动程序的时候,很多时候都是利用mknod命令手动创建设备节点,实际上Linux内核为我们提供了一组函数,可以用来在模块加载的时候自动在/dev目录下创建相应设备节点,并在卸载模块时删除该节点,当然前提条件是用户空间移植了udev。 内核中定义了struct class结构体,顾名思义,一个struct class结构体转载 2012-10-01 16:48:19 · 578 阅读 · 0 评论 -
Linux设备模型(总线、设备、驱动程序和类)之一:bus_type
总线 总线是处理器和一个或多个设备之间的通道,在设备模型中, 所有的设备都通过总线相连, 甚至是内部的虚拟"platform"总线。 可以通过ls -l /sys/bus看到系统加载的所有总线。 drwxr-xr-x root root 1970-01-01 00:02 platform drwxr-xr-x root root转载 2012-10-01 17:01:07 · 536 阅读 · 0 评论 -
Linux设备模型(总线、设备、驱动程序和类)之二:device
设备 在最底层, Linux 系统中的每个设备由一个 struct device 代表: struct device { struct klist klist_children; struct klist_node knode_parent; /* node in sibling list */ struct klist转载 2012-10-01 17:04:44 · 489 阅读 · 0 评论