Input: goodix - add support for 9-bytes reports
authorYauhen Kharuzhy <jekhor@gmail.com>
Mon, 16 Sep 2019 23:32:24 +0000 (16:32 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 2 Oct 2019 21:13:27 +0000 (14:13 -0700)
commitbd3b8480237680b5967aee3c814b92b2fd87a582
tree65b6dfe076f39e37eeefb08e52cb17126033569e
parentafce285b859cea91c182015fc9858ea58c26cd0e
Input: goodix - add support for 9-bytes reports

Some variants of Goodix touchscreen firmwares use 9-bytes finger
report format instead of common 8-bytes format.

This report format may be present as:

struct goodix_contact_data {
        uint8_t unknown1;
        uint8_t track_id;
        uint8_t unknown2;
        uint16_t x;
        uint16_t y;
        uint16_t w;
}__attribute__((packed));

Add support for such format and use it for Lenovo Yoga Book notebook
(which uses a Goodix touchpad as a touch keyboard).

Signed-off-by: Yauhen Kharuzhy <jekhor@gmail.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/goodix.c