首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以在不创建平台设备的情况下查询设备树项目?

是否可以在不创建平台设备的情况下查询设备树项目?
EN

Stack Overflow用户
提问于 2014-11-06 07:28:03
回答 1查看 1.4K关注 0票数 3

我正在编写一个内核模块,旨在对ARM+FPGA系统的设备驱动程序内核模块进行功能测试。我的方法包括通过查询设备树来查找设备驱动程序正在使用的中断。在设备驱动程序本身中,我使用platform_driver_register注册了一个平台驱动程序,并在.probe函数中传递给我一个包含platform_device*指针的device指针。这样,我就可以调用of_match_deviceirq_of_parse_and_map,检索irq编号。

我不想注册第二个平台驱动程序,只是为了在测试模块中以这种方式查询设备树。有没有其他方法可以查询设备树(可能更直接,按名称查询?)

EN

回答 1

Stack Overflow用户

发布于 2014-11-07 03:01:07

这就是我到目前为止所发现的,而且它似乎是有效的。of_find_compatible_node做了我想做的事。一旦有了device_node*,我就可以调用irq_of_parse_and_map (因为of_irq_get_byname似乎不能为我编译)。我可以像下面这样使用它:

代码语言:javascript
复制
#include <linux/of.h>
#include <linux/of_irq.h>
....
int get_dut_irq(char* dev_compatible_name)
{
    struct device_node* dev_node;
    int irq = -1;
    dev_node = of_find_compatible_node(NULL, NULL, dev_compatible_name);
    if (!dev_node)
        return -1;
    irq = irq_of_parse_and_map(dev_node, 0);
    of_node_put(dev_node);
    return irq;
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26769116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档