Hi Linus, On mer., mars 29 2017, Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: >>> It has irq_create_mapping(gpiochip->irqdomain, offset); that get >>> called for every IRQ, and that will eventually call irq_of_parse_and_map() >>> if the IRQs are defined in the device tree. (IIRC) >> >> When I followed the functions called I never find a call to >> irq_of_parse_and_map(), the closer things related to device tree I found >> was: >> "virq = irq_domain_alloc_descs(-1, 1, hwirq, of_node_to_nid(of_node), >> NULL);" >> http://elixir.free-electrons.com/source/kernel/irq/irqdomain.c?v=4.11-rc4#L507 > > I don't know if I'm rambling or what. I'm pretty sure it gets called, maybe > even earlier, like when the DT is parsed for the platform. We have so many > drivers not seemingly needing this, but if your driver needs it, all others > may need to be fixed too. > > Can you put a print in irq_of_parse_and_map() and see what happens? So if I don't call it explicitly in my driver, then this function is never called for the gpio. Gregory -- Gregory Clement, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com -- 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