Linux内核驱动模型之驱动绑定

The Linux driver implementer’s API guide-Driver ModelDriver BindingBus总线device_register设备注册Device Class设备类Driver驱动sysfs设备文件系统??driver_register驱动注册Removal移除原文:https://www.kernel.org/doc/html/latest/driver-api/driver-model/binding.htmlDriver Binding驱动绑定是内
摘要由CSDN通过智能技术生成

原文:https://www.kernel.org/doc/html/latest/driver-api/driver-model/binding.html

Driver Binding

驱动绑定是内核将驱动与对应设备匹配的过程。由于总线驱动针对性地定义了包含驱动和设备的结构体,因此通常情况下由总线驱动来处理设备和对应驱动匹配这一过程。对于通用的设备和设备驱动结构,大多数的绑定代码可以通过类似的代码来实现。

Bus总线

总线类型结构体定义了一个链表。这个链表包含了系统中这条总线挂载的所有设备.当一个设备请求设备注册时,这个设备被插入到了链表的最后。总线对象还包含了一个支持该总线类型所有设备驱动的链表。当驱动请求注册该驱动时,该驱动也被添加到了驱动链表的最后。这两件事情都会出发驱动绑定的工作。

device_register设备注册

当该条总线中添加了一个新的设备时,总线驱动列表将会枚举其中的驱动来找到支持该设备的那个驱动。那么,总线是如何找到设备对应的驱动的呢。这是因为每个驱动都提供了一个自己支持的设备ID列表,当设备的ID号与某个驱动支持的ID列表中的ID号相同时,总线就能匹配到设备对应的驱动。ID号匹配的规则是由总线定义的。总线没有试图使用负责的匹配机制和算法,仅仅是提供了一个将设备ID和驱动ID列表比较的回调函数。如果匹配到了对应的ID,函数返回1,否则返回0;该函数声明如下:


                
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值