Как зарегистрировать функцию в коде драйвера как ее ISR

Следуя обратной связи, которую я получил от моего предыдущего вопроса о разработке ядра Linux,

Я написал драйвер (в ядре Linux v2.6.32), сравнив его с существующим драйвером и сильно «заимствовав» его код. Водитель прописан нормально. Init () и probe () работают нормально. Я также могу получить доступ к регистрам периферийных устройств. :-)

Однако я немного не уверен в IRQ / ISR. Периферийное устройство является устройством ввода и вызывает прерывание на выводе GPIO.

Как мне выйти из текущего состояния, чтобы обработать IRQ и выполнить свою функцию ISR?


person TheCodeArtist    schedule 23.04.2010    source источник


Ответы (1)


Вы смотрели книгу Драйверы устройств Linux? В нем есть целая глава об обработке прерываний. Он должен предоставить вам необходимую справочную информацию.

person JayM    schedule 23.04.2010