Virtual IRQ mapping in Linux kernel 4.6.0
In earlier kernel versions I was able to register an interrupt easily on my embedded platform, since the IRQ port of my ARM processor had clearly defined IRQ indecies for each input.
For example, my current design has an input to pin 9 on the IRQ port, and I know that corresponds to IRQ number 85.
Previously, I could then write a kernel module and put in a call as follows:
e = request_irq(IRQ_NUMBER, IRQ_HANDLER, 0, IRQ_NAME, NULL);
And that would register the function IRQ_HANDLER to execute whenever the interrupt is raised.
In the newer kernel, apparently all IRQs are virtually remapped by Linux, so I can't use the physical index, 85. I need to figure out what the remapped index is during my initialization.
How do I figure out the virtual IRQ number?
|