[PATCH V2] arm/tegra: convert tegra20 to GIC devicetree binding
Stephen Warren
swarren at nvidia.com
Tue Nov 29 18:22:53 EST 2011
Rob Herring wrote at Tuesday, November 29, 2011 4:17 PM:
> On 11/29/2011 04:58 PM, Stephen Warren wrote:
...
> > I've been looking at hooking up the Tegra GPIO controller's IRQ support
> > through device tree. It looks like I need to call irq_domain_add_simple()
> > for the GPIO node to make this work, and I think this needs to be triggered
> > by of_irq_init()'s match table, and hence I need a single of_irq_init()
> > call in Tegra's board-dt.c, which includes both the GIC and GPIO controller
> > entries.
> >
> > Is my understanding here all correct? If so, I will just follow your
> > initial suggestion and have tegra_init_irq() do just:
>
> Yes, you should have 1 of_irq_init call. Really the irqdomain code
> should go into the gpio code.
It sounds like you're saying:
* The of_irq_init() call doesn't have to include all the IRQ controllers
in the system.
* So, it's fine for the Tegra GPIO controller's probe() function to
simply call irq_domain_add_simple() for itself.
Is that correct? If so, I'll gladly add the call to the GPIO controller
and leave just the GIC to be handled via of_irq_init().
The only issue here is the usual device ordering issue; if the Tegra GPIO
controller doesn't probe before devices that use it, then the IRQ domain
won't exist. But, this is true for the interrupts themselves, so nothing
new there.
> Do you use generic irqchip for gpio?
No, it's custom code. Some of the code could probably use the generic
code, but there is some additional functionality beyond that.
> If
> so, I'm working on a patch adding irqdomain to generic irqchip. I still
> need to debug a problem with it and have been too busy to get back to it.
--
nvpublic
More information about the linux-arm-kernel
mailing list