LINUX.ORG.RU

Обработка shared IRQ


0

0

Подскажите, как правильно обеспечить синхронизацию между обработчиком прерывания и функцией, которая программирует железяку для выдачи прерываний. По моему хорошо бы было делать так:

void my_hardware_service(){

disable_irq(irq);// дождется завершения обработчиков прерывания

// программирование железки

. . .

// готово

enable_irq(irq); }

но вызывать disable_irq() для шаренных прерываний в доках не советуют. Как тогда обеспечить синхронизацию функций программирования устройств и функций обрабатывающих таймауты с обработчиком IRQ ?


Обычно в обработчиках почти ничего не делают а оставляют на потом (tasklets).

Banshee
()
Ответ на: комментарий от snilga

в сети выложена книга Linux device drivers. рекомендую.

idle ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.