On Wed, 1 Dec 2010 17:35:58 +0100 Guillaume Dargaud <darg...@lpsc.in2p3.fr> wrote:
> OK, here goes then: how do I get the IRQ number so that I can install an > interrupt handler on it ? > > In my dts file I have: > xps_acqui_data_0: xps-acqui-d...@c9800000 { > compatible = "xlnx,xps-acqui-data-3.00.a"; > interrupt-parent = <&xps_intc_0>; > interrupts = < 0 2 >; > reg = < 0xc9800000 0x10000 >; > xlnx,family = "virtex4"; > xlnx,include-dphase-timer = <0x1>; > xlnx,mplb-awidth = <0x20>; > xlnx,mplb-clk-period-ps = <0x2710>; > xlnx,mplb-dwidth = <0x40>; > xlnx,mplb-native-dwidth = <0x40>; > xlnx,mplb-p2p = <0x0>; > xlnx,mplb-smallest-slave = <0x20>; > } ; > > In my minimal driver init, I have: > first = MKDEV (my_major, my_minor); > register_chrdev_region(first, count, NAME); > cdev_init(my_cdev, &fops); > cdev_add (my_cdev, first, count); > So far so good. > > Now how do I connect the dots between the hardware definitions from the dts > and > my driver ? How was your driver probed? If you can get a pointer to the device node, use irq_of_parse_and_map() to get a virtual irq that you can pass to request_irq(). > But first I'm not sure where to find the IRQ in there, and also I'm not sure > if > reading the filesystem from a module is allowed. There's no need; there are much easier ways to access the device tree from within the kernel. > How do I know if this interrupt is shared or not (is it important ?) Can your driver tolerate it being shared? If so, request it as shared. -Scott _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev