gpio: of: initialize local variable passed to the .of_xlate() callback
authorAlexander Stein <alexander.stein@ew.tq-group.com>
Tue, 8 Jul 2025 08:38:29 +0000 (10:38 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Wed, 9 Jul 2025 14:14:11 +0000 (16:14 +0200)
of_flags is passed down to GPIO chip's xlate function, so ensure this one
is properly initialized as - if the xlate callback does nothing with it
- we may end up with various configuration errors like:

    gpio-720 (enable): multiple pull-up, pull-down or pull-disable enabled, invalid configuration

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Link: https://lore.kernel.org/r/20250708083829.658051-1-alexander.stein@ew.tq-group.com
[Bartosz: tweaked the commit message]
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpiolib-of.c

index 73ba73b31cb1f55e5b84e5809659256cf2f7a704..37ab78243faba2feefb36b7edc53598021543295 100644 (file)
@@ -708,7 +708,7 @@ struct gpio_desc *of_find_gpio(struct device_node *np, const char *con_id,
                               unsigned int idx, unsigned long *flags)
 {
        char propname[32]; /* 32 is max size of property name */
-       enum of_gpio_flags of_flags;
+       enum of_gpio_flags of_flags = 0;
        const of_find_gpio_quirk *q;
        struct gpio_desc *desc;