From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Martin Kepplinger <martink@posteo.de>
Cc: Dixit Parmar <dixitparmar19@gmail.com>,
rydberg@bitmath.org, kuninori.morimoto.gx@renesas.com,
robh@kernel.org, matthias.fend@wolfvision.net,
linux-input@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] driver:st1633: fixed multitouch incorrect coordinates
Date: Mon, 21 Oct 2019 10:13:50 -0700 [thread overview]
Message-ID: <20191021171350.GT35946@dtor-ws> (raw)
In-Reply-To: <9de64de8-7581-808d-e930-315aca05687c@posteo.de>
On Mon, Oct 21, 2019 at 09:10:23AM +0200, Martin Kepplinger wrote:
> On 20.10.19 10:29, Dixit Parmar wrote:
> > Any review comments for this?
> > Or it should be merged?
> >
> > Thanks.
>
> My comment and tag is there. This fixes multitouch and should be merged.
Missed it earlier, sorry. I am applying it, but I wonder if we shoudl
not do the patch below as I find the version with 2 loop variables quite
confusing.
Thanks.
--
Dmitry
Input: st1232 - simplify parsing of read buffer
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---
drivers/input/touchscreen/st1232.c | 50 ++++++++++++++++++------------------
1 file changed, 25 insertions(+), 25 deletions(-)
diff --git a/drivers/input/touchscreen/st1232.c b/drivers/input/touchscreen/st1232.c
index 1139714e72e2..47033ef3749a 100644
--- a/drivers/input/touchscreen/st1232.c
+++ b/drivers/input/touchscreen/st1232.c
@@ -57,38 +57,38 @@ static int st1232_ts_read_data(struct st1232_ts_data *ts)
{
struct st1232_ts_finger *finger = ts->finger;
struct i2c_client *client = ts->client;
- struct i2c_msg msg[2];
- int error;
- int i, y;
u8 start_reg = ts->chip_info->start_reg;
- u8 *buf = ts->read_buf;
-
- /* read touchscreen data */
- msg[0].addr = client->addr;
- msg[0].flags = 0;
- msg[0].len = 1;
- msg[0].buf = &start_reg;
-
- msg[1].addr = ts->client->addr;
- msg[1].flags = I2C_M_RD;
- msg[1].len = ts->read_buf_len;
- msg[1].buf = buf;
+ struct i2c_msg msg[] = {
+ {
+ .addr = client->addr,
+ .len = sizeof(start_reg),
+ .buf = &start_reg,
+ },
+ {
+ .addr = client->addr,
+ .flags = I2C_M_RD,
+ .len = ts->read_buf_len,
+ .buf = ts->read_buf,
+ }
+ };
+ int ret;
+ int i;
+ u8 *buf;
- error = i2c_transfer(client->adapter, msg, 2);
- if (error < 0)
- return error;
+ ret = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg));
+ if (ret != ARRAY_SIZE(msg))
+ return ret < 0 ? ret : -EIO;
- for (i = 0, y = 0; i < ts->chip_info->max_fingers; i++, y += 3) {
- finger[i].is_valid = buf[i + y] >> 7;
+ for (i = 0; i < ts->chip_info->max_fingers; i++) {
+ buf = &ts->read_buf[i * 4];
+ finger[i].is_valid = buf[0] >> 7;
if (finger[i].is_valid) {
- finger[i].x = ((buf[i + y] & 0x0070) << 4) |
- buf[i + y + 1];
- finger[i].y = ((buf[i + y] & 0x0007) << 8) |
- buf[i + y + 2];
+ finger[i].x = ((buf[0] & 0x70) << 4) | buf[1];
+ finger[i].y = ((buf[0] & 0x07) << 8) | buf[2];
/* st1232 includes a z-axis / touch strength */
if (ts->chip_info->have_z)
- finger[i].t = buf[i + 6];
+ finger[i].t = ts->read_buf[i + 6];
}
}
next prev parent reply other threads:[~2019-10-21 17:13 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-19 10:08 [PATCH] driver:st1633: fixed multitouch incorrect coordinates Dixit Parmar
2019-08-22 12:08 ` Martin Kepplinger
2019-10-20 8:29 ` Dixit Parmar
2019-10-21 7:10 ` Martin Kepplinger
2019-10-21 17:13 ` Dmitry Torokhov [this message]
2019-10-22 8:17 ` Martin Kepplinger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191021171350.GT35946@dtor-ws \
--to=dmitry.torokhov@gmail.com \
--cc=dixitparmar19@gmail.com \
--cc=kuninori.morimoto.gx@renesas.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=martink@posteo.de \
--cc=matthias.fend@wolfvision.net \
--cc=robh@kernel.org \
--cc=rydberg@bitmath.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).