基于高通DRM图形显示框架of_graph_get_remote_node(np, 1, 0);
时间: 2024-02-07 19:03:30 浏览: 193
drm.zip_DRM_VYHJ_duringgbk_linux drm headers_msm_drm.
在高通的 DRM 图形显示框架中,`of_graph_get_remote_node(np, 1, 0)` 函数用于查找与当前设备连接的第一个远程节点。其中,`np` 参数是指向当前设备节点的指针,`1` 表示端口号为 1,`0` 表示远程节点的 phandle 为 0。在高通的 DRM 中,通常使用 `of_graph_parse_endpoint` 函数来解析设备树中的连接信息,然后调用 `of_graph_get_remote_node` 函数查找远程节点。
例如,以下代码片段是高通 DRM 中的一个示例,用于查找与当前设备连接的 fbdev 节点:
```
struct device_node *ep;
struct device_node *remote;
ep = of_graph_parse_endpoint(dev->of_node, "output");
if (!ep) {
return ERR_PTR(-EINVAL);
}
remote = of_graph_get_remote_node(ep, 1, 0);
if (!remote) {
return ERR_PTR(-ENODEV);
}
if (!of_device_is_available(remote)) {
return ERR_PTR(-ENODEV);
}
of_node_put(ep);
```
在这个示例中,`of_graph_parse_endpoint` 函数解析当前设备节点的连接信息,`of_graph_get_remote_node` 函数查找与当前设备连接的远程节点,然后通过 `of_device_is_available` 函数检查远程节点是否可用。如果远程节点不可用,函数返回 `-ENODEV` 错误码,否则返回远程节点的指针。
阅读全文