OSDN Git Service

platform/x86: asus-wmi: Allow loading on systems without the Asus Management GUID
authorHans de Goede <hdegoede@redhat.com>
Mon, 21 Jan 2019 13:24:36 +0000 (14:24 +0100)
committerDarren Hart (VMware) <dvhart@infradead.org>
Sat, 23 Feb 2019 17:20:14 +0000 (09:20 -0800)
hid-asus depends on asus-wmi through the asus_wmi_evaluate_method. Before
this commit asus-wmi, and thus hid-asus, could not be loaded on non-Asus
systems. This breaks using Asus bluetooth keyboards such as the Asus
T100CHI keyboard with non Asus systems.

This commit fixes this by allowing asus-wmi to load on systems without the
Asus Management GUID.

This is safe to do since all asus-wmi sub drivers use
asus_wmi_register_driver which also checks for the GUID.

This commit also improves the error messages in asus_wmi_register_driver
to include "ASUS" in their description to make them more clear. This is
important since we now rely on those errors when loaded on systems without
the Asus Management GUID.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Darren Hart (VMware) <dvhart@infradead.org>
drivers/platform/x86/asus-wmi.c

index 37b5de5..ee1fa93 100644 (file)
@@ -2265,12 +2265,12 @@ static int asus_wmi_probe(struct platform_device *pdev)
        int ret;
 
        if (!wmi_has_guid(ASUS_WMI_MGMT_GUID)) {
-               pr_warn("Management GUID not found\n");
+               pr_warn("ASUS Management GUID not found\n");
                return -ENODEV;
        }
 
        if (wdrv->event_guid && !wmi_has_guid(wdrv->event_guid)) {
-               pr_warn("Event GUID not found\n");
+               pr_warn("ASUS Event GUID not found\n");
                return -ENODEV;
        }
 
@@ -2320,11 +2320,6 @@ EXPORT_SYMBOL_GPL(asus_wmi_unregister_driver);
 
 static int __init asus_wmi_init(void)
 {
-       if (!wmi_has_guid(ASUS_WMI_MGMT_GUID)) {
-               pr_info("Asus Management GUID not found\n");
-               return -ENODEV;
-       }
-
        pr_info("ASUS WMI generic driver loaded\n");
        return 0;
 }