2022-04-08 将设备树中断标志 interrupt-parent interrupts 映射到devm

2022-04-08 将设备树中断标志 interrupt-parent interrupts 映射到devm,第1张


一、linux 驱动里面probe有这样一段,自动从dts里面获取client->irq 中断号


在您的probe()函数中,client->irq将包含IRQ编号。



二、让我们看一下i2c_device_probe()函数(它probe()是调用驱动程序函数的地方)。


static int i2c_device_probe(struct device *dev)
{
    ...
    if (dev->of_node) {
        ...
        irq = of_irq_get(dev->of_node, 0);
    }
    ...
    client->irq = irq;
    ...
    status = driver->probe(client, i2c_match_id(driver->id_table, client));
}

因此,client->irq在驱动程序的探测功能中已经包含IRQ编号。



三、我这里做个简单是测试,client->irq获取到irq编号和用gpio_to_irq方法、of_irq_get三个方法获取到中断编号是一样的。


  1、dts和测试代码

  2、看打印log,获取到中断编号都是96 

  3、执行cat /proc/interrupts看中断是否注册ok

 

五、参考文章

将设备树中断标志映射到devm_request_irq | 经验摘录

Linux 内核中断与驱动中应用_老理说的好的博客-CSDN博客

中断在设备树中的使用_弋阳yoga的博客-CSDN博客_中断设备树

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/571820.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存