主要是对Linux的驱动中设备树相关属性进行分析:
在使用设备树后,驱动需要与.dts中描述的设备节点进行匹配,从而使驱动的probe()函数执行。对于platform_driver而言,需要添加一个OF匹配表,这个东西就是platform_driver中的driver变量的of_match_table属性。
对of_match_table属性进行赋值时,需要定义一个of_device_id的结构体,如下图所示:
of_device_is_compatible用于判断设备节点的兼容属性是否包含compat指定的字符串
当一个驱动可以兼容多种设备的时候,除了of_device_is_compatible()这种判断方法外,还可以在驱动的of_device_id表中填充.data成员,如
然后在驱动中,通过of_match_node()这个API获得data成员
Linux驱动中设备树相关内容分析
最新推荐文章于 2024-01-11 01:56:09 发布