我正在尝试在我正在开发的嵌入式ARM FPGA系统中使用Xilinx中断控制器驱动程序。 (https://github.com/torvalds/linux/blob/master/drivers/irqchip/irq-xilinx-intc.c)IRQCHIP_DECLARE:init函数未运行
在此驱动程序的到底是行:
IRQCHIP_DECLARE(xilinx_intc_xps, "xlnx,xps-intc-1.00.a", xilinx_intc_of_init);
我已经加入我的设备树的中断控制器的条目。
xil_intc: [email protected] {
compatible = "xlnx,xps-intc-1.00.a";
interrupt-parent = <&intc>;
interrupts = <0x0 0x1e 0x04>;
reg = <0x41810000 0x10000>;
interrupt-controller;
#interrupt-cells = <2>;
xlnx,kind-of-intr = <0x0>;
xlnx,num-intr-inputs = <0x1>;
};
但是,从我所知道的,xilinx_intc_of_init
功能永远不会启动时调用。我在函数的开头添加了一个pr_info
,但我从未看到它被调用。
这似乎表明了问题的唯一信息是:
[ 0.177772] irq: no irq domain found for /amba/[email protected] !
我已经成功地编写和编译其他设备驱动程序,添加设备树条目,并让他们加载并显示在dmesg
,但由于某种原因,我无法让这个工作。
对此进行调试的任何建议?
对于它的价值,我正在将驱动程序编译到内核模块中,使用modules_install
进行安装,并在启动时加入了一个条目以加载/etc/modules
。
编辑:我正在使用4.6内核。