[PATCH 2/2] Input: rmi4 - fallback to platform data for x/y-mm in F12
From: David Heidelberg via B4 Relay
Date: Fri Jul 31 2026 - 14:17:21 EST
From: David Heidelberg <david@xxxxxxx>
When detection for touchscreen-x-mm / y-mm returns 0, fallback to the
platform data, so we get meaningful values.
Signed-off-by: David Heidelberg <david@xxxxxxx>
---
drivers/input/rmi4/rmi_f12.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/drivers/input/rmi4/rmi_f12.c b/drivers/input/rmi4/rmi_f12.c
index 88797556e738c..6f2e98c3a3499 100644
--- a/drivers/input/rmi4/rmi_f12.c
+++ b/drivers/input/rmi4/rmi_f12.c
@@ -194,18 +194,29 @@ static int rmi_f12_read_sensor_tuning(struct f12_data *f12)
"platform data x_mm (%d) != detected x_mm: (%d)\n",
sensor->x_mm, x_mm);
if (sensor->y_mm && sensor->y_mm != y_mm)
dev_warn(&fn->dev,
"platform data y_mm (%d) != detected y_mm: (%d)\n",
sensor->y_mm, y_mm);
- sensor->x_mm = x_mm;
- sensor->y_mm = y_mm;
+ if (x_mm)
+ sensor->x_mm = x_mm;
+ else
+ dev_warn(&fn->dev,
+ "x_mm detection returned 0, keeping %d\n",
+ sensor->x_mm);
+
+ if (y_mm)
+ sensor->y_mm = y_mm;
+ else
+ dev_warn(&fn->dev,
+ "y_mm detection returned 0, keeping %d\n",
+ sensor->y_mm);
rmi_dbg(RMI_DEBUG_FN, &fn->dev, "%s: x_mm: %d y_mm: %d\n", __func__,
sensor->x_mm, sensor->y_mm);
return 0;
}
static void rmi_f12_process_objects(struct f12_data *f12, u8 *data1, u32 size)
--
2.53.0