Для вас есть разница, каким прерываниям можно прерывать текущий обработчик IRQ, а каким нет?
Если разница есть - то придётся использовать Vectored Interrupt Controller.
если нет - то определяйте
ALT_LEGACY_INTERRUPT_API_PRESENT
и внутри обработчика прерывания, которое может быть прервано другими - пишите
Код
tempcontext= alt_irq_interruptible(id);
// Do something which is interruptible
alt_irq_non_interruptible(tempcontext);
провоцируем неудовлетворенных провокаторов с удовольствием.