Re: pinctrl: mcp23s08: detected irqchip that is shared with multiple gpiochips - real of false?

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

 



Added Marco and a few other MCP23s08 people who may be more familiar
with this code. (The driver is a bit complex.)

On Thu, Jun 6, 2019 at 10:59 AM Phil Reid <preid@xxxxxxxxxxxxxxxxx> wrote:

> Using kernel 5.1 I'm getting the following message:
> "detected irqchip that is shared with multiple gpiochips: please fix the driver"
>
> Which I believe should be fixed by:
> 19ab5ca "pinctrl: mcp23s08: Allocate irq_chip dynamic"
>
> However mcp23s08_probe_one() ends up calling gpiochip_set_irq_hooks() twice.

It looks strange when I look at the mcp23s08_probe_one() function
because it goes like:

if (mcp->irq && mcp->irq_controller) {
    ret = mcp23s08_irqchip_setup(mcp);
    if (ret)
        goto fail;
}
(...)
if (mcp->irq)
    ret = mcp23s08_irq_setup(mcp);

That seems wrong... but overall the code in this probe_one is pretty hard to
follow and probably needs some refactoring.

This comes from f259f896f234 ("pinctrl: mcp23s08: fix irq and irqchip
setup order")
by Marco, Marco can you look into this and help us figure out why this happens?

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