aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/platform/x86/touchscreen_dmi.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2019-03-10 16:16:37 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2019-03-10 16:16:37 -0400
commitdbbdf54c7206bf3f201f9ddaa5f4dd87835271cc (patch)
tree941dbf0dada73344acdfe891ec1d50a01316566d /drivers/platform/x86/touchscreen_dmi.c
parent45ba8d5d061b13494c2a7a7652d51b9da3d9e77a (diff)
parent9c22cc020db637850ba47a14a598d09f706f19ad (diff)
Merge tag 'platform-drivers-x86-v5.1-1' of git://git.infradead.org/linux-platform-drivers-x86
Pull x86 platform driver updates from Darren Hart: - use MODULE_DEVICE_TABLE across several wmi drivers, keeping wmi_device_id and MODULE_ALIAS() declarations in sync - add several Ideapad models to the no_hw_rfkill list - add support for new Mellanox platforms, including new fan and LED functionality - address Dell keyboard backlight change event and power button release issues - update dell_rbu to use appropriate memory allocation mechanisms - several small fixes and Ice Lake support for intel_pmc_core - fix a suspend regression for Cherry Trail based devices in intel_int0002_vgpio - a few other routine fixes * tag 'platform-drivers-x86-v5.1-1' of git://git.infradead.org/linux-platform-drivers-x86: (50 commits) MAINTAINERS: Include mlxreg.h in Mellanox Platform Driver files platform/x86: ideapad-laptop: Add S130-14IGM to no_hw_rfkill list platform/x86: mlx-platform: Fix access mode for fan_dir attribute platform/x86: mlx-platform: Add UID LED for the next generation systems platform/x86: mlx-platform: Add extra CPLD for next generation systems platform/x86: wmi-bmof: use MODULE_DEVICE_TABLE() instead of MODULE_ALIAS() platform/x86: intel-wmi-thunderbolt: use MODULE_DEVICE_TABLE() instead of MODULE_ALIAS() platform/x86: huawei-wmi: use MODULE_DEVICE_TABLE() instead of MODULE_ALIAS() platform/x86: dell-wmi: use MODULE_DEVICE_TABLE() instead of MODULE_ALIAS() platform/x86: dell-wmi-descriptor: use MODULE_DEVICE_TABLE() instead of MODULE_ALIAS() platform/x86: dell-smbios-wmi: use MODULE_DEVICE_TABLE() instead of MODULE_ALIAS() platform/x86: wmi: add WMI support to MODULE_DEVICE_TABLE() platform/x86: wmi: move struct wmi_device_id to mod_devicetable.h modpost: file2alias: define size of alias platform/x86: touchscreen_dmi: Add info for the CHUWI Hi10 Air tablet platform/x86: ideapad-laptop: Add Ideapad 530S-14ARR to no_hw_rfkill list platform/x86: ideapad-laptop: Add Yoga C930 to no_hw_rfkill_list platform/x86: intel_pmc_core: Quirk to ignore XTAL shutdown platform/x86: intel_pmc_core: Add Package cstates residency info platform/x86: intel_pmc_core: Add ICL platform support ...
Diffstat (limited to 'drivers/platform/x86/touchscreen_dmi.c')
-rw-r--r--drivers/platform/x86/touchscreen_dmi.c79
1 files changed, 79 insertions, 0 deletions
diff --git a/drivers/platform/x86/touchscreen_dmi.c b/drivers/platform/x86/touchscreen_dmi.c
index 8c5d47c0aea6..2d56ff7c8230 100644
--- a/drivers/platform/x86/touchscreen_dmi.c
+++ b/drivers/platform/x86/touchscreen_dmi.c
@@ -41,6 +41,20 @@ static const struct ts_dmi_data chuwi_hi8_data = {
41 .properties = chuwi_hi8_props, 41 .properties = chuwi_hi8_props,
42}; 42};
43 43
44static const struct property_entry chuwi_hi8_air_props[] = {
45 PROPERTY_ENTRY_U32("touchscreen-size-x", 1728),
46 PROPERTY_ENTRY_U32("touchscreen-size-y", 1148),
47 PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"),
48 PROPERTY_ENTRY_STRING("firmware-name", "gsl3676-chuwi-hi8-air.fw"),
49 PROPERTY_ENTRY_U32("silead,max-fingers", 10),
50 { }
51};
52
53static const struct ts_dmi_data chuwi_hi8_air_data = {
54 .acpi_name = "MSSL1680:00",
55 .properties = chuwi_hi8_air_props,
56};
57
44static const struct property_entry chuwi_hi8_pro_props[] = { 58static const struct property_entry chuwi_hi8_pro_props[] = {
45 PROPERTY_ENTRY_U32("touchscreen-min-x", 6), 59 PROPERTY_ENTRY_U32("touchscreen-min-x", 6),
46 PROPERTY_ENTRY_U32("touchscreen-min-y", 3), 60 PROPERTY_ENTRY_U32("touchscreen-min-y", 3),
@@ -58,6 +72,25 @@ static const struct ts_dmi_data chuwi_hi8_pro_data = {
58 .properties = chuwi_hi8_pro_props, 72 .properties = chuwi_hi8_pro_props,
59}; 73};
60 74
75static const struct property_entry chuwi_hi10_air_props[] = {
76 PROPERTY_ENTRY_U32("touchscreen-size-x", 1981),
77 PROPERTY_ENTRY_U32("touchscreen-size-y", 1271),
78 PROPERTY_ENTRY_U32("touchscreen-min-x", 99),
79 PROPERTY_ENTRY_U32("touchscreen-min-y", 9),
80 PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"),
81 PROPERTY_ENTRY_U32("touchscreen-fuzz-x", 5),
82 PROPERTY_ENTRY_U32("touchscreen-fuzz-y", 4),
83 PROPERTY_ENTRY_STRING("firmware-name", "gsl1680-chuwi-hi10-air.fw"),
84 PROPERTY_ENTRY_U32("silead,max-fingers", 10),
85 PROPERTY_ENTRY_BOOL("silead,home-button"),
86 { }
87};
88
89static const struct ts_dmi_data chuwi_hi10_air_data = {
90 .acpi_name = "MSSL1680:00",
91 .properties = chuwi_hi10_air_props,
92};
93
61static const struct property_entry chuwi_vi8_props[] = { 94static const struct property_entry chuwi_vi8_props[] = {
62 PROPERTY_ENTRY_U32("touchscreen-min-x", 4), 95 PROPERTY_ENTRY_U32("touchscreen-min-x", 4),
63 PROPERTY_ENTRY_U32("touchscreen-min-y", 6), 96 PROPERTY_ENTRY_U32("touchscreen-min-y", 6),
@@ -369,6 +402,24 @@ static const struct ts_dmi_data pov_mobii_wintab_p800w_v21_data = {
369 .properties = pov_mobii_wintab_p800w_v21_props, 402 .properties = pov_mobii_wintab_p800w_v21_props,
370}; 403};
371 404
405static const struct property_entry pov_mobii_wintab_p1006w_v10_props[] = {
406 PROPERTY_ENTRY_U32("touchscreen-min-x", 1),
407 PROPERTY_ENTRY_U32("touchscreen-min-y", 3),
408 PROPERTY_ENTRY_U32("touchscreen-size-x", 1984),
409 PROPERTY_ENTRY_U32("touchscreen-size-y", 1520),
410 PROPERTY_ENTRY_BOOL("touchscreen-inverted-y"),
411 PROPERTY_ENTRY_STRING("firmware-name",
412 "gsl3692-pov-mobii-wintab-p1006w-v10.fw"),
413 PROPERTY_ENTRY_U32("silead,max-fingers", 10),
414 PROPERTY_ENTRY_BOOL("silead,home-button"),
415 { }
416};
417
418static const struct ts_dmi_data pov_mobii_wintab_p1006w_v10_data = {
419 .acpi_name = "MSSL1680:00",
420 .properties = pov_mobii_wintab_p1006w_v10_props,
421};
422
372static const struct property_entry teclast_x3_plus_props[] = { 423static const struct property_entry teclast_x3_plus_props[] = {
373 PROPERTY_ENTRY_U32("touchscreen-size-x", 1980), 424 PROPERTY_ENTRY_U32("touchscreen-size-x", 1980),
374 PROPERTY_ENTRY_U32("touchscreen-size-y", 1500), 425 PROPERTY_ENTRY_U32("touchscreen-size-y", 1500),
@@ -498,6 +549,15 @@ static const struct dmi_system_id touchscreen_dmi_table[] = {
498 }, 549 },
499 }, 550 },
500 { 551 {
552 /* Chuwi Hi8 Air (CWI543) */
553 .driver_data = (void *)&chuwi_hi8_air_data,
554 .matches = {
555 DMI_MATCH(DMI_BOARD_VENDOR, "Default string"),
556 DMI_MATCH(DMI_BOARD_NAME, "Cherry Trail CR"),
557 DMI_MATCH(DMI_PRODUCT_NAME, "Hi8 Air"),
558 },
559 },
560 {
501 /* Chuwi Hi8 Pro (CWI513) */ 561 /* Chuwi Hi8 Pro (CWI513) */
502 .driver_data = (void *)&chuwi_hi8_pro_data, 562 .driver_data = (void *)&chuwi_hi8_pro_data,
503 .matches = { 563 .matches = {
@@ -506,6 +566,14 @@ static const struct dmi_system_id touchscreen_dmi_table[] = {
506 }, 566 },
507 }, 567 },
508 { 568 {
569 /* Chuwi Hi10 Air */
570 .driver_data = (void *)&chuwi_hi10_air_data,
571 .matches = {
572 DMI_MATCH(DMI_BOARD_VENDOR, "Hampoo"),
573 DMI_MATCH(DMI_PRODUCT_SKU, "P1W6_C109D_B"),
574 },
575 },
576 {
509 /* Chuwi Vi8 (CWI506) */ 577 /* Chuwi Vi8 (CWI506) */
510 .driver_data = (void *)&chuwi_vi8_data, 578 .driver_data = (void *)&chuwi_vi8_data,
511 .matches = { 579 .matches = {
@@ -707,6 +775,17 @@ static const struct dmi_system_id touchscreen_dmi_table[] = {
707 }, 775 },
708 }, 776 },
709 { 777 {
778 /* Point of View mobii wintab p1006w (v1.0) */
779 .driver_data = (void *)&pov_mobii_wintab_p1006w_v10_data,
780 .matches = {
781 DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Insyde"),
782 DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "BayTrail"),
783 /* Note 105b is Foxcon's USB/PCI vendor id */
784 DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "105B"),
785 DMI_EXACT_MATCH(DMI_BOARD_NAME, "0E57"),
786 },
787 },
788 {
710 /* Teclast X3 Plus */ 789 /* Teclast X3 Plus */
711 .driver_data = (void *)&teclast_x3_plus_data, 790 .driver_data = (void *)&teclast_x3_plus_data,
712 .matches = { 791 .matches = {