platform/x86: dell-sysman: Improve instance detection
authorArmin Wolf <W_Armin@gmx.de>
Sun, 30 Apr 2023 20:31:53 +0000 (22:31 +0200)
committerHans de Goede <hdegoede@redhat.com>
Tue, 9 May 2023 10:07:40 +0000 (12:07 +0200)
The WMI driver core already knows how many WMI object instances
are available, use this information instead of probing the WMI object
manually.

Compile-tested only.

Signed-off-by: Armin Wolf <W_Armin@gmx.de>
Link: https://lore.kernel.org/r/20230430203153.5587-3-W_Armin@gmx.de
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/platform/x86/dell/dell-wmi-sysman/sysman.c

index 0285b47..b68dd11 100644 (file)
@@ -303,16 +303,13 @@ union acpi_object *get_wmiobj_pointer(int instance_id, const char *guid_string)
  */
 int get_instance_count(const char *guid_string)
 {
-       union acpi_object *wmi_obj = NULL;
-       int i = 0;
+       int ret;
 
-       do {
-               kfree(wmi_obj);
-               wmi_obj = get_wmiobj_pointer(i, guid_string);
-               i++;
-       } while (wmi_obj);
+       ret = wmi_instance_count(guid_string);
+       if (ret < 0)
+               return 0;
 
-       return (i-1);
+       return ret;
 }
 
 /**