[PATCH V2] arm/tegra: convert tegra20 to GIC devicetree binding
From: Stephen Warren <hidden>
Date: 2011-11-29 23:22:53
Also in:
linux-devicetree, linux-tegra
Rob Herring wrote at Tuesday, November 29, 2011 4:17 PM:
On 11/29/2011 04:58 PM, Stephen Warren wrote:
...
quoted
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