Linux设备注册
发布时间
阅读量:
阅读量
许多linux内核开发者肯定开发过各种类型的驱动程序。通常流程首先是使用DTS工具配置设备的基本属性信息,并随后编写对应的driver代码块。这些driver代码将基于linux内核中的device-bus-driver架构运行,在匹配特定硬件时就会触发。一旦与特定driver匹配时就会触发该driver的probe函数以完成初始化工作。在分析一个项目的DTS文件时会发现大量独立设备节点的存在,在这种情况下我们不禁要问:它们是如何被系统分配到硬件上的?
下文以4.9内核版本,平台为arm64 为例来讲解具体的设备注册过程。
1. 根设备及其子设备的注册
路径:drivers/of/platform.c
static int __init of_platform_default_populate_init(void)
{
struct device_node *node;
if (!of_have_populated_dt())
return -ENODEV;
/* * Handle ramoops explicitly, since it is inside /reserved-m
全部评论 (0)
还没有任何评论哟~
