From: Mario Limonciello <mario.limonciello@xxxxxxx> I have some hardware in front of me that uses the soc-button-array driver but the power button doesn't work. Digging into it, it's because the ASL prescribes a debounce of 0 for the power button, but the soc-button-array driver hardcodes 50ms. Hardcoding it to what the ASL expects the power button works. I looked at the callpath into the GPIO core and I believe it's because the debounce value from _CRS is never programmed to the hardware the way that the GPIO gets setup. This series add that programming path and then sets the hardcoded value on on some quirked systems. Hopefully Hans can confirm this continues to work on the hardware that he originally developed the hardcoding for. --- v3: * Use Hans suggestion to force software debounce instead of a quirk * Fix a resume issue identified from testing this series Mario Limonciello (4): gpiolib: acpi: Add a helper for programming debounce gpiolib: acpi: Program debounce when finding GPIO Input: Don't program hw debounce for soc_button_array devices Input: Don't send fake button presses to wake system drivers/gpio/gpiolib-acpi-core.c | 25 ++++++++++++++----------- drivers/input/keyboard/gpio_keys.c | 14 ++++++-------- drivers/input/misc/soc_button_array.c | 1 + include/linux/gpio_keys.h | 2 ++ 4 files changed, 23 insertions(+), 19 deletions(-) -- 2.43.0