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

From: Linus Walleij
Date: Tue Sep 06 2022 - 07:29:46 EST


On Tue, Sep 6, 2022 at 12:11 PM Francesco Dolcini
<francesco.dolcini@xxxxxxxxxxx> 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@xxxxxxxxx>
> > ---
> > 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