[PATCH V2] arm/tegra: convert tegra20 to GIC devicetree binding

Stephen Warren swarren at nvidia.com
Wed Nov 30 10: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 devicetree-discuss mailing list