linux-kernel – linux内核如何从Device树中获取数据?
发布时间:2021-01-09 11:52:19 所属栏目:Linux 来源:网络整理
导读:我是 Linux内核的初学者. 据我所知,在旧版本的内核中有一个特定于板的文件,其中所有设备都已注册(通过使用某些API,如platform_get_register等). 在较新版本的内核中,设备所需的信息将通过设备树传递. 我的问题是内核如何从设备树中获取驱动程序的信息? 设备
我是
Linux内核的初学者.
解决方法如果您指的是OpenFirmware设备树,则将它们打包成特殊格式(dtb图像)并由引导加载程序与内核映像一起放入RAM中.然后,Bootloader调用内核入口点,将RAM中dtb映像的地址作为参数之一传递.然后,位于< kernel> / drivers / of子目录中的内核子系统将遍历树,并且对于支持的每个设备条目,它将尝试通过device_add()和朋友(在Linux中创建设备的常规过程)创建所需的设备.如果驱动程序子系统可以找到合适的驱动程序,则该驱动程序的* _probe()回调将能够从传递给它的(可能是子类)设备对象中获取OF设备条目中找到的参数. (编辑:青岛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |