diff options
author | Bartosz Golaszewski <bgolaszewski@baylibre.com> | 2020-09-17 10:48:57 +0300 |
---|---|---|
committer | Bartosz Golaszewski <bgolaszewski@baylibre.com> | 2020-09-17 13:07:02 +0300 |
commit | 587823d39f85ff9777a862019eca720b97a16a52 (patch) | |
tree | 411d0af75394ac0bad35c46519e829d6304fc7ea /drivers/gpio/gpiolib.c | |
parent | 32fc5aa2df12c7a95dbd1c2c9ee3eb8d7f920d9e (diff) | |
download | linux-587823d39f85ff9777a862019eca720b97a16a52.tar.xz |
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 'drivers/gpio/gpiolib.c')
-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; |