Re: [PATCH v2 2/4] Documentation: DT: bindings: input: Add documentation for cyttsp5
From: Linus Walleij
Date: Thu Nov 11 2021 - 10:16:56 EST
On Wed, Nov 10, 2021 at 6:37 PM Andreas Kemnade <andreas@xxxxxxxxxxxx> wrote:
> Alistair Francis <alistair23@xxxxxxxxx> wrote:
> You have a kind of double inversion here, so things are automagically fixed.
> IMHO to describe it correctly would be to set GPIO_ACTIVE_LOW here
> and in the driver
>
> /* Reset the gpio to be in a reset state */
> ts->reset_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH);
> if (IS_ERR(ts->reset_gpio)) {
> rc = PTR_ERR(ts->reset_gpio);
> dev_err(dev, "Failed to request reset gpio, error %d\n", rc);
> return rc;
> }
> gpiod_set_value(ts->reset_gpio, 0);
>
> That is the way how other active-low reset lines are handled.
Correct.
This is a source of confusion, I contemplated just changing the name
of GPIOD_OUT_HIGH to GPIOD_OUT_ASSERTED etc to indicate
what is going on.
gpiod_set_value(ts->reset_gpio, 0) should similarly be interpreted
as "de-assert this line" no matter the polarity.
Yours,
Linus Walleij