On Fri, Nov 12, 2021 at 1:16 AM Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > > 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. Thanks! I have fixed this Alistair > > Yours, > Linus Walleij