[PATCH] i8042: asus: ignore PNP detection on lates ROG G14/15 laptops

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxx>
---
 drivers/input/serio/i8042-x86ia64io.h | 49 +++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

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"),
+        },
+    },
     { }
 };

--
2.28.0




[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux