* [PATCH] Input: qt1050 - name calibration status bit
@ 2026-07-11 1:09 Miles Krause via B4 Relay
2026-07-11 1:19 ` sashiko-bot
0 siblings, 1 reply; 2+ messages in thread
From: Miles Krause via B4 Relay @ 2026-07-11 1:09 UTC (permalink / raw)
To: Dmitry Torokhov; +Cc: linux-input, linux-kernel, Miles Krause
From: Miles Krause <mileskrause5200@gmail.com>
Detection status bit 7 indicates that a calibration cycle is in
progress. Define a name for the bit and use it in the polling
condition instead of an open-coded shift and comparison.
No functional change.
Signed-off-by: Miles Krause <mileskrause5200@gmail.com>
---
Compile-tested on x86_64 with:
make O=out allmodconfig
make O=out W=1 drivers/input/keyboard/qt1050.o
Sparse-tested with:
make O=out-sparse allmodconfig
make O=out-sparse C=1 CHECK=sparse drivers/input/keyboard/qt1050.o
---
drivers/input/keyboard/qt1050.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/input/keyboard/qt1050.c b/drivers/input/keyboard/qt1050.c
index f9f480c91032..2371ac027aab 100644
--- a/drivers/input/keyboard/qt1050.c
+++ b/drivers/input/keyboard/qt1050.c
@@ -27,7 +27,8 @@
#define QT1050_FW_VERSION 0x01
/* Detection status */
-#define QT1050_DET_STATUS 0x02
+#define QT1050_DET_STATUS 0x02
+#define QT1050_DET_STATUS_CALIBRATE BIT(7)
/* Key status */
#define QT1050_KEY_STATUS 0x03
@@ -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);
if (err) {
dev_err(dev, "Calibration failed: %d\n", err);
return err;
---
base-commit: c8f174900926d3b58cd048ac33b4cbb3de419bfe
change-id: 20260710-qt1050-calibration-status-bit-0b2e479ffd4b
Best regards,
--
Miles Krause <mileskrause5200@gmail.com>
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] Input: qt1050 - name calibration status bit
2026-07-11 1:09 [PATCH] Input: qt1050 - name calibration status bit Miles Krause via B4 Relay
@ 2026-07-11 1:19 ` sashiko-bot
0 siblings, 0 replies; 2+ messages in thread
From: sashiko-bot @ 2026-07-11 1:19 UTC (permalink / raw)
To: Miles Krause; +Cc: linux-input, dmitry.torokhov
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 <mileskrause5200@gmail.com>
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.
> 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
[ ... ]
> @@ -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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-07-11 1:19 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-11 1:09 [PATCH] Input: qt1050 - name calibration status bit Miles Krause via B4 Relay
2026-07-11 1:19 ` sashiko-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox