Re: [PATCH] RFC: pinctrl: cherryview: Pass irqchip when adding gpiochip

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux