summaryrefslogtreecommitdiffstats
path: root/drivers/gpio/gpiolib-of.c
diff options
context:
space:
mode:
authorStephen Boyd <swboyd@chromium.org>2019-08-01 00:28:26 +0200
committerLinus Walleij <linus.walleij@linaro.org>2019-08-01 10:04:16 +0200
commit49281a222ac42724b94f6c874f43a284ec58d37e (patch)
tree93bd75d6c9031876e8e67b63f8dcf2dcbd17f62f /drivers/gpio/gpiolib-of.c
parentgpiolib-acpi: Move acpi_dev_add_driver_gpios() et al to consumer.h (diff)
downloadlinux-49281a222ac42724b94f6c874f43a284ec58d37e.tar.xz
linux-49281a222ac42724b94f6c874f43a284ec58d37e.zip
gpio: of: Fix hard-assigned valid_mask for OF case
The recent refactoring to break out OF code to its own file contained a bug letting the need_valid_mask be overridden by the need of the device tree range check, and if there were no ranges, but device tree was active and the reserved GPIO used in another way, things likely crash. Cc: Mark Brown <broonie@kernel.org> Cc: Bjorn Andersson <bjorn.andersson@linaro.org> Cc: Stephen Boyd <swboyd@chromium.org> Fixes: f626d6dfb709 ("gpio: of: Break out OF-only code") Reported-by: Mark Brown <broonie@kernel.org> Suggested-by: Stephen Boyd <swboyd@chromium.org> Signed-off-by: Stephen Boyd <swboyd@chromium.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio/gpiolib-of.c')
-rw-r--r--drivers/gpio/gpiolib-of.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c
index b10d04dd9296..e39b4290b80c 100644
--- a/drivers/gpio/gpiolib-of.c
+++ b/drivers/gpio/gpiolib-of.c
@@ -87,7 +87,7 @@ static struct gpio_desc *of_xlate_and_get_gpiod_flags(struct gpio_chip *chip,
* @dev: the device for the GPIO provider
* @return: true if the valid mask needs to be set
*/
-bool of_gpio_need_valid_mask(struct gpio_chip *gc)
+bool of_gpio_need_valid_mask(const struct gpio_chip *gc)
{
int size;
struct device_node *np = gc->of_node;