总线代码实现成的,我们需要完善驱动和设备代码
一个 驱动文件可以匹配多个设备,===一个IIC可以挂载多个IIC设备???
Linux平台总线设备驱动模型
- 传统Linux驱动模型 与 平台总线设备驱动模型
传统的Linux驱动模型将对于设备的一切操作都放在了一个文件当中, 这个文件既包含了硬件相关的设备信息(例如引脚信息), 也包含了对设备的操作函数, 这中模型直观, 容易. 但是站在软件设计的角度来看, 确实一种非常糟糕的方式, 它有一个很致命的缺点,就是设备信息和驱动代码冗余在一起,一旦硬件信息发生改变(例如硬件更改引脚, 或者想把代码复用到另一个平台中),就必须要修改驱动源码,非常的麻烦,为了解决这种驱动代码和设备信息耦合的问题,Linux推出了platform bus(平台总线).
platform bus(平台总线), 即使用虚拟总线将设备信息和驱动程序进行分离,将设备信息进行更好的整理。平台总线会维护两条链表,分别管理设备和驱动,当一个设备被注册到总线上时,总线会根据其名字搜索对应的驱动,如果找到就将设备信息导入驱动程序并执行驱动;当一个驱动被注册到平台总线的时候,总线也会搜索设备。总之,平台总线负责将设备信息和驱动代码进行匹配,这样就可以做到驱动和设备信息的分离。
原文链接:https://blog.csdn.net/MACMACip/article/details/104840319
原文链接:添加链接描述