From 1cd52a99c868b19b419485d2ae9b76ac3e717c2c Mon Sep 17 00:00:00 2001 From: Zhian Liang Date: Wed, 15 Jul 2026 13:51:35 -0700 Subject: [PATCH] Input: tca8418_keypad - enable overflow mode per datasheet (SCPS215G) The driver currently sets only the overflow interrupt enable bit (OVR_FLOW_IEN) in the configuration register, leaving the overflow mode bit (OVR_FLOW_M) at its default value of 0. According to the TCA8418 datasheet (SCPS215G, Section 8.6.4.1 "Overflow Errata - Description"), both OVR_FLOW_M (Bit_5) and OVR_FLOW_IEN (Bit_3) must be set high for the overflow interrupt to be generated. If only OVR_FLOW_IEN is set, FIFO overflow events are silently lost without notifying the host. Fix this by setting OVR_FLOW_M alongside OVR_FLOW_IEN in the configuration register. Signed-off-by: Zhian Liang Link: https://patch.msgid.link/20260529013900.43854-1-liangzhan5dev@gmail.com Signed-off-by: Dmitry Torokhov --- drivers/input/keyboard/tca8418_keypad.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/input/keyboard/tca8418_keypad.c b/drivers/input/keyboard/tca8418_keypad.c index eb5be644f236..4616afa0286c 100644 --- a/drivers/input/keyboard/tca8418_keypad.c +++ b/drivers/input/keyboard/tca8418_keypad.c @@ -254,7 +254,8 @@ static int tca8418_configure(struct tca8418_keypad *keypad_data, return error; error = tca8418_write_byte(keypad_data, REG_CFG, - CFG_INT_CFG | CFG_OVR_FLOW_IEN | CFG_KE_IEN); + CFG_INT_CFG | CFG_OVR_FLOW_IEN | + CFG_OVR_FLOW_M | CFG_KE_IEN); return error; }