我有一个HW_IRQ是共享的两个内核模块。Module1在启动时加载并调用:request_irq(linux_irq1, handler1, IRQF_SHARED, ...);。启动后,我希望加载与Module2共享相同HW_IRQ的Module1。我要打电话给request_irq(linux_irq2, handler2, IRQF_SHARED, ...);。实际上,'linux_irq2‘等于’linux_irq1 1‘,但是在Module2中,我不能访问Module1的私有数据。你知道如何将HW_IRQ转换成Module2中的“linux_irq2”吗
Module2作为Module1的一个补丁,它没有设备树节点。
发布于 2022-08-01 03:15:14
我们可以通过以下方式将HW IRQ映射到Linux IRQ:
u32 irq;
struct irq_desc *desc;
for (irq = 0; irq < NR_IRQS; irq++) {
desc = irq_to_desc(irq);
if (desc && desc->irq_data.hwirq == hwirq)
return desc->irq_data.irq;
}https://stackoverflow.com/questions/73132770
复制相似问题