Re: [PATCH 1/5] Input: zinitix - check all available fingers for every touch event

From: Linus Walleij

Date: Wed Jul 29 2026 - 03:54:17 EST


On Thu, Jul 23, 2026 at 9:24 PM Kaustabh Chakraborty
<kauschluss@xxxxxxxxxxx> wrote:

> When this initial driver was first added to tree, that is, in commit
> 26822652c85e ("Input: add zinitix touchscreen driver"), the touch_event
> struct had a field called finger_cnt. It was supposed to report how many
> fingers are touching the screen.
>
> But then, in commit e941dc13fd37 ("Input: zinitix - do not report shadow
> fingers"), some touchscreens reportedly exposed a bit mask for the
> fingers, instead of the count. So the code was changed to bitwise
> iteration.
>
> With my testing on the ZT7548 touchscreen of the Galaxy J6, I find the
> former to be true. This shows that there's two valid methods depending
> on what hardware the driver is made to work on.
>
> One solution is to implement both methods, and use some flag to select
> between the two. However, this introduces more implementation overhead,
> and a possibility of regression on devices the driver is expected to work.
>
> Instead, unconditionally check all fingers. The finger_mask field is now
> left unused, thus serving as padding bytes in the struct. For each
> finger, zinitix_report_finger() is called if the status reports the
> SUB_BIT_EXIST bit, so phantom fingers are not going to be a thing.
>
> Moreover, the android driver [1] does exactly that, so it's a tried
> method of implementation.
>
> Link: https://android.googlesource.com/kernel/bcm/+/23d376ef33aa4c500a5ea24a290f029d5f8e2de3/drivers/input/touchscreen/zinitix_touch.c#1942 [1]
> Signed-off-by: Kaustabh Chakraborty <kauschluss@xxxxxxxxxxx>

Reviewed-by: Linus Walleij <linusw@xxxxxxxxxx>

Yours,
Linus Walleij