[PATCH] mfd: stmpe: switch to using gpiod API

Linus Walleij linus.walleij at linaro.org
Tue Sep 6 04:29:21 PDT 2022


On Tue, Sep 6, 2022 at 12:11 PM Francesco Dolcini
<francesco.dolcini at toradex.com> wrote:
> On Mon, Sep 05, 2022 at 10:01:47PM -0700, Dmitry Torokhov wrote:
> > This patch switches the driver away from legacy gpio/of_gpio API to
> > gpiod API, and removes use of of_get_named_gpio_flags() which I want to
> > make private to gpiolib.
> >
> > Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>
> > ---
> >  drivers/mfd/stmpe.c | 36 +++++++++++++-----------------------
> >  1 file changed, 13 insertions(+), 23 deletions(-)
> >
> > diff --git a/drivers/mfd/stmpe.c b/drivers/mfd/stmpe.c
> > index 987e251d90ae..0c4f74197d3e 100644
> > --- a/drivers/mfd/stmpe.c
> > +++ b/drivers/mfd/stmpe.c
> > @@ -8,14 +8,13 @@
> >   */
> >
>
> <snip>
>
> > -     pdata->irq_gpio = of_get_named_gpio_flags(np, "irq-gpio", 0,
> <snip>
> > +     irq_gpio = devm_gpiod_get_optional(ci->dev, "irq", GPIOD_ASIS);
> isn't this changing from irq-gpio to irq-gpios property name?

The gpiolib core will automatically append and test the strings
*-gpios and *-gpio (in that order)

> in the DTS files we do have something like that:
>
>  irq-gpio = <&gpio TEGRA_GPIO(V, 0) IRQ_TYPE_LEVEL_LOW>;

This seems to be an orthogonal bug.

That flag in the last cell is invalid for a GPIO, the DT schema should
scream at you if you have one. GPIO flags are
GPIO_ACTIVE_LOW, GPIO_OPEN_DRAIN etc. That looks more
like an IRQ, and then the property should be irqs = <...>.

Yours,
Linus Walleij



More information about the linux-arm-kernel mailing list