summaryrefslogtreecommitdiff
path: root/drivers/hwmon
diff options
context:
space:
mode:
authorJames Seo <james@equiv.tech>2023-07-22 20:25:13 +0300
committerGuenter Roeck <linux@roeck-us.net>2023-08-21 16:04:30 +0300
commit10a7a334d3a1f2d888a42a3c956813274ffb8a9c (patch)
tree3dc186bd69e32e45cd236a2edcdd92eed55b72e7 /drivers/hwmon
parent4f65c15cf70eb22c074889af60b9d2bcffbb375a (diff)
downloadlinux-10a7a334d3a1f2d888a42a3c956813274ffb8a9c.tar.xz
hwmon: (hp-wmi-sensors) Get WMI instance count from WMI driver core
Commit 2a2b13ae50cf ("platform/x86: wmi: Allow retrieving the number of WMI object instances") means we no longer need to find this ourselves. Signed-off-by: James Seo <james@equiv.tech> Link: https://lore.kernel.org/r/20230722172513.9324-2-james@equiv.tech Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'drivers/hwmon')
-rw-r--r--drivers/hwmon/hp-wmi-sensors.c20
1 files changed, 3 insertions, 17 deletions
diff --git a/drivers/hwmon/hp-wmi-sensors.c b/drivers/hwmon/hp-wmi-sensors.c
index ebe2fb513480..3a99cc5f44b2 100644
--- a/drivers/hwmon/hp-wmi-sensors.c
+++ b/drivers/hwmon/hp-wmi-sensors.c
@@ -435,25 +435,11 @@ static union acpi_object *hp_wmi_get_wobj(const char *guid, u8 instance)
/* hp_wmi_wobj_instance_count - find count of WMI object instances */
static u8 hp_wmi_wobj_instance_count(const char *guid)
{
- u8 hi = HP_WMI_MAX_INSTANCES;
- union acpi_object *wobj;
- u8 lo = 0;
- u8 mid;
-
- while (lo < hi) {
- mid = (lo + hi) / 2;
-
- wobj = hp_wmi_get_wobj(guid, mid);
- if (!wobj) {
- hi = mid;
- continue;
- }
+ int count;
- lo = mid + 1;
- kfree(wobj);
- }
+ count = wmi_instance_count(guid);
- return lo;
+ return clamp(count, 0, (int)HP_WMI_MAX_INSTANCES);
}
static int check_wobj(const union acpi_object *wobj,