Input: gpio_keys - avoid using GPIOF_ACTIVE_LOW
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 4 Nov 2024 09:34:19 +0000 (11:34 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Sat, 9 Nov 2024 13:55:33 +0000 (14:55 +0100)
Avoid using GPIOF_ACTIVE_LOW as it's deprecated and subject to remove.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20241104093609.156059-2-andriy.shevchenko@linux.intel.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/input/keyboard/gpio_keys.c

index 380fe8d..5eef665 100644 (file)
@@ -531,12 +531,7 @@ static int gpio_keys_setup_key(struct platform_device *pdev,
                 * Legacy GPIO number, so request the GPIO here and
                 * convert it to descriptor.
                 */
-               unsigned flags = GPIOF_IN;
-
-               if (button->active_low)
-                       flags |= GPIOF_ACTIVE_LOW;
-
-               error = devm_gpio_request_one(dev, button->gpio, flags, desc);
+               error = devm_gpio_request_one(dev, button->gpio, GPIOF_IN, desc);
                if (error < 0) {
                        dev_err(dev, "Failed to request GPIO %d, error %d\n",
                                button->gpio, error);
@@ -546,6 +541,9 @@ static int gpio_keys_setup_key(struct platform_device *pdev,
                bdata->gpiod = gpio_to_desc(button->gpio);
                if (!bdata->gpiod)
                        return -EINVAL;
+
+               if (button->active_low ^ gpiod_is_active_low(bdata->gpiod))
+                       gpiod_toggle_active_low(bdata->gpiod);
        }
 
        if (bdata->gpiod) {