On Thu, Oct 24, 2019 at 3:38 PM Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > 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. I'm pretty scared of this driver so I am keeping my hands off it for the time being. Also this patch has compile errors. I try not to change to many complicated things at one. Maybe next kernel cycle... Yours, Linus Walleij