All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mario Limonciello <superm1@kernel.org>
To: Hans de Goede <hansg@kernel.org>,
	Mika Westerberg <westeri@kernel.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Bartosz Golaszewski <brgl@bgdev.pl>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: linux-gpio@vger.kernel.org (open list:GPIO ACPI SUPPORT),
	linux-acpi@vger.kernel.org (open list:GPIO ACPI SUPPORT),
	linux-kernel@vger.kernel.org (open list),
	linux-input@vger.kernel.org (open list:INPUT (KEYBOARD, MOUSE,
	JOYSTICK, TOUCHSCREEN)...),
	Mario Limonciello <mario.limonciello@amd.com>
Subject: [PATCH v3 1/4] gpiolib: acpi: Add a helper for programming debounce
Date: Wed, 25 Jun 2025 16:58:10 -0500	[thread overview]
Message-ID: <20250625215813.3477840-2-superm1@kernel.org> (raw)
In-Reply-To: <20250625215813.3477840-1-superm1@kernel.org>

From: Mario Limonciello <mario.limonciello@amd.com>

Debounce is programmed in two places and considered non-fatal in one of
them. Introduce a helper for programming debounce and show a warning
when failing to program.  This is a difference in behavior for the call
in acpi_dev_gpio_irq_wake_get_by().

Reviewed-by: Hans de Goede <hansg@kernel.org>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
 drivers/gpio/gpiolib-acpi-core.c | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/drivers/gpio/gpiolib-acpi-core.c b/drivers/gpio/gpiolib-acpi-core.c
index 12b24a717e43f..1895e45bd9f16 100644
--- a/drivers/gpio/gpiolib-acpi-core.c
+++ b/drivers/gpio/gpiolib-acpi-core.c
@@ -291,6 +291,17 @@ acpi_gpio_to_gpiod_flags(const struct acpi_resource_gpio *agpio, int polarity)
 	return GPIOD_ASIS;
 }
 
+static void acpi_set_debounce_timeout(struct gpio_desc *desc, unsigned int timeout)
+{
+	int ret;
+
+	/* ACPI uses hundredths of milliseconds units */
+	ret = gpio_set_debounce_timeout(desc, timeout * 10);
+	if (ret)
+		dev_warn(&desc->gdev->dev,
+			 "Failed to set debounce-timeout: %d\n", ret);
+}
+
 static struct gpio_desc *acpi_request_own_gpiod(struct gpio_chip *chip,
 						struct acpi_resource_gpio *agpio,
 						unsigned int index,
@@ -300,18 +311,12 @@ static struct gpio_desc *acpi_request_own_gpiod(struct gpio_chip *chip,
 	enum gpiod_flags flags = acpi_gpio_to_gpiod_flags(agpio, polarity);
 	unsigned int pin = agpio->pin_table[index];
 	struct gpio_desc *desc;
-	int ret;
 
 	desc = gpiochip_request_own_desc(chip, pin, label, polarity, flags);
 	if (IS_ERR(desc))
 		return desc;
 
-	/* ACPI uses hundredths of milliseconds units */
-	ret = gpio_set_debounce_timeout(desc, agpio->debounce_timeout * 10);
-	if (ret)
-		dev_warn(chip->parent,
-			 "Failed to set debounce-timeout for pin 0x%04X, err %d\n",
-			 pin, ret);
+	acpi_set_debounce_timeout(desc, agpio->debounce_timeout);
 
 	return desc;
 }
@@ -1025,10 +1030,7 @@ int acpi_dev_gpio_irq_wake_get_by(struct acpi_device *adev, const char *con_id,
 			if (ret < 0)
 				return ret;
 
-			/* ACPI uses hundredths of milliseconds units */
-			ret = gpio_set_debounce_timeout(desc, info.debounce * 10);
-			if (ret)
-				return ret;
+			acpi_set_debounce_timeout(desc, info.debounce);
 
 			irq_flags = acpi_dev_get_irq_type(info.triggering,
 							  info.polarity);
-- 
2.43.0


  reply	other threads:[~2025-06-25 21:58 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-25 21:58 [PATCH v3 0/4] Fix soc-button-array debounce Mario Limonciello
2025-06-25 21:58 ` Mario Limonciello [this message]
2025-06-26 14:29   ` [PATCH v3 1/4] gpiolib: acpi: Add a helper for programming debounce Andy Shevchenko
2025-06-26 16:04     ` Mario Limonciello
2025-06-25 21:58 ` [PATCH v3 2/4] gpiolib: acpi: Program debounce when finding GPIO Mario Limonciello
2025-06-26 14:31   ` Andy Shevchenko
2025-06-25 21:58 ` [PATCH v3 3/4] Input: Don't program hw debounce for soc_button_array devices Mario Limonciello
2025-06-26  8:27   ` Hans de Goede
2025-06-26 14:33   ` Andy Shevchenko
2025-06-25 21:58 ` [PATCH v3 4/4] Input: Don't send fake button presses to wake system Mario Limonciello
2025-06-26  8:35   ` Hans de Goede
2025-06-26 11:33     ` Mario Limonciello
2025-06-26 17:44       ` Dmitry Torokhov
2025-06-26 17:53         ` Mario Limonciello
2025-06-26 18:07           ` Dmitry Torokhov
2025-06-26 18:20             ` Mario Limonciello
2025-06-26 18:48               ` Dmitry Torokhov
2025-06-26 18:55                 ` Mario Limonciello
2025-06-26 19:06                   ` Dmitry Torokhov
2025-06-26 19:37                   ` Andy Shevchenko
2025-06-26 18:57                 ` Hans de Goede
2025-06-26 19:14                   ` Dmitry Torokhov
2025-06-26 19:16                     ` Hans de Goede
2025-06-26 19:18                       ` Rafael J. Wysocki
2025-06-26 19:28                         ` Dmitry Torokhov
2025-06-26 19:31                           ` Rafael J. Wysocki
2025-06-26 19:40                             ` Dmitry Torokhov
2025-06-26 22:21                               ` Mario Limonciello
2025-06-27  4:56                                 ` Dmitry Torokhov
2025-06-27 14:06                                   ` Mario Limonciello
2025-06-27 14:14                                     ` Hans de Goede
2025-06-27 14:44                                       ` Dmitry Torokhov
2025-06-27 15:56                                         ` Hans de Goede
2025-06-27 16:12                                           ` Andy Shevchenko
2025-06-27 17:59                                             ` Hans de Goede
2025-06-27 18:47                                               ` Dmitry Torokhov
2025-06-27 18:36                                           ` Dmitry Torokhov
2025-06-27 18:56                                             ` Mario Limonciello
2025-06-27 19:18                                               ` Dmitry Torokhov
2025-06-27 19:38                                                 ` Hans de Goede
2025-06-27 19:44                                                   ` Mario Limonciello
2025-06-27 20:25                                                     ` Hans de Goede
2025-06-27 20:29                                                       ` Mario Limonciello
2025-06-27 19:45                                                 ` Mario Limonciello
2025-06-27 10:36                               ` Rafael J. Wysocki
2025-06-26 19:28                         ` Rafael J. Wysocki
2025-06-26 18:37       ` Hans de Goede
2025-06-26 18:42         ` Mario Limonciello
2025-06-26 18:45           ` Hans de Goede
2025-06-26 18:47             ` Mario Limonciello
2025-06-26 14:37   ` Andy Shevchenko
2025-06-26 14:35 ` [PATCH v3 0/4] Fix soc-button-array debounce Andy Shevchenko
2025-06-26 15:59   ` Mario Limonciello

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250625215813.3477840-2-superm1@kernel.org \
    --to=superm1@kernel.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=brgl@bgdev.pl \
    --cc=dmitry.torokhov@gmail.com \
    --cc=hansg@kernel.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mario.limonciello@amd.com \
    --cc=westeri@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.