From: Xiong Nandi <xndchn@gmail.com>
To: dmitry.torokhov@gmail.com
Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org,
Xiong Nandi <xndchn@gmail.com>,
Gatien Chevallier <gatien.chevallier@foss.st.com>,
Thomas Gleixner <tglx@kernel.org>,
Fabrice Gasnier <fabrice.gasnier@foss.st.com>,
Marco Crivellari <marco.crivellari@suse.com>
Subject: [PATCH v2 3/3] Input: gpio-keys - add EV_REL event type support
Date: Sun, 22 Mar 2026 19:35:08 +0800 [thread overview]
Message-ID: <20260322113513.9380-4-xndchn@gmail.com> (raw)
In-Reply-To: <ab5CXO6Fk7lhGazv@google.com>
The polled path handles EV_REL but the interrupt path silently
ignores it. Widen the type check so EV_REL goes through the same
reporting and shared-counter logic as EV_ABS.
Signed-off-by: Xiong Nandi <xndchn@gmail.com>
---
drivers/input/keyboard/gpio_keys.c | 6 +++---
include/linux/gpio_keys.h | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c
index 4cbfd5a273bd..652a6932c52f 100644
--- a/drivers/input/keyboard/gpio_keys.c
+++ b/drivers/input/keyboard/gpio_keys.c
@@ -375,7 +375,7 @@ static void gpio_keys_gpio_report_event(struct gpio_button_data *bdata)
return;
}
- if (type == EV_ABS) {
+ if (type == EV_ABS || type == EV_REL) {
if (state && !bdata->axis_active) {
bdata->axis_active = true;
atomic_inc(bdata->axis_count);
@@ -960,13 +960,13 @@ static int gpio_keys_probe(struct platform_device *pdev)
fwnode_handle_put(child);
- /* Allocate shared axis counters for EV_ABS buttons */
+ /* Allocate shared axis counters for EV_ABS/EV_REL buttons */
for (i = 0; i < pdata->nbuttons; i++) {
struct gpio_button_data *bdata = &ddata->data[i];
unsigned int type = bdata->button->type ?: EV_KEY;
int j;
- if (type != EV_ABS)
+ if (type != EV_ABS && type != EV_REL)
continue;
/* Reuse counter from an earlier button with same (type, code) */
diff --git a/include/linux/gpio_keys.h b/include/linux/gpio_keys.h
index 80fa930b04c6..75a745a32fe1 100644
--- a/include/linux/gpio_keys.h
+++ b/include/linux/gpio_keys.h
@@ -13,13 +13,13 @@ struct device;
* @active_low: %true indicates that button is considered
* depressed when gpio is low
* @desc: label that will be attached to button's gpio
- * @type: input event type (%EV_KEY, %EV_SW, %EV_ABS)
+ * @type: input event type (%EV_KEY, %EV_SW, %EV_ABS, %EV_REL)
* @wakeup: configure the button as a wake-up source
* @wakeup_event_action: event action to trigger wakeup
* @debounce_interval: debounce ticks interval in msecs
* @can_disable: %true indicates that userspace is allowed to
* disable button via sysfs
- * @value: axis value for %EV_ABS
+ * @value: axis value for %EV_ABS/%EV_REL
* @irq: Irq number in case of interrupt keys
* @wakeirq: Optional dedicated wake-up interrupt
*/
--
2.25.1
prev parent reply other threads:[~2026-03-22 11:36 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-20 14:52 [PATCH] Input: gpio-keys - add full support of EV_REL and EV_ABS Xiong Nandi
2026-03-21 7:06 ` Dmitry Torokhov
2026-03-22 11:35 ` [PATCH v2 0/3] " Xiong Nandi
2026-03-22 11:35 ` [PATCH v2 1/3] Input: gpio-keys - set EV_ABS axis parameters at setup time Xiong Nandi
2026-03-22 11:35 ` [PATCH v2 2/3] Input: gpio-keys - use shared axis counter for EV_ABS events Xiong Nandi
2026-03-22 11:35 ` Xiong Nandi [this message]
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=20260322113513.9380-4-xndchn@gmail.com \
--to=xndchn@gmail.com \
--cc=dmitry.torokhov@gmail.com \
--cc=fabrice.gasnier@foss.st.com \
--cc=gatien.chevallier@foss.st.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marco.crivellari@suse.com \
--cc=tglx@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.