2010-06-11 89 views
1

我正在學習Linux中的設備驅動程序編程。我想知道在哪裏可以找到要用作request_irq函數中的「irq」參數的IRQ編號?我在哪裏可以找到request_irq函數中的IRQ號碼?

int request_irq (unsigned int irq, 
       void (*handler) (int, void *, struct pt_regs *), 
       unsigned long irqflags, 
       const char *devname, 
       void *dev_id); 

感謝

回答

2

你似乎借鑑了錯誤的一邊器件編程 - 沒有一個設備。

如果您有例如設備在PCI上,然後它的IRQ由PCI協商並可通過Linux PCI子系統使用。

如果你有一些自定義的有線設備,往往它的IRQ線路是硬連線和你應該去問誰做它被連接到和它是什麼IRQ定製設備的人。

否則給自己一份LDD3的副本 - 這是值得的,並詳細描述了所有這一切。

1

如果您只有一箇中斷控制器,則irq編號就是硬件IRQ編號。

如果你有一個以上的PIC,您需要在董事會尋找特定的初始化包括文件,看是給您的設備連接到並添加到硬件IRQ號的具體PIC抵銷。

它通常是在板特有文件在include /目錄下名爲irqs.h一個包含文件。例如。對於基於Arm的Bcmring板,該文件位於linux/arch/arm/mach-bcmring/include/mach/irqs.h

相關問題