高通的显示框架中这个是怎么匹配的drm_of_find_panel_or_bridge(dev->of_node, 1, 0, &panel, &panel_bridge);
时间: 2023-12-20 07:05:56 浏览: 120
在高通的DRM显示框架中,`drm_of_find_panel_or_bridge`函数的使用与标准的DRM框架类似,用于在设备树中查找与显示控制器相关的面板或桥接器节点。`drm_of_find_panel_or_bridge`函数的原型如下:
```c
int drm_of_find_panel_or_bridge(struct device_node *np,
int endpoint,
int port,
struct drm_panel **panel,
struct drm_bridge **bridge);
```
其中,`np`参数是要查找的设备树节点;`endpoint`和`port`参数用于指定查找的端口号和端口类型;`panel`和`bridge`参数用于返回查找到的面板和桥接器的指针。
在你提供的代码中,`dev->of_node`是一个指向设备树节点的指针,也就是`drm_of_find_panel_or_bridge`函数的第一个参数`np`。`1`是`endpoint`参数的值,表示查找的端口号为1;`0`是`port`参数的值,表示查找的端口类型为0(即DT_PORT_TYPE_ENDPOINT)。`&panel`和`&panel_bridge`分别是返回查找到的面板和桥接器的指针。
因此,这行代码的作用是在`dev->of_node`节点下查找端口号为1、类型为DT_PORT_TYPE_ENDPOINT的节点,并返回对应的面板和桥接器指针。如果查找成功,则返回0;否则返回负数错误码。
阅读全文