request_irq
- это, по сути, вызов оболочки request_threaded_irq
, который выделяет ресурсы IRQ и включает IRQ. Это перефразировано из блока комментариев в kernel/irq/manage.c
, Строка # 1239 .
Как правило, вы хотите использовать request_irq
, если вам нужно настроить обработку прерываний для какого-либо устройства. Убедитесь, что в любой подсистеме, в которой вы работаете, также нет оболочки для request_irq
. То есть, если вы работаете с драйвером устройства, рассмотрите возможность использования семейства вызовов devm_*
для автоматического управления мелочами, например освобождение неиспользуемых переменных и тому подобное. См. devm_request_threaded_irq
в Строка # 29 в kernel/irq/devres.c
для лучшего объяснения. Его эквивалентный вызов (и тот, который вы, скорее всего, будете использовать): devm_request_irq
.