The WMI core already knows the instance count of a WMI guid.
Use this information instead of querying all possible instances
which is slow and might be unreliable.
Signed-off-by: Armin Wolf <W_Armin@gmx.de>
Link: https://lore.kernel.org/r/20250216193251.866125-5-W_Armin@gmx.de
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  */
 int hp_get_instance_count(const char *guid_string)
 {
-       union acpi_object *wmi_obj = NULL;
-       int i = 0;
+       int ret;
 
-       do {
-               kfree(wmi_obj);
-               wmi_obj = hp_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;
 }
 
 /**