Linux驱动之设备模型(8)

9.小结

9.1  总线,设备,驱动和类之间的关系

l  总线相当于一个容器,是device和device_driver的管理机构,它包含了一个device集合(devices_kset)和一个驱动集合(drivers_kset),分别表示挂依附于此总线的所有设备和所有驱动。

l  驱动依附在总线上,包含了一个设备链(klist_devices),用来遍历总线上的设备,驱动还包含了一个bus_type指针,表示驱动所依附的总线。

l  设备挂载总线上,包含了一个device_driver指针,表示这个设备对应的设备驱动。还包含了bus_type,表示设备所依附的总线

l  Class 是按照设备的功能来进行分类,功能相同的设备是一类,功能相同的总线(实际的总线也是设备)也可能是一类。

l  需要说明的是,一个实际的总线在设备模型中是由两个结构表示:bus_type和device,bus_type代表总线类型,出现在/sys/bus/目录下;device代表总线设备,出现在/sys/devices/目录下,这表明实际的总线本质上是一种设备;device和device_driver通常会嵌入到其他的数据结构中,不单独使用。

 

9.2  实例关系

下图是对上面几个实验画出的关系图



通过git可以下载到实例源码:git clone git://github.com/cjok/device-model.git



你可能感兴趣的:(数据结构,linux,git,Class)