diff options
author | Bartosz Golaszewski <bgolaszewski@baylibre.com> | 2020-09-17 09:48:57 +0200 |
---|---|---|
committer | Bartosz Golaszewski <bgolaszewski@baylibre.com> | 2020-09-17 12:07:02 +0200 |
commit | 587823d39f85ff9777a862019eca720b97a16a52 (patch) | |
tree | 411d0af75394ac0bad35c46519e829d6304fc7ea /drivers/gpio/gpiolib.c | |
parent | gpiolib: unexport devprop_gpiochip_set_names() (diff) | |
download | linux-587823d39f85ff9777a862019eca720b97a16a52.tar.xz linux-587823d39f85ff9777a862019eca720b97a16a52.zip |
gpiolib: check for parent device in devprop_gpiochip_set_names()
It's possible for a GPIO chip to not have a parent device (whose
properties we inspect for 'gpio-line-names'). In this case we should
simply return from devprop_gpiochip_set_names(). Add an appropriate
check for this use-case.
Fixes: 7cba1a4d5e16 ("gpiolib: generalize devprop_gpiochip_set_names() for device properties")
Reported-by: Anders Roxell <anders.roxell@linaro.org>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: Anders Roxell <anders.roxell@linaro.org>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Diffstat (limited to '')
-rw-r--r-- | drivers/gpio/gpiolib.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index b7b608ef9e6b..dfcff5d24b18 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -375,6 +375,10 @@ static int devprop_gpiochip_set_names(struct gpio_chip *chip) int ret, i; int count; + /* GPIO chip may not have a parent device whose properties we inspect. */ + if (!dev) + return 0; + count = device_property_string_array_count(dev, "gpio-line-names"); if (count < 0) return 0; |