这段是什么意思endpoint = of_graph_get_endpoint_by_regs(dev->of_node, 0, 0);
时间: 2023-12-09 07:02:31 浏览: 127
这段代码的意思是在设备的 device tree 节点中查找一个名为 "regs" 的属性,并将其作为设备的端点(endpoint)返回。of_graph_get_endpoint_by_regs() 是一个函数,它的第一个参数是设备节点的指针,第二个参数是要查找的属性名称,第三个参数是属性中要查找的索引值。在这个例子中,属性名称为 "regs",索引值为 0,表示查找属性中的第一个值作为端点。
相关问题
这段是什么意思endpoint = of_graph_get_endpoint_by_regs(dev->of_node, 0, -1)
这段代码的意思是在设备的 device tree 节点中查找一个名为 "regs" 的属性,并将其作为设备的端点(endpoint)返回。of_graph_get_endpoint_by_regs() 是一个函数,它的第一个参数是设备节点的指针,第二个参数是要查找的属性名称,第三个参数是属性中要查找的索引值。在这个例子中,属性名称为 "regs",索引值为 -1,表示查找属性中的最后一个值作为端点。
高通DRMi显示框架中的这段代码怎么解释struct device_node *of_graph_get_endpoint_by_regs( const struct device_node *parent, int port_reg, int reg) { struct of_endpoint endpoint; struct device_node *node = NULL; for_each_endpoint_of_node(parent, node) { of_graph_parse_endpoint(node, &endpoint); if (((port_reg == -1) || (endpoint.port == port_reg)) && ((reg == -1) || (endpoint.id == reg))) return node; } return NULL; }
这段代码是一个函数实现,用于在设备树中查找指定的输出端点。
函数名是of_graph_get_endpoint_by_regs,接受三个参数: parent、port_reg 和 reg。其中,parent是设备树中一个节点的父节点,port_reg和reg是用来查找输出端点的寄存器值。
函数实现的主要逻辑如下:
1. 定义一个of_endpoint类型的结构体变量endpoint和一个device_node类型的指针变量node,用于解析和遍历设备树的输出端点。
2. 调用for_each_endpoint_of_node宏,遍历parent节点的所有输出端点。
3. 对于每个输出端点,调用of_graph_parse_endpoint函数,解析该节点的endpoint属性,获取输出端点的信息。
4. 判断输出端点的port属性和id属性是否与指定的port_reg和reg相等。
5. 如果相等,则返回该输出端点的device_node指针;否则继续遍历其他输出端点。
6. 如果遍历完所有的输出端点都没有找到匹配的节点,则返回NULL。
该函数应用于DRM驱动程序中,用于查找指定的输出端点,例如查找指定分辨率的输出端点,然后将显示器的分辨率设置为符合要求的输出端点。
阅读全文