2013-08-01 3 views

ответ

2

IRQF_TRIGGER_NONE определяется с помощью битовой маски 0, указывающей на то, что она НЕ подразумевает какого-либо поведения прерывания по краю или уровню.

#define IRQF_TRIGGER_NONE  0x00000000 

Таким образом, регистрируя ISR с помощью request_irq() с IRQF_TRIGGER_NONE не изменяет существующую конфигурацию IRQ. Это важно в сценариях, где мы просто хотели бы зарегистрировать ISR для оборудования в режиме, который он в настоящее время настроен [1].

Пример использования IRQF_TRIGGER_NONE in the Linux Kernel.

+0

Если флаг используется для настройки ISR для текущего режима, как узнать текущий настроенный режим? – Madara

+0

@Mike Флаг 'IRQF_TRIGGER_NONE' - это быстрый способ просто продолжить использование прерывания просто так, как он уже был установлен (в загрузчике или ранее в ядре) и зарегистрировать ISR для него. Определение текущего настроенного режима обычно выполняется путем считывания соответствующих регистров на соответствующем устройстве. – TheCodeArtist

Смежные вопросы