gpio: don't WARN() on NULL descs if gpiolib is disabled
authorBartosz Golaszewski <bgolaszewski@baylibre.com>
Mon, 8 Jul 2019 08:23:43 +0000 (10:23 +0200)
committerBartosz Golaszewski <bgolaszewski@baylibre.com>
Sun, 28 Jul 2019 10:44:14 +0000 (12:44 +0200)
commitffe0bbabb0cffceceae07484fde1ec2a63b1537c
tree09839bccb2f0faef62b3c9b0fef466994da0e659
parent223ecaf140b1dd1c1d2a1a1d96281efc5c906984
gpio: don't WARN() on NULL descs if gpiolib is disabled

If gpiolib is disabled, we use the inline stubs from gpio/consumer.h
instead of regular definitions of GPIO API. The stubs for 'optional'
variants of gpiod_get routines return NULL in this case as if the
relevant GPIO wasn't found. This is correct so far.

Calling other (non-gpio_get) stubs from this header triggers a warning
because the GPIO descriptor couldn't have been requested. The warning
however is unconditional (WARN_ON(1)) and is emitted even if the passed
descriptor pointer is NULL.

We don't want to force the users of 'optional' gpio_get to check the
returned pointer before calling e.g. gpiod_set_value() so let's only
WARN on non-NULL descriptors.

Cc: stable@vger.kernel.org
Reported-by: Claus H. Stovgaard <cst@phaseone.com>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
include/linux/gpio/consumer.h