The kernel API for requesting interrupts and the associated callback have a somewhat strange behaviour. Requesting an interrupts is done by calling sys_irqsetpolicy using an interrupt and a given id. This id can be modified by the sys_irqsetpolicy and must be used for subsequent calls to sys_irqenable/sys_irqdisable. However upon an incoming call from the kernel NOTIFY_ARG contains the original value encoded in a set e.g. if 1 << id == true the interrupt was raised. |
||
---|---|---|
.. | ||
earm | ||
i386 |