On Tue, Oct 25, 2016 at 5:31 PM, Jerome Brunet <jbrunet@xxxxxxxxxxxx> wrote: > On Tue, 2016-10-25 at 15:47 +0100, Marc Zyngier wrote: >> Is gpio_to_irq() supposed to allocate an interrupt? Or merely to >> report the existence of a mapping? It should provide an IRQ corresponding to the gpio line, if possible. However the semantic is such, that it is not necessary to call to_irq() before using an IRQ: the irqchip and gpiochip abstractions should be orthogonal. This goes especially when using device tree or ACPI, where you may reference an IRQ from something modeled as irqchip, which is simultaneously a gpiochip. > Linus, please correct me if I'm wrong, > .to_irq gets the linux gpio number and returns the linux virtual irq > numbers, 0 if there is no interrupt. Yes. But it may *or may not* be called before using the IRQ. So it should look up or try to create a mapping on request, but not assume to have been called before using some line as IRQ. The only thing you should assume to be called before an interrupt is put to use is the stuff in irqchip. So you have to do your dynamic irqdomain mapping elsewhere than .to_irq(). Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html