From: Mika Westerberg <mika.westerberg@linux.intel.com>
To: "Mario Limonciello (AMD)" <superm1@kernel.org>
Cc: mario.limonciello@amd.com, westeri@kernel.org,
andriy.shevchenko@linux.intel.com, linus.walleij@linaro.org,
brgl@bgdev.pl, linux-gpio@vger.kernel.org,
linux-acpi@vger.kernel.org
Subject: Re: [PATCH] gpiolib: acpi: Program debounce when finding GPIO
Date: Mon, 18 Aug 2025 06:55:38 +0200 [thread overview]
Message-ID: <20250818045538.GH476609@black.igk.intel.com> (raw)
In-Reply-To: <20250818015219.3604648-1-superm1@kernel.org>
Hi,
On Sun, Aug 17, 2025 at 08:52:07PM -0500, Mario Limonciello (AMD) wrote:
> When soc-button-array looks up the GPIO to use it calls acpi_find_gpio()
> which will parse _CRS.
>
> acpi_find_gpio.cold (drivers/gpio/gpiolib-acpi-core.c:953)
> gpiod_find_and_request (drivers/gpio/gpiolib.c:4598 drivers/gpio/gpiolib.c:4625)
> gpiod_get_index (drivers/gpio/gpiolib.c:4877)
>
> The GPIO is setup basically, but the debounce information is discarded.
> The platform will assert what debounce should be in _CRS, so program it
> at the time it's available.
The spec says for GpioInt():
DebounceTimeout is an optional argument specifying the debounce wait
time, in hundredths of milliseconds. The bit field name _DBT is
automatically created to refer to this portion of the resource
descriptor.
I was not sure but wanted to check that if it is left out, does ACPICA fill
it with 0? If yes (I would expect so) then this is fine.
> Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
> ---
> v4:
You missed "v4" in the $subject.
> * Just add a direct call instead
> * drop tag
> * update commit message
> ---
> drivers/gpio/gpiolib-acpi-core.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/gpio/gpiolib-acpi-core.c b/drivers/gpio/gpiolib-acpi-core.c
> index 12b24a717e43f..6388e8e363dee 100644
> --- a/drivers/gpio/gpiolib-acpi-core.c
> +++ b/drivers/gpio/gpiolib-acpi-core.c
> @@ -944,6 +944,7 @@ struct gpio_desc *acpi_find_gpio(struct fwnode_handle *fwnode,
> bool can_fallback = acpi_can_fallback_to_crs(adev, con_id);
> struct acpi_gpio_info info;
> struct gpio_desc *desc;
> + int ret;
>
> desc = __acpi_find_gpio(fwnode, con_id, idx, can_fallback, &info);
> if (IS_ERR(desc))
> @@ -957,6 +958,11 @@ struct gpio_desc *acpi_find_gpio(struct fwnode_handle *fwnode,
>
> acpi_gpio_update_gpiod_flags(dflags, &info);
> acpi_gpio_update_gpiod_lookup_flags(lookupflags, &info);
> + /* ACPI uses hundredths of milliseconds units */
> + ret = gpio_set_debounce_timeout(desc, info.debounce * 10);
> + if (ret)
> + return ERR_PTR(ret);
> +
> return desc;
> }
>
> --
> 2.43.0
next prev parent reply other threads:[~2025-08-18 4:56 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-18 1:52 [PATCH] gpiolib: acpi: Program debounce when finding GPIO Mario Limonciello (AMD)
2025-08-18 4:55 ` Mika Westerberg [this message]
2025-08-18 18:03 ` Mario Limonciello
2025-08-19 6:18 ` Mika Westerberg
2025-08-20 15:04 ` Andy Shevchenko
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=20250818045538.GH476609@black.igk.intel.com \
--to=mika.westerberg@linux.intel.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=brgl@bgdev.pl \
--cc=linus.walleij@linaro.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=mario.limonciello@amd.com \
--cc=superm1@kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox