Move the DMI quirk for the Goodix touchscreen with inverted X coordinates found on the Cube I15-TC tablet from drivers/input/touchscreen/goodix.c to drivers/platform/x86/touchscreen_dmi.c, where all the other x86 touchscreen quirks live. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> --- drivers/input/touchscreen/goodix.c | 22 ---------------------- drivers/platform/x86/touchscreen_dmi.c | 19 +++++++++++++++++++ 2 files changed, 19 insertions(+), 22 deletions(-) diff --git a/drivers/input/touchscreen/goodix.c b/drivers/input/touchscreen/goodix.c index d92f6b2b6dcf..2203ad4d8e30 100644 --- a/drivers/input/touchscreen/goodix.c +++ b/drivers/input/touchscreen/goodix.c @@ -131,22 +131,6 @@ static const struct dmi_system_id nine_bytes_report[] = { {} }; -/* - * 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. * @@ -1048,12 +1032,6 @@ static int goodix_configure_dev(struct goodix_ts_data *ts) "Non-standard 9-bytes report format 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) { diff --git a/drivers/platform/x86/touchscreen_dmi.c b/drivers/platform/x86/touchscreen_dmi.c index bb47cea8d297..60876d8962b6 100644 --- a/drivers/platform/x86/touchscreen_dmi.c +++ b/drivers/platform/x86/touchscreen_dmi.c @@ -218,6 +218,17 @@ static const struct ts_dmi_data cube_iwork8_air_data = { .properties = cube_iwork8_air_props, }; +static const struct property_entry cube_iwork10_ultimate_i15_tc_props[] = { + PROPERTY_ENTRY_BOOL("touchscreen-inverted-x"), + { } +}; + +static const struct ts_dmi_data cube_iwork10_ultimate_i15_tc_data = { + .acpi_hid = "GDIX1001", + .properties = cube_iwork10_ultimate_i15_tc_props, +}; + + static const struct property_entry cube_knote_i1101_props[] = { PROPERTY_ENTRY_U32("touchscreen-min-x", 20), PROPERTY_ENTRY_U32("touchscreen-min-y", 22), @@ -992,6 +1003,14 @@ const struct dmi_system_id touchscreen_dmi_table[] = { DMI_MATCH(DMI_BOARD_NAME, "Cherry Trail CR"), }, }, + { + /* CUBE iWork10 Ultimate (I15-TC) */ + .driver_data = (void *)&cube_iwork10_ultimate_i15_tc_data, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Cube"), + DMI_MATCH(DMI_PRODUCT_NAME, "I15-TC") + }, + }, { /* Cube KNote i1101 */ .driver_data = (void *)&cube_knote_i1101_data, -- 2.31.1