Thread (2 messages) 2 messages, 2 authors, 19d ago

Re: [PATCH] Input: qt1050 - name calibration status bit

From: sashiko-bot@kernel.org
Date: 2026-07-11 01:19:03

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:

Pre-existing issues:
- [High] The polling loop for calibration completion exits immediately because the break condition is inverted, potentially causing probe failure or aborted calibration.
--
--- Patch [1]: [PATCH] Input: qt1050 - name calibration status bit ---
commit 8a227bbb51956d6b0303c06859d65e498d26eb5f
Author: Miles Krause [off-list ref]

Input: qt1050 - name calibration status bit

This commit introduces a named constant for the calibration status bit 7
in the QT1050_DET_STATUS register. It replaces an open-coded shift and
comparison with this new constant in the calibration polling loop to
improve readability.
quoted hunk ↗ jump to hunk
diff --git a/drivers/input/keyboard/qt1050.c b/drivers/input/keyboard/qt1050.c
index f9f480c910325..2371ac027aabd 100644
--- a/drivers/input/keyboard/qt1050.c
+++ b/drivers/input/keyboard/qt1050.c
[ ... ]
quoted hunk ↗ jump to hunk
@@ -498,7 +499,8 @@ static int qt1050_probe(struct i2c_client *client)
 		return err;
 	}
 	err = regmap_read_poll_timeout(ts->regmap, QT1050_DET_STATUS, status,
-				 status >> 7 == 1, 10000, 200000);
+				 status & QT1050_DET_STATUS_CALIBRATE,
+				 10000, 200000);
[Severity: High]
This is a pre-existing issue, but does this polling condition in qt1050_probe()
wait for the calibration to complete or for it to start?

The regmap_read_poll_timeout() macro exits when the condition evaluates
to true. Since QT1050_DET_STATUS_CALIBRATE (bit 7) indicates calibration is
in progress, this condition is true while running and false when complete.

If calibration completes before the first read, won't this poll for the full
200ms timeout and return -ETIMEDOUT, causing the probe to fail? Alternatively,
if calibration is still running, won't this exit immediately and allow the
subsequent soft-reset to abort the calibration process?

Should this condition be inverted to check that the calibrate bit is cleared?
 	if (err) {
 		dev_err(dev, "Calibration failed: %d\n", err);
 		return err;
-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260710-qt1050-calibration-status-bit-v1-1-e4f7d1d797b6@gmail.com?part=1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help