i8042: asus: ignore PNP detection on lates ROG G14/15 laptops
diff mbox series

Message ID defa4aa9-1134-e936-1438-d3c925286ffe@op.pl
State New
Headers show
Series
  • i8042: asus: ignore PNP detection on lates ROG G14/15 laptops
Related show

Commit Message

Mateusz Schyboll Aug. 1, 2020, 10:33 a.m. UTC
Recent ASUS laptops (G14 and G15) don't have a PS/2 PNP devices.
Because of that the i8042 module refuses to load when it is build
as external module (for example this is the cause on Arch).
But the module is needed to get asus_nb_wmi loaded, without i8042
it will not load due missing symbols. This is only due a legacy
device Q500 using some i8042 filters in the asus_nb_wmi module.

asus_nb_wmi is need on that devices to get basic fan control
via throttle_thermal_policy.

This patch adds all dmi board name to the i8042_dmi_nopnp_table.
So their users don't have to boot with kernel parameter i8042.nopnp
and have a better out-of-box experience on Linux with listed devices.

Signed-off-by: Mateusz Schyboll <dragonn@op.pl>
---
  drivers/input/serio/i8042-x86ia64io.h | 49 +++++++++++++++++++++++++++
  1 file changed, 49 insertions(+)

  };

Patch
diff mbox series

diff --git a/drivers/input/serio/i8042-x86ia64io.h 
b/drivers/input/serio/i8042-x86ia64io.h
index 7d7f73702726..55db7e96488d 100644
--- a/drivers/input/serio/i8042-x86ia64io.h
+++ b/drivers/input/serio/i8042-x86ia64io.h
@@ -705,6 +705,55 @@  static const struct dmi_system_id __initconst 
i8042_dmi_nopnp_table[] = {
              DMI_MATCH(DMI_BOARD_VENDOR, "MICRO-STAR INTERNATIONAL CO., 
LTD"),
          },
      },
+    {
+        /* ASUS ROG Zephyreus G14 GA401IH */
+        .matches = {
+            DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+            DMI_MATCH(DMI_PRODUCT_NAME, "GA401IH"),
+        },
+    },
+    {
+        /* ASUS ROG Zephyreus G14 GA401II */
+        .matches = {
+            DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+            DMI_MATCH(DMI_PRODUCT_NAME, "GA401II"),
+        },
+    },
+    {
+        /* ASUS ROG Zephyreus G14 GA401IU */
+        .matches = {
+            DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+            DMI_MATCH(DMI_PRODUCT_NAME, "GA401IU"),
+        },
+    },
+    {
+        /* ASUS ROG Zephyreus G14 GA401IV */
+        .matches = {
+            DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+            DMI_MATCH(DMI_PRODUCT_NAME, "GA401IV"),
+        },
+    },
+    {
+        /* ASUS ROG Zephyreus G15 GA502II */
+        .matches = {
+            DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+            DMI_MATCH(DMI_PRODUCT_NAME, "GA502II"),
+        },
+    },
+    {
+        /* ASUS ROG Zephyreus G15 GA502IU */
+        .matches = {
+            DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+            DMI_MATCH(DMI_PRODUCT_NAME, "GA502IU"),
+        },
+    },
+    {
+        /* ASUS ROG Zephyreus G15 GA502IV */
+        .matches = {
+            DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+            DMI_MATCH(DMI_PRODUCT_NAME, "GA502IV"),
+        },
+    },
      { }