LINUX.ORG.RU

IRQ, PCI, ACPI


0

0

Проблема в слудующем: БИОС при загрузке присваивает моей PCI плате 0xA прерываение (пишет его в регистр). При загрузке самописанного драйвера PCI для Linux в massage.log выводится сообщение типа:

ACPI: PCI Interrupt 0000:04:00:0[A]->GSI 21 (level,low)-> IRQ 21 

Я понимаю, что моей плате присвоено 21 прерывание, но драйвер-то для функции request_irq берет номер из значения регистра в конфигурационном прострастве PCI. Вопрос: как сделать так, чтобы при захвате линии прерыввания мне было известно какое прерываение присвоил плате ACPI? Не смотреть же все время логи...(варианты с выключением ACPI не предлагать)

Ответ на: комментарий от piroflip

> pdev->irq в функции probe, которая будет вызвана ядром при pci_register_driver(&foo_driver);

Не совсем так. Номер прерывания может назначться ACPI при вызове pci_enable_device, так чно нужно сначала вызвать эту функцию, а потом уже request_irq.

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