os: add Platform::Device::sigh_omit_initial_signal

Add possibility to register an interrupt handler without triggering
an initial spurious interrupt for ported device driver code.

Fixes #4154
This commit is contained in:
Stefan Kalkowski 2021-05-17 15:43:30 +02:00 committed by Christian Helmuth
parent 67a8f29697
commit 516601b7ba

View File

@ -149,6 +149,17 @@ class Platform::Device::Irq : Noncopyable
if (sigh.valid()) if (sigh.valid())
Signal_transmitter(sigh).submit(); Signal_transmitter(sigh).submit();
} }
/**
* Register interrupt signal handler
*
* This call omits the one-time trigger of the interrupt
* handler for ported drivers that cannot handle it sufficiently.
*/
void sigh_omit_initial_signal(Signal_context_capability sigh)
{
_irq.sigh(sigh);
}
}; };
#endif /* _INCLUDE__SPEC__ARM__PLATFORM_SESSION__DEVICE_H_ */ #endif /* _INCLUDE__SPEC__ARM__PLATFORM_SESSION__DEVICE_H_ */