目录:
一:总线设备驱动框架概述
二:IIC驱动框架
三:核心层分析
四:设备层分析
一:总线设备驱动框架
1.1:驱动软件面临的困难与解决办法
驱动软件的面对的困难点有:
1:驱动中用到的设备信息,放在驱动软件中,会影响驱动的移植性;
2:大量相似的设备按照同样的驱动框架编写了很多相同的代码;
3:一些主从机驱动关联在一起,容易造成网状耦合,如(SPI主从机、IIC主从机)
为了解决上述问题,便有了如下的几种思想:
1:采用总线设备驱动框架,实现设备信息与驱动的分离;
在设备树种进行设备信息的描述,驱动与设备之间,通过总线进行匹配。匹配上后,驱动可以获取到设备信息。
2:驱动分层;
同类型的设备,往往在面向应用层的代码都基本相同(如:都需要实现file_operations结构),而真正有差异的地方是在底层面向设备的操作。因此可以适当的进行分层,减少重复代码的开发;
3:驱动分离;
对于有主从机这类驱动,可将主从机的驱动分开实现。其一,可以降低驱动的开发难度;其二,也便于实现主机与不同从机的适配,或从机与不同主机的适配;
1.2 总线设备驱动模型