[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20251117032358.891822-1-junjie.cao@intel.com>
Date: Mon, 17 Nov 2025 11:23:58 +0800
From: Junjie Cao <junjie.cao@...el.com>
To: dmitry.torokhov@...il.com
Cc: linux-input@...r.kernel.org,
linux-kernel@...r.kernel.org,
junjie.cao@...el.com
Subject: [PATCH] Input: ti_am335x_tsc: clamp coordinate_readouts to DT maximum (6)
DT binding (ti,am3359-tsc.yaml) sets ti,coordinate-readouts to a
maximum of 6. The MFD parent also enforces that
(readouts * 2 + 2) + adc_channels <= 16 and fails probe if this
is violated, so the touchscreen subdriver will not even probe
in those cases.
Clamp coordinate_readouts > 6 to 6 in the subdriver to align with the
binding and keep behavior sane if invalid platform data bypasses schema
checks. Keep the existing default to 5 for non-positive values.
No functional change with valid DT.
Signed-off-by: Junjie Cao <junjie.cao@...el.com>
---
drivers/input/touchscreen/ti_am335x_tsc.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/input/touchscreen/ti_am335x_tsc.c b/drivers/input/touchscreen/ti_am335x_tsc.c
index 73980142f492..0534b2ba650b 100644
--- a/drivers/input/touchscreen/ti_am335x_tsc.c
+++ b/drivers/input/touchscreen/ti_am335x_tsc.c
@@ -389,6 +389,10 @@ static int titsc_parse_dt(struct platform_device *pdev,
dev_warn(&pdev->dev,
"invalid co-ordinate readouts, resetting it to 5\n");
ts_dev->coordinate_readouts = 5;
+ } else if (ts_dev->coordinate_readouts > 6) {
+ dev_warn(&pdev->dev,
+ "co-ordinate readouts too large, limiting to 6\n");
+ ts_dev->coordinate_readouts = 6;
}
err = of_property_read_u32(node, "ti,charge-delay",
--
2.43.0
Powered by blists - more mailing lists