gpiolib: check the 'ngpios' property in core gpiolib code
authorBartosz Golaszewski <brgl@bgdev.pl>
Thu, 2 Dec 2021 13:40:34 +0000 (14:40 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 14 Dec 2022 10:37:22 +0000 (11:37 +0100)
commit1a1075d371082bda15892e203a9e464c459c4a7c
tree83b3f7530a8298a24479826acef1b377a788e551
parent70c5515c1c3095210ad9c76eff8cb0dd35db6788
gpiolib: check the 'ngpios' property in core gpiolib code

[ Upstream commit 9dbd1ab20509e85cd3fac9479a00c59e83c08196 ]

Several drivers read the 'ngpios' device property on their own, but
since it's defined as a standard GPIO property in the device tree bindings
anyway, it's a good candidate for generalization. If the driver didn't
set its gc->ngpio, try to read the 'ngpios' property from the GPIO
device's firmware node before bailing out.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Stable-dep-of: ec851b23084b ("gpiolib: fix memory leak in gpiochip_setup_dev()")
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpio/gpiolib.c