On Fri, 2018-08-31 at 15:44 +1000, Sergei A. Trusov wrote: > The touchscreen on the Cube I15-TC don't match the default display, > with 0,0 touches being reported when touching at the top-right of > the screen. > > Add a quirk to invert the x coordinate. > > Reported-and-tested-by: Arkadiy <arkan49@xxxxxxxxx> > Cc: Hans de Goede <hdegoede@xxxxxxxxxx> > Signed-off-by: Sergei A. Trusov <sergei.a.trusov@xxxxx> Some patch queue draining/grave digging. Sorry for taking so long to get back to you. If that still applies, please add my: Reviewed-by: Bastien Nocera <hadess@xxxxxxxxxx> > --- > > Changes in v2: > - Commit message fix > - Removed extra linefeeds > > drivers/input/touchscreen/goodix.c | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/drivers/input/touchscreen/goodix.c > b/drivers/input/touchscreen/goodix.c > index f2d9c2c41885..27adf216f230 100644 > --- a/drivers/input/touchscreen/goodix.c > +++ b/drivers/input/touchscreen/goodix.c > @@ -145,6 +145,22 @@ static const struct dmi_system_id > rotated_screen[] = { > {} > }; > > +/* > + * Those tablets have their x coordinate inverted > + */ > +static const struct dmi_system_id inverted_x_screen[] = { > +#if defined(CONFIG_DMI) && defined(CONFIG_X86) > + { > + .ident = "Cube I15-TC", > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Cube"), > + DMI_MATCH(DMI_PRODUCT_NAME, "I15-TC") > + }, > + }, > +#endif > + {} > +}; > + > /** > * goodix_i2c_read - read data from a register of the i2c slave > device. > * > @@ -709,6 +725,12 @@ static int goodix_configure_dev(struct > goodix_ts_data *ts) > "Applying '180 degrees rotated screen' > quirk\n"); > } > > + if (dmi_check_system(inverted_x_screen)) { > + ts->prop.invert_x = true; > + dev_dbg(&ts->client->dev, > + "Applying 'inverted x screen' quirk\n"); > + } > + > error = input_mt_init_slots(ts->input_dev, ts->max_touch_num, > INPUT_MT_DIRECT | > INPUT_MT_DROP_UNUSED); > if (error) {