On Thu, Sep 23, 2021 at 7:22 PM Nikita Yushchenko <nikita.yoush@xxxxxxxxxxxxxxxxxx> wrote: > > From: Andrey Gusakov <andrey.gusakov@xxxxxxxxxxxxxxxxxx> > > Per gpio_chip interface, error shall be proparated to the caller. > > Attempt to silent diagnostics by returning zero (as written in the > comment) is plain wrong, because the zero return can be interpreted by > the caller as the gpio value. > > Signed-off-by: Andrey Gusakov <andrey.gusakov@xxxxxxxxxxxxxxxxxx> > Signed-off-by: Nikita Yushchenko <nikita.yoush@xxxxxxxxxxxxxxxxxx> > --- > drivers/gpio/gpio-pca953x.c | 11 ++--------- > 1 file changed, 2 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c > index f5cfc0698799..8ebf369b3ba0 100644 > --- a/drivers/gpio/gpio-pca953x.c > +++ b/drivers/gpio/gpio-pca953x.c > @@ -468,15 +468,8 @@ static int pca953x_gpio_get_value(struct gpio_chip *gc, unsigned off) > mutex_lock(&chip->i2c_lock); > ret = regmap_read(chip->regmap, inreg, ®_val); > mutex_unlock(&chip->i2c_lock); > - if (ret < 0) { > - /* > - * NOTE: > - * diagnostic already emitted; that's all we should > - * do unless gpio_*_value_cansleep() calls become different > - * from their nonsleeping siblings (and report faults). > - */ > - return 0; > - } > + if (ret < 0) > + return ret; > > return !!(reg_val & bit); > } > -- > 2.30.2 > Applied, thanks! Bart