Re: [PATCH v2 2/3] gpiolib: acpi: Program debounce when finding GPIO

From: Hans de Goede
Date: Wed Jun 25 2025 - 15:01:10 EST


Hi,

On 25-Jun-25 8:13 PM, Mario Limonciello wrote:
> From: Mario Limonciello <mario.limonciello@xxxxxxx>
>
> 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.
>
> Cc: Hans de Goede <hansg@xxxxxxxxxx>
> Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx>

Thanks, patch looks good to me:

Reviewed-by: Hans de Goede <hansg@xxxxxxxxxx>

Regards,

Hans



> ---
> v2:
> * Make non fatal by using helper from patch 1 (Andy)
> ---
> drivers/gpio/gpiolib-acpi-core.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpio/gpiolib-acpi-core.c b/drivers/gpio/gpiolib-acpi-core.c
> index 1895e45bd9f16..15222bfc25bb2 100644
> --- a/drivers/gpio/gpiolib-acpi-core.c
> +++ b/drivers/gpio/gpiolib-acpi-core.c
> @@ -962,6 +962,7 @@ 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_set_debounce_timeout(desc, info.debounce);
> return desc;
> }
>