From fd2aa486b62fbc9a2ad0ec229692c488dfd134dc Mon Sep 17 00:00:00 2001 From: Megamind <68985133+megamind4089@users.noreply.github.com> Date: Thu, 20 Jan 2022 21:37:57 +0800 Subject: [PATCH] GPIO direct driver bugfix For POLLING mode gpio direct driver, debounce value is not considered on timer_handler to schedule a delayed work --- app/drivers/kscan/kscan_gpio_direct.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/drivers/kscan/kscan_gpio_direct.c b/app/drivers/kscan/kscan_gpio_direct.c index d810881b..bbed5103 100644 --- a/app/drivers/kscan/kscan_gpio_direct.c +++ b/app/drivers/kscan/kscan_gpio_direct.c @@ -111,8 +111,9 @@ static void kscan_gpio_irq_callback_handler(const struct device *dev, struct gpi static void kscan_gpio_timer_handler(struct k_timer *timer) { struct kscan_gpio_data *data = CONTAINER_OF(timer, struct kscan_gpio_data, poll_timer); + const struct kscan_gpio_config *cfg = data->dev->config; - kscan_gpio_direct_queue_read(&data->work, 0); + kscan_gpio_direct_queue_read(&data->work, cfg->debounce_period); } static int kscan_gpio_direct_enable(const struct device *dev) {