2010-06-11 48 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

相关问题