On Tue, Aug 13, 2019 at 09:01:23AM +0200, Linus Walleij wrote: > We need to convert all old gpio irqchips to pass the irqchip > setup along when adding the gpio_chip. For more info see > drivers/gpio/TODO. > > This driver is something of a special case, so we need to > discuss it. > > It picks a number of IRQ descriptors before setting up > the gpio_irq_chip using devm_irq_alloc_descs() giving a > fixed irq base in the IRQ numberspace. It then games the > irqchip API by associating IRQs from that base and upward > with as many pins there are in the "community" which is a > set of pins. Then after each gpio_chip is registered, it > fills in the pin to IRQ map for each GPIO range inside > that "community" with irq_domain_associate_many() which > works fine since the descriptors were allocated > previously. > > This is actually a hierarchical irq_chip as far as I can > tell. The problem is that very likely the Intel root IRQ > chip is not hierarchical so it does not support using the > facilities for hierarchical irqdomains. > > I will soon merge the patch providing hierarchical irqchip > support in gpiolib: > https://lore.kernel.org/linux-gpio/20190808123242.5359-1-linus.walleij@xxxxxxxxxx/ > > Will we need to bite the bullet and convert the root > irqchip for the intels to support hierarcical irqdomain? We have few fixes for this driver, perhaps you can send a new version based on them when they appear in your tree. -- With Best Regards, Andy Shevchenko