Включение и отключение общих прерываний GPIO
В некоторых случаях строки запроса прерывания с двух или более периферийных устройств могут подключаться к одному и тому же физическому контакту ввода-вывода общего назначения (GPIO). Закрепление GPIO для общей строки прерывания обычно настраивается для прерываний с активацией уровня.
Если драйверы для этих устройств регистрируют свои подпрограммы службы прерываний (ISR) для активации при утверждении прерывания в этом контакте GPIO, расширение платформы GPIO (GpioClx) вызывает функцию обратного вызова CLIENT_EnableInterrupt только при регистрации первого драйвера для этого прерывания. Когда другие драйверы регистрируются для использования уже включенного прерывания GPIO, GpioClx внутренне отслеживает эти регистрации, но не вызывает функцию обратного вызова CLIENT_EnableInterrupt , чтобы включить это прерывание. Аналогичным образом GpioClx вызывает функцию обратного вызова CLIENT_DisableInterrupt только тогда, когда последний из зарегистрированных драйверов освобождает прерывание.