2022-04-08 将设备树中断标志 interrupt-parent interrupts 映射到devm_request_irq,自动从dts里面获取client->irq 中断号。

一、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博客_中断设备树

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值