Hi, On Fri Jan 9, 2026 at 11:55 AM CET, Bartosz Golaszewski wrote: > The presence of the .get_direction() callback is already checked in > gpiochip_get_direction(). Remove the duplicated check which also returns > the wrong error code to user-space. > > Fixes: e623c4303ed1 ("gpiolib: sanitize the return value of gpio_chip::get_direction()") > Reported-by: Michael Walle > Closes: https://lore.kernel.org/all/DFJAFK3DTBOZ.3G2P3A5IH34GF@kernel.org/ > Signed-off-by: Bartosz Golaszewski > --- > drivers/gpio/gpiolib.c | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c > index 0a14085f3871..5eb918da7ea2 100644 > --- a/drivers/gpio/gpiolib.c > +++ b/drivers/gpio/gpiolib.c > @@ -468,9 +468,6 @@ int gpiod_get_direction(struct gpio_desc *desc) > test_bit(GPIOD_FLAG_IS_OUT, &flags)) > return 0; > > - if (!guard.gc->get_direction) > - return -ENOTSUPP; > - Not sure, if that will make it better or worse though. > ret = gpiochip_get_direction(guard.gc, offset); Because that will then do a WARN_ON(!.get_direction) and will spam the kernel log in case of the gpio-shared-proxy. Also the return code will change from ENOTSUPP to EOPNOTSUPP. -michael > if (ret < 0) > return ret;