summaryrefslogtreecommitdiff
path: root/drivers/platform/x86/touchscreen_dmi.c
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2023-05-05 23:03:23 +0200
committerHans de Goede <hdegoede@redhat.com>2023-05-09 10:54:50 +0200
commit6abfa99ce52f61a31bcfc2aaaae09006f5665495 (patch)
tree3d408beb9aacadfd01d2991e644fc6c8e136b58a /drivers/platform/x86/touchscreen_dmi.c
parent1684878952929e20a864af5df7b498941c750f45 (diff)
downloadlwn-6abfa99ce52f61a31bcfc2aaaae09006f5665495.tar.gz
lwn-6abfa99ce52f61a31bcfc2aaaae09006f5665495.zip
platform/x86: touchscreen_dmi: Add upside-down quirk for GDIX1002 ts on the Juno Tablet
The Juno Computers Juno Tablet has an upside-down mounted Goodix touchscreen. Add a quirk to invert both axis to correct for this. Link: https://junocomputers.com/us/product/juno-tablet/ Cc: stable@vger.kernel.org Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/20230505210323.43177-1-hdegoede@redhat.com
Diffstat (limited to 'drivers/platform/x86/touchscreen_dmi.c')
-rw-r--r--drivers/platform/x86/touchscreen_dmi.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/platform/x86/touchscreen_dmi.c b/drivers/platform/x86/touchscreen_dmi.c
index 13802a3c3591..3b32c3346a45 100644
--- a/drivers/platform/x86/touchscreen_dmi.c
+++ b/drivers/platform/x86/touchscreen_dmi.c
@@ -378,6 +378,11 @@ static const struct ts_dmi_data gdix1001_01_upside_down_data = {
.properties = gdix1001_upside_down_props,
};
+static const struct ts_dmi_data gdix1002_00_upside_down_data = {
+ .acpi_name = "GDIX1002:00",
+ .properties = gdix1001_upside_down_props,
+};
+
static const struct property_entry gp_electronic_t701_props[] = {
PROPERTY_ENTRY_U32("touchscreen-size-x", 960),
PROPERTY_ENTRY_U32("touchscreen-size-y", 640),
@@ -1296,6 +1301,18 @@ const struct dmi_system_id touchscreen_dmi_table[] = {
},
},
{
+ /* Juno Tablet */
+ .driver_data = (void *)&gdix1002_00_upside_down_data,
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Default string"),
+ /* Both product- and board-name being "Default string" is somewhat rare */
+ DMI_MATCH(DMI_PRODUCT_NAME, "Default string"),
+ DMI_MATCH(DMI_BOARD_NAME, "Default string"),
+ /* Above matches are too generic, add partial bios-version match */
+ DMI_MATCH(DMI_BIOS_VERSION, "JP2V1."),
+ },
+ },
+ {
/* Mediacom WinPad 7.0 W700 (same hw as Wintron surftab 7") */
.driver_data = (void *)&trekstor_surftab_wintron70_data,
.matches = {