Шрифт:
Пятый параметр,
Этот параметр также передается обработчику прерывания при каждом вызове. Обычная практика — это передача указателя на структуру устройства (контекст устройства), так как этот параметр является уникальным, и, кроме того, в обработчике прерывания может быть полезным иметь указатель на эту структуру.
В случае успеха функция
Следует обратить внимание, что функция
Для регистрации линии прерывания и инсталляции обработчика в коде драйвера можно использовать следующий вызов.
В этом примере параметр
Освобождение обработчика прерывания
Для освобождения линии прерывания необходимо вызвать функцию
Если указанная линия не является совместно используемой, то эта функция удаляет обработчик и запрещает линию прерывания. Если линия запроса на прерывание является совместно используемой, то удаляется обработчик, соответствующий параметру
Вызов функции
Таблица 6.1. Список функций управления регистрацией прерываний
Функция | Описание |
---|---|
request_irq | Зарегистрировать заданный обработчик прерывания для заданной линии прерывания |
free_irq | Освободить указанный обработчик прерывания. Если с линией прерывания больше не связан ни один обработчик, то запретить указанную линию прерывания |
Написание обработчика прерывания
Следующее описание является типичным для обработчика прерывания.
Заметим, что оно должно соответствовать аргументу, который передается в функцию
Второй параметр,