On Fri, 11 Feb 2011 14:07:26 -0500
Kenny Ho [off-list ref] wrote:
Hi,
I am trying to write a device driver that uses an external interrupt
(one of the 16 irq lines) for the Freescale P1020 processor and I hope
some of you can help. Am I suppose to setup a separate node in the dts
and look for that node in my driver to setup the interrupt?
Ideally, yes. It's good to describe your device with a node even if it
doesn't have interrupts.
Or does the > dts interrupt declaration belong to the interrupt-controller
declaration? I noticed the mpc8xxx_gpio driver defined its own irq_chip
but I thought that may be because each gpio pin can trigger an
interrupt.
Right, it's because gpio is an interrupt controller, not just a user of one.
Do I need to define my own irq_chip structure for my device
even if I am using one of the hard irq lines?
No. If the device's node describes the interrupt correctly, you can use
irq_of_parse_and_map() on the device node to get a virtual irq that you can
pass to request_irq().
-Scott